|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- int main()
- {
- int a,b=0,c=0,d=0,e=0,f=0,i,p;
- printf("输一个不多于五位的正整数:");
- scanf("%d",&p);
- a=p;
- while(a!=0)
- {
- i=i*10+p%10;
- p=p/10;
- }
-
-
-
- if(a>9999 && a<99999)
- {
- printf("是个五位数\n");
- b=a%10;
- a/=10;
- c=a%10;
- a/=10;
- d=a%10;
- a/=10;
- e=a%10;
- a/=10;
- f=a%10;
- printf("由%d %d %d %d %d组成",f,e,d,c,b);
- }
- else if(a>999)
- {
- printf("是个四位数\n");
- b=a%10;
- a/=10;
- c=a%10;
- a/=10;
- d=a%10;
- a/=10;
- e=a%10;
- printf("由%d %d %d %d组成",e,d,c,b);
-
- }
- else if(a>99)
- {
- printf("是个三位数\n");
- b=a%10;
- a/=10;
- c=a%10;
- a/=10;
- d=a%10;
- printf("由%d %d %d组成",d,c,b);
-
- }
- else if(a>9)
- {
- printf("是个两位数\n");
- b=a%10;
- a/=10;
- c=a%10;
- printf("由%d %d组成",c,b);
- }
-
- else if(a>0 && a<=9)
- {
- printf("是个一位数\n");
- printf("由%d组成",a);
- }
-
- printf("这个数的倒序是%d",i);
-
- return 0;
- }
复制代码 小白再一次问很傻的问题....问一下各位为啥这个代码可以运行但是打完数字后就没有反应啊 求解答!谢谢!
1、这样的代码不可取
2、打完字没反应明显是 死在while循环处
参考代码:
- #include <stdio.h>
- int main()
- {
- int num, n, a, tmp;
- int nArr[10];
- printf("输一个正整数:");
- scanf("%d", &num);
- // 获取每位数存入数组nArr, 并统计位数 n
- tmp = num;
- n = 0;
- while (tmp != 0)
- {
- a = tmp % 10;
- nArr[n] = a;
- tmp /= 10;
- n++;
- }
- a = n; // 把变量a改为计数用
- printf("是个%d位数\n", n);
- printf("由");
- while(a)
- {
- printf("%d " , nArr[a-1]);
- a--;
- }
- printf("组成\n");
- printf("\n");
-
- printf("这个数的倒序是 ");
- for(a=0; a<n; a++) // 再次把a改为另一计数用
- {
- printf("%d" , nArr[a]);
- }
- printf("\n");
- return 0;
- }
复制代码
|
|