这C语言程序题怎么做?

1.给一个不多于5位正整数,要求1)求出它是几位数;2)分别打印出每一位数字;3)按逆序打印出各位数字,例如原数为1234,应输出4321。
2.输入一行字符,分别统计其中英文字母,空格,数字和其他字符的个数.
3.编程打印所有的水仙花印数.所谓水仙花数是指一个3位数,其各位数字的正方和等于该数本身.
就这3题...
问题1:
#include <stdio.h>
#include <岩配唤math.h>
void main()
{
int n,temp,i,count = 1;
printf("请输入一个数:");
scanf("%d",&n);
temp = n;
while (temp/=10)//统计有多少位
count++;
printf("这个数有%d位\n",count);
printf("顺序为:");
temp = n;
for (i = count;i>0;i--)
{
printf("%d\t",temp/(int)pow(10,i-1));
temp -= (temp/(int)pow(10,i-1)*(int)pow(10,i-1));
}
printf("\卖纤n倒序为:");
temp = n;
for (i = count;i>0;i--)
{
printf("%d\t",temp%10);
temp /= 10;
}
printf("\n");
}

问题2:
#include <stdio.h>
void main()
{
int letter = 0,number = 0,blank = 0,other = 0,count = 0;
char *s = new char[100];
printf("请输入字符串:");
scanf("%c",s);
while (*(s+count++)!='\n')//因为字符串中需要统计空格,即允许有空格,所以需要这样scanf
{
scanf("%c"粗凯,s+count);
}
for (int i = 0;i<count-1;i++)//逐个字符判断
{
if((*(s+i)>='a'&&*(s+i)<='z')||(*(s+i)>='A'&&*(s+i)<='Z'))letter++;
else if((*(s+i)>='0'&&*(s+i)<='9'))number++;
else if((int)*(s+i) == 32)blank++;
else other++;
}
printf("字母:%d\n数字:%d\n空格:%d\n其他:%d\n",letter,number,blank,other);
}

问题3:
#include <stdio.h>
void main()
{
int a,b,c;
for(a = 1;a<=9;a++)//百位数
for(b = 0;b<=9;b++)//十位数
for(c = 0;c<=9;c++)//个位数
if((a*100+b*10+c) == (a*a*a+b*b*b+c*c*c))//判断
printf("%d\t",a*100+b*10+c);
}
1.1,n-10000>=0;n-1000>=0;n-100>=0...可以求几位数,1.2求出位数,再根据位数m,n/1+m个0求int;n/1+(m-1)个0..1.3知道前面数字..这个就简单
2,string 用char *p进行销梁信每个的ascII码比...可以得...
3,先int n, 当用户输入n大小..可以求出在n范围内的..水仙数..知道n..根据1可以得出各位上的数字..再根据数字可以求出...和是否和本身相等,是的话输出该数...其渣山为亏轮水仙数
是国家通过审核将字母转换数字和其他字符的个数
进行一系列的跟近而的来的C语言
一:#include<stdio.h>
void main()
{
int a,b,c,d,e;
long x;
scanf("%ld",&x);
a=x/10000;
b=x%10000/1000;
c=x%1000/100;
d=x%100/10;
e=x%10;
if(a!=0) printf("5 wei shu,%d%d%d%d%d\则陵n",e,d,c,b,a);
else if(b!=0) printf("4 wei shu,%d%d%d%d\n"孙伏戚,e,d,c,b);
else if(c!=0) printf("3 wei shu,%d%d%d\n",e,d,c);
else if(d!=0) printf("2 wei shu,%d%d\n",e,d);
else if(e!=0) printf("1 wei shu,%d\n",e);
}

二:
#include <stdio.h>
void main()
{
char c;
int letters=0,space=0,digit=0,others=0;
while((c=getchar())!='\n'厅搭)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("letters=%d,space=%d,digit=%d,others=%d\n",letters,space,digit,others);
}
三:
#include <stdio.h>
main()
{
int a,b,c,x;
x=100;
while(x<=999)
{
a=x/100;
b=x%100/10;
c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
printf("%d ",x);
x++;
}
}