----------------解决方案--------------------------------------------------------
我把九楼仁兄的程序加了点,不知对不对,请帮看看,我也初学
#include "stdio.h"
int main(void)
{
long int n=0,t=0;
int i=0;
printf("input a integer number no bigger than 99999:\n");
while(1)
{
scanf("%ld",&n);
if(n<99999)
{
break;
}
printf("the number you input is too big,please imput again!\n");
}
t=n;
for(i=0;n!=0;i++)
n/=10;
printf("位数是\n\n\n%d\n\n",i);
/*求位数结束*/
n=t;
for(i=0;n!=0;i++)/*p这是逆序的*/
{
printf("%d ",n%10);
n/=10;
}
/*自己用数组搞个顺序的吧。*/
}
----------------解决方案--------------------------------------------------------
第一题回答
#define M 100
#include <stdio.h>
main()
{
long n=0,b[M],a;
printf("please input a number:\n");
scanf("%ld",&a);
do
{
n=n+1; /* n代表是几位数*/
printf("b[%ld]=%d",n,a%10); /*从最后一位输出各位数字*/
a=a/10;
}
while(a!=0);
printf("this number has %ld numbers",n);
}
反向已经输出了,正向的用说了.
----------------解决方案--------------------------------------------------------