|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
long int a,b,c,d,e,q,m;
scanf("%d",&m);
m=a*10*10*10*10+b*10*10*10+c*10*10+d*10+e;
if(a)
printf("位数%d\n",q=4+1);
else if(a==0&&b!=0)
printf("位数%d\n",q=3+1);
else if(a==0&&b==0&&c!=0)
printf("位数%d\n",q=2+1);
else if(a==0&&b==0&&c==0&&d!=0)
printf("位数%d\n",q=1+1);
else if(a==0&&b==0&&c==0&&d==0&&e!=0)
printf("位数%d\n",q=0+1);
printf("每一位数%d,%d,%d,%d,%d\n",a,b,c,d,e);
if(a)
printf("逆%d%d%d%d%d\n",e,d,c,b,a);
else if(a==0&&b)
printf("逆%d%d%d%d\n",e,d,c,b);
else if(a==0&&b==0&&c)
printf("逆%d%d%d\n",e,d,c);
else if(a==0&&b==0&&c==0&&d)
printf("逆%d%d\n",e,d);
return 0;
}
编译只有a,b,c,d,e没有初始化的警告,并不出错,调试输入m显示值错误,求大神解答
- #include <stdio.h>
- int f1(int num) {
- int res = 0;
- do res++;
- while (num /= 10);
- return res;
- }
- void f2(int num) {
- if (!num) return;
- f2(num / 10);
- printf("%d ", num%10);
- }
- void f3(int num) {
- if (!num) return;
- printf("%d ", num%10);
- f3(num / 10);
- }
- int main(void) {
- // 给一个不多于 5位的正整数
- int num = 5284;
-
- // 1. 求出它是几位数
- printf("%d 位数\n", f1(num));
-
- // 2. 分别输出每位数字
- f2(num), printf("\n");
-
- // 3. 按逆输出各位数字
- f3(num);
-
- return 0;
- }
复制代码
|
|