69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<math.h>
void main()
{
int n, k, i, n1;
scanf_s("%d", &n);
n1 = n;
for (i = 1; n1 > 0; ++i)
n1 = n1 / 10;
for (; n>0 && i>=0; --i)
{
k = n / pow(10,(i-1));
switch (k)
{
case 0:printf(" zone"); break;
case 1:printf(" one"); break;
case 2:printf(" two"); break;
case 3:printf(" three"); break;
case 4:printf(" four"); break;
case 5:printf(" five"); break;
case 6:printf(" six"); break;
case 7:printf(" seven"); break;
case 8:printf(" eight"); break;
case 9:printf(" nine"); break;
}
n = n % (10 ^ (i - 1));
}
printf("\n");
}
//这是我的代码,为什么不对啊
# include <stdio.h>
# define N 30 //如果要录入X个字节则 N=X
int Getchar(char A[],int min,int max);//直到用户输入的字符串长度在[min,max]之间时 函数结束 返回字符串A的长度
int Check(char A[]);
int main(){
char A[N+1],B[][6]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int L,i;
while(1)
{
do{
printf("输入数字(1--%d)位:\n",N);
L=Getchar(A,1,N);
}while(Check(A));
i=0;
while(i<L)
printf("%s ",B[A[i++]]);
printf("\n");
}
return 0;
}
int Check(char A[]){
int i=-1;
while(A[++i])
if(A[i]>'9'||A[i]<'0')
return printf("输入有误!请重新");
else A[i]-='0';
return 0;
}
int Getchar(char *A,int min,int max)//长度在[min,max] <闭区间> 之间时 函数结束 返回字符串A的长度
{
int B,C;
do{
A[max]=B=C=0;
while((A[B++]=getchar())!='\n'&&B<max);
if(A[B-1]!='\n')while(getchar()!='\n'&&++C);
else A[--B]=0;
if(C||B&&B<min)
printf("您录入的字符串长度:%d字节\n只录入(%d--%d)个字节!\n",B+C,min,max);
}while(C||B<min);
return B;
}
//输入一个非负整数,依次输出它的每位数对应的的英文单词
#include <stdio.h>
#include <string.h>
#include <locale.h>
char s[20];
char t[20];
int i;
char c;
char *en[10]={"zero","one","two","three","four","five","six","seven","eight","nine"};
int main() {
setlocale(LC_ALL,"chs");
while (1) {
printf("输入一个非负整数:");fflush(stdout);
rewind(stdin);
fgets(s,20,stdin);
if (strlen(s)>10) {
printf("输入太长(>9)!\n");
continue;
}
if (2==sscanf(s,"%d%c",&i,&c)) {
if ('\n'==c && i>=0) {
sprintf(t,"%d\n",i);
if (0==strcmp(s,t)) {
printf("%s",en[t[0]-'0']);
for (i=1;t[i]!='\n';i++) printf(" %s",en[t[i]-'0']);
printf("\n");
break;
}
}
}
if ('\n'==s[strlen(s)-1]) s[strlen(s)-1]=0;
printf("\"%s\" 不是非负整数!\n",s);
}
return 0;
}
//输入一个非负整数:abc
//"abc" 不是非负整数!
//输入一个非负整数:哈
//"哈" 不是非负整数!
//输入一个非负整数:10a
//"10a" 不是非负整数!
//输入一个非负整数:-1
//"-1" 不是非负整数!
//输入一个非负整数:001
//"001" 不是非负整数!
//输入一个非负整数:1234567890
//输入太长(>9)!
//输入一个非负整数:123456789
//one two three four five six seven eight nine
//
echo 01|这个程序.exe