C语言题目) 给一个不多于5位的正整数,要求:

2024-11-08 12:08:55
推荐回答(4个)
回答1:

我猜测你可能不会数组。因此给你编一个略有些麻烦但是很好理解的程序。您见笑了。
#include

int main()
{
int n, a, b, c, d, e;
scanf("%d", &n);
a = n / 10000;
b = n / 1000 % 10;
c = n / 100 % 10;
d = n / 10 % 10;
e = n % 10;
if(a != 0)
{
printf("5\n");
printf("%d %d %d %d %d\n", a, b, c, d, e);
printf("%d%d%d%d%d\n", e, d, c, b, a);
}
else if(b != 0)
{
printf("4\n");
printf("%d %d %d %d\n", b, c, d, e);
printf("%d%d%d%d\n", e, d, c, b);
}
else if(c != 0)
{
printf("3\n");
printf("%d %d %d\n", c, d, e);
printf("%d%d%d\n", e, d, c);
}
else if(d != 0)
{
printf("2\n");
printf("%d %d\n", d, e);
printf("%d%d\n", e, d);
}
else if(e != 0)
{
printf("1\n");
printf("%d\n", e);
printf("%d\n", e);
}
else
{
printf("0\n0\n0\n");
}
return 0;
}

回答2:

没看懂你想问什么,就解释一下你的备注提问的问题吧
1、int a[10]的意思是定义一个长度为10的整型向量,它可以存储10个整型的数值
2、这里int一个sum是为了下面用来计数,所以先将它赋值为0
3、这些东西是for循环里面的控制变量,总共有三个,用分号隔开。第一个就是分好前面的,表示循环起始条件是从i=0开始,两个分号中间的就是循环结束条件,因为不用设置所以就空着了,最后那个是变量的变化,i++的意思是i=i+1。

回答3:

一位数字; 3:按逆序打印各位数字,例如

回答4:

else if(c != 0) 应改为 else if(!(c==0))