有C语言题不会编...高手快来帮忙一下...谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/21 15:38:07
1、输入一个四位数,要求将它的千位、百位、十位、个位上的数字按由小到大排列,输出一个新数。(如:输入 4287 要求输出为 2478,各位上的数字可以存放到一个一维数组中)
2、输入一行字符,以‘#’号结束,分别统计出其大写字母、小写字母、数字和其它字符的个数。(用while 语句实现,用getchar从键盘接收字符)
谢谢各位。。。。如果有答案就发去我邮箱:doublesky0030@163.com
我很赶用的...谢谢!!!

1 #include <stdio.h>
main()
{
int a,num{3],i,j,k;
printf("please input a num(1000-9999)");
scanf("%d",&a);
for(i=0;i<4;i++)
{
num[i]=a%10;
a=a/10;

}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(num[j]<num[i])
{ k=num[i];
num[i]=num[j];
num[j]=k;
}
for(i=0;i<4i++)
printf("%d",num[i]);
}

2 #include <stdio.h>
main()
{
char a[80];
int i,j,k,l,m,n;
while(getchar(a)!="#") i++;
for (j=0;j<i;j++)
{ if(a[j]>="A"||a[j]<="Z") k++;
else if (a[j]>="a"||a[j]<="z") l++;
else if (a[j]>="0"||a[j]<="9") m++;
else n++;
}
printf("caps letters:%d",k);
printf