浪鲸浴缸图片:关于C的五位数的分别输出和排序的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/06 09:07:03
输入不大于5位整数
1。判断其为数
2。将各位的数字分别输出
3。将各位数字颠倒输出

char text[6];
scanf("%s", text);

int i;
int j = strlen(text);
for (i=0;i<j;i++) {
if (text[i] < '0' || text[i] > '9') {
break;
}
}
if (i == j) {/*是数 */
for (i=0;i<j;i++) {
printf("%c", text[i]);/*顺序输出*/
}
for (i=j - 1;i>=0;i--) {
printf("%c", text[i]);/*倒序输出*/
}
}
else {/*不是数*/
}

1判断为数用if(其>0&&其〈=99999)行了
2分别输出用递归或栈都可以做
3颠倒输出就把他除10取余输出了行了

在VC6.0上编译通过
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
int i,j,a[6],InNum;
printf("Please Enter a Number <100000:");
scanf("%d",&InNum);
for(i=0;i<6;i++)
a[i]=0;
for(i=0;i<5;i++)
if((int)(InNum/pow(10,i)))
j=i+1;
for(i=j-1;i>=0;i--)
a[i]=(int)((InNum-(int)(InNum%(int)pow(10,i))-(int)(InNum/pow(10,i+1))*pow(10,i+1) )/(int)pow(10,i));
printf("The number's digit is %d \n",j);
printf("The number of every digit as below: \n");
for(i=j-1;i>=0;i--)
printf("%d \t",a[i]);
printf("\n") ;
printf("The reverse order:\n");
for(i=0;i<j;i++)
printf("%d \t",a[i]);
}