C语言求助!!!
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。我写出来的这个程序它能求出几位数,但是最后逆序打印却打印不出来,求指教!{:10_266:}
#include "stdio.h"
#include "conio.h"
int main()
{
int a,b=0,c={0},i;
printf("请输入一个位数不大于五的数字\n");
while((a=getchar())!='\n') //输入数字
{
if(a>='0'&&a<='9')
{
c=a; //将数字存入数组
b++; //计算数字位数
}
}
printf("这是一个%d位数\n",b);
printf("他的数字反向为\n");
for(i=b;i<0;i--) //将获得的数字反向输出
{
printf("%d",c);
}
printf("\n");
return 0;
}
好多小错误,帮你改过来了
#include "stdio.h"
#include "conio.h"
int main()
{
int b=0,c={0},i;
char a;
printf("请输入一个位数不大于五的数字\n");
while((a=getchar())!='\n') //输入数字
{
if(a>='0'&&a<='9')
{
c = a - '0'; //将数字存入数组
b++; //计算数字位数
}
}
printf("这是一个%d位数\n",b);
printf("他的数字反向为\n");
for(i = b - 1;i >= 0;i--) //将获得的数字反向输出
{
printf("%d",c);
}
printf("\n");
return 0;
} qiuyouzhi 发表于 2021-2-7 10:53
好多小错误,帮你改过来了
确实好多错误{:10_266:},多谢大佬!!!{:7_113:}
那个c = a - '0' 是什么意思呢? 初夏沁梨 发表于 2021-2-7 11:00
确实好多错误,多谢大佬!!!
那个c = a - '0' 是什么意思呢?
你可以查下ASCII码表,字符类型的数字和数字本身的ASCII码差了32位(也就是'0'的ASCII码)
所以这行代码就相当于把a转换为整型 qiuyouzhi 发表于 2021-2-7 11:02
你可以查下ASCII码表,字符类型的数字和数字本身的ASCII码差了32位(也就是'0'的ASCII码)
所以这行代码 ...
懂了!{:7_113:}
页:
[1]