帮忙解决一道C语言题,很简单的!

给出一个不超过5的正整数,要求编一个程序求出它是几位数,然后分别输出每一位数字,按逆顺序输出各位数字,例如原数字是123,应该输出321.谢谢各位了!!我是个初学者能不能... 给出一个不超过5的正整数,要求编一个程序求出它是几位数,然后分别输出每一位数字,按逆顺序输出各位数字,例如原数字是123,应该输出321.
谢谢各位了!!
我是个初学者
能不能用if或switch解决呢?
展开
 我来答
cbiuggjj
2008-04-07 · 超过14用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:31万
展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c;//存放输入的值
scanf("%d",&c);
int out[5];//存放每一位的值
int i = 0;
while ( c != 0 )
{
out[i] = c%10;//每一位的余数放入out数组,最先放入的是个位,最后放入的是万位
c/=10;//就是c=c/10;
i++;
printf("第%d位=%d;",i,out[i-1]);//这里的第?位是从个位开始说的
}
//比如1234这个数,1234/10 = 123(因为存放1234的是整型,小数点以后都被舍去,而不是进位)而1234%10=4,因为1234/10 = 123余4,这样就能计算每一位是什么并计算有多少位了。
printf("\n逆序为%d:\n",i);
int j = 0;
while ( j < i )
{

printf("%d\n",out[j]);
j++;
}
//因为第一个while循环把个位存入out[0]十位存入out[1]……所以这里从out[0]开始输出就是逆序了
}

参考资料: C程序

700808112
2008-04-07 · TA获得超过672个赞
知道答主
回答量:149
采纳率:0%
帮助的人:96.8万
展开全部
int main()
{
char str[255];
int i=5;gets(str);
while(i--)printf("%c",str[i]!=0?str[i]:'\b');
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式