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

1:求出它是几位数;2:分别打印出每一位数字;3:按逆序打印各位数字,例如原数为321,应输出123如有适合C语言初学者的做法,请提供~~~~... 1:求出它是几位数; 2:分别打印出每一位数字; 3:按逆序打印各位数字,例如原数为321,应输出123

如有适合C语言初学者的做法,请提供~~~~
展开
 我来答
匿名用户
推荐于2017-10-18
展开全部
我猜测你可能不会数组。因此给你编一个略有些麻烦但是很好理解的程序。您见笑了。
#include<stdio.h>

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;
}
追问
cpp(4) : error C2065: 'scanf' : undeclared identifier
cpp(12) : error C2065: 'printf' : undeclared identifier

有错?
追答
不能啊,我调试后复制粘贴的。
zy36235
2014-11-22 · 超过12用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:26.9万
展开全部
没看懂你想问什么,就解释一下你的备注提问的问题吧
1、int a[10]的意思是定义一个长度为10的整型向量,它可以存储10个整型的数值
2、这里int一个sum是为了下面用来计数,所以先将它赋值为0
3、这些东西是for循环里面的控制变量,总共有三个,用分号隔开。第一个就是分好前面的,表示循环起始条件是从i=0开始,两个分号中间的就是循环结束条件,因为不用设置所以就空着了,最后那个是变量的变化,i++的意思是i=i+1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
物人是非distri
2014-11-22 · TA获得超过221个赞
知道答主
回答量:311
采纳率:0%
帮助的人:199万
展开全部
一位数字; 3:按逆序打印各位数字,例如
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-10-18
引用悼词之诵者的回答:
我猜测你可能不会数组。因此给你编一个略有些麻烦但是很好理解的程序。您见笑了。
#include<stdio.h>

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;
}
展开全部
else if(c != 0) 应改为 else if(!(c==0))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式