C语言,高手帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:21:26
#include <stdio.h>
void main()
{ int a,b=1,i,s,n,t,j=1,I;
scanf("%d",&a);
if(a>=1&&a<=99999)printf("\n");
else printf("error");
for(I=1;I<=5;I++)
{s=a/b;
b=b*10;
switch(s)
{case 1:case 2:case 3:case 4:case 5:
case 6:case 7:case 8:case 9: printf("%d\n",I);i=I;
default:break;
}
}
for(t=1;t<i;t++)
j=j*10;
for(t=1;t<i;t++)
{
n=a/j;
printf("%d,",n);
a=a-n*j;
j=j/10;
}

for(t=1;t<=i;t++)
{n=a/j;
switch(t)
{case 1:printf(" %d",n);break;
case 2:printf("\b\b\b%d,",n);break;
case 3:printf("\b\b\b\b%d,",n);break;
case 4:printf(&

#include "stdio.h"
#include "math.h"
void main() {
long int a,b,i,n=0;
int d[5] ;
printf("Input the number:\n");
scanf("%ld",&a);
for(i=0;i<6;i++){
if(a/pow(10,i)>=1){
n++;
}
}
printf("n=%d\n",n);
for(i=n-1;i>=0;i--){
b=a/pow(10,i);
a=a-b*pow(10,i);
d[i]=b;
printf("%d ",b);
}
printf("\n");
for(i=0;i<n;i++)
printf("%d ",d[i]);
getch();
}

for(I=1;I<=5;I++)
{s=a/b;
b=b*10;
switch(s)
这一段有问题,你这里得到的s是一个数字吗?应该是一个多位数!
你很喜欢用switch,其实这道题目根本没有必要用。
我写了一个,你参考下!

/*
输入一个不小于5位数的正数,输出为几位,并将各个位上的数输出,然后再逆向输出各个位上的数字
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
int n, m, s;

scanf("%d", &n);
while (n < 1 || n > 99999)//直到输入一个