c语言题目:给出一个不多于5位的正整数,要求:1、求出它是几位数2、分别输出每一位数字

2024-11-08 09:46:26
推荐回答(3个)
回答(1):

#include
int main()
{
unsigned int x=1, i=0;
unsigned char c[5]={0};
while(1)
{
printf("输入正整数x(不超过5位):");
scanf("%u",&x);
if(x/100000)
{
printf("超过范围!\n");
continue;
}
i=0;
do
{
c[i++]=x%10;
}while(x /= 10);
printf("%d位数\n",i);
while(i >0)
printf("%d ",c[--i]);
putchar('\n');
}
return 0;
}

回答(2):

//假设x为参数
int count=0;//几位数
do
{
int d=x%10;//d就为最后一位的值
//此处输出d
count++;
x=x/10;
}while(x>0);
//此处输出count

回答(3):

#include
#include

int main(void)
{
int i=123;
char s[5];
sprintf(s,"%d",i);
printf("i is '%d' digit-num\n",strlen(s));
int j;
for(j = strlen(s)-1;j>=0; j--)
printf("%c",s[j]);
printf("\n");

return 0;
}
.........................................仅参考