永发信息网

C语言用编写:五位以内的正整数,求它是几位数,并逆序输出。

答案:3  悬赏:80  手机版
解决时间 2021-11-22 07:37
  • 提问者网友:凉末
  • 2021-11-22 01:50
C语言用编写:五位以内的正整数,求它是几位数,并逆序输出。
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-11-22 03:21
程序没有错误。但是格式又一点问题。在每else if和else语句加上{}。
修改后:
#include
void main()
{
int a,b,c,d,e,x,m;

printf("请输入一个五位以内的正整数:\n");

scanf("%d",&x);

e=x/10000;

d=x%10000/1000;

c=x%1000/100;

b=x%100/10;

a=x%10;

if(x>99999||x<=0)

printf("ERROR!\n");

else if(x>9999){

m=5;

printf("数字为%d位数,逆序为%d%d%d%d%d\n",m,a,b,c,d,e);}

else if(x>999){

m=4;

printf("数字为%d位数,逆序为%d%d%d%d\n",m,a,b,c,d);}

else if(x>99){

m=3;

printf("数字为%d位数,逆序为%d%d%d\n",m,a,b,c);}

else if(x>9){

m=2;

printf("数字为%d位数,逆序为%d%d\n",m,a,b);}

else {

m=1;

printf("数字为%d位数,逆序为%d\n",m,a);}

}
全部回答
  • 1楼网友:迟山
  • 2021-11-22 04:09
上面都分析了,我给你推荐一个简单的:
#include

int main () {
printf ("请输入一个整数:\n");
int n, temp = 0;
scanf ("%d", &n);
while (n) {
temp = temp*10 + n%10;
n = n/10;
}
printf ("逆序:%d\n", temp);
getchar ();
getchar ();
}
  • 2楼网友:从此江山别
  • 2021-11-22 03:31
#include
int main()
{
int n;
printf("请输入整数:\n");
scanf("%d",&n);
int x=0,y=n;
printf("它的逆序数是:\n");
do
{
printf("%d",y%10);
y=y/10;
x++;
}while(y>0);
printf("\n它是%d位数",x);
return 0;
}追问谢谢,不过我初学,还不太懂你的程序,不好意思。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯