C语言中一个题目,请大家帮我看看我错在哪里了。

[复制链接]
查看11 | 回复3 | 2007-12-19 19:29:19 | 显示全部楼层 |阅读模式
修改不大,楼主自己可以看看。注意循环条件以及到底是哪个值在变化,变化后是什么a=m/(int)(pow(10,b-1)); m=m%(int)(pow(10,b-1));加了这条语句。用以是取除去最高位的剩下的#include#includeint main(void) { int a,m; int b=0; printf("enter a number:"); scanf("%i",&a); m=a; printf("您输入的是%d\n",m);while(a!=0) { a=a/10; b++; } printf("数字位数是%d\n",b);while(m!=0) { for(b=b;b>0;--b) { a=m/(int)(pow(10,b-1)); m=m%(int)(pow(10,b-1));switch(a) { case 0:printf("zero ");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 "); default: printf("error"); } } }return 0;}
回复

使用道具 举报

千问 | 2007-12-19 19:29:19 | 显示全部楼层
for(b=b;b==0;--b) { m=m/(pow(10,b-1)); } 循环条件不可能成立 里面的语句不会执行的 建议用字符串的方法做
回复

使用道具 举报

千问 | 2007-12-19 19:29:19 | 显示全部楼层
scanf("%i",&a); 就有错,你定义的a是整型,所以应改为:scanf("%d",&a);
回复

使用道具 举报

千问 | 2007-12-19 19:29:19 | 显示全部楼层
#include#includeint main(void) { int a,m; int b=0; printf("enter a number:"); scanf("%i",&a); m=a; printf("您输入的是%d\n",m); while(a!=0) { a=a/10; b++; } printf("数字位数是%d\n",b); while(m!=0) { for(b=b;b>0;--b) { a=m/(int)(pow(10,b-1)); m=m%(int)(pow(10,b-1)); switch(a) { case 0: printf("zero "); 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 "); }} } printf("\n"); return 0; }跟你改进了一下#include void main(){ int n,i=0,a[100];//a足够大 printf("输入整数:\n"); scanf("%d",&n); while(n) {a[i++]=n%10;n/=10; } while(i) {switch(a[i-1]) { 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 "); default: printf("error"); }i--; }printf("\n");}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行