侏儒角鲨宠物:C语言编程---解题---行的来做出算法---给分的

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 16:48:40
给出一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。

其实可以更简单的,你不要拘泥于非要用整型变量来存储数据,用字符串来存储可以使这题更加简单。
#include <string.h>
#include <stdio.h>
main()
{
int i = 0;
char a[6];
char c;
while(((c=getchar())>='0')&&(c<='9'))
//输入数字,若输入非数字,则视为输入结束
{
a[i++] = c;
}
a[i] = '\0';
printf("It has %d Digits\n", strlen(a));
printf("%s\n",a);
while(i>0)
{
printf("%c",a[--i]);
}
printf("\n");
return 0;
}

#include <stdio.h>
void main()
{
long x,a[5],i,k;
printf("请输入x=");
scanf("%ld",&x);
if(x>99999||x<1)
printf("error!!");
else
{
a[4]=x%10;
a[3]=x/10%10;
a[2]=x/100%10;
a[1]=x/1000%10;
a[0]=x/10000;
for(i=1;i<5;i++)
{
if(a[i]!=0)
{ printf("它是一个%ld位数!!\n",5-i);
break;
}
}
for (k=i;k<5;k++)
{
printf("第%ld位数是%ld\n",5-k,a[k]);
}
for(k=4;k>=i;k--)
printf("它的逆序是%ld",a[k]);
printf("\n");
}
}