帮忙解决一道C语言题,很简单的!
给出一个不超过5的正整数,要求编一个程序求出它是几位数,然后分别输出每一位数字,按逆顺序输出各位数字,例如原数字是123,应该输出321.谢谢各位了!!我是个初学者能不能...
给出一个不超过5的正整数,要求编一个程序求出它是几位数,然后分别输出每一位数字,按逆顺序输出各位数字,例如原数字是123,应该输出321.
谢谢各位了!!
我是个初学者
能不能用if或switch解决呢? 展开
谢谢各位了!!
我是个初学者
能不能用if或switch解决呢? 展开
2个回答
展开全部
#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]开始输出就是逆序了
}
#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程序
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询