c语言修改

来源:百度知道 编辑:UC知道 时间:2024/05/05 06:19:10
#include "Stdio.h"

void main()
{ long int a;int b,c,d,e,f,g;
printf("输入一个小于99999数\n");
scanf("%ld",&a) ;
if (a<=9) b=1;
if (a>9&&a<=99) b=2;
if (a>=100&&a<=999) b=3;
if (a>=1000&&a<=9999) b=4;
if (a>=10000&&a<=99999) b=5;
else printf("请按要求输入数字");
printf ("您输入的数是%d位数\n",b);
if (b=5) c=a/10000,d=(a-c*10000)/1000,e=(a-c*10000-d*1000)/100 ,
f=(a-c*10000-d*1000-e*100)/10,g=a-c*10000-d*1000-e*100-f*10 ;
printf("万位%d 千位 %d 百位 %d 十位 %d 个位 %d\n",c,d,e,f,g) ;

if (b=4) c=a/1000,d=(a-c*1000)/100,e=(a-c*1000-d*100)/10 ,
f=(a-c*1000-d*100-e*10) ;
printf("千位%d 百位 %d 十位 %d 个位 %d\n",c,d,e,f);
if (b=3) c=a/100,d=(a-c*100)/10,e=a-c*100-d*10;
printf("百位%d 十位 %d 个位 %d\n",c,d,e);

if (b=2) c=a/10,d=a-c*10;
p

朋友,我大致看了一下你的程序,没仔细看,但我觉得你的问题应该是:if语句里的判断!你满篇都是if(b=2)这种形式!少了一个等号,应该是if(b==2)!祝你成功哦!

给你改了一下,你的if语句有错误:
#include "Stdio.h"

void main()
{ long int a;int b,c,d,e,f,g;
printf("输入一个小于99999数\n");
scanf("%ld",&a) ;
if (a<=9) b=1;
if (a>9&&a<=99) b=2;
if (a>=100&&a<=999) b=3;
if (a>=1000&&a<=9999) b=4;
if (a>=10000&&a<=99999) b=5;
else printf("请按要求输入数字");
printf ("您输入的数是%d位数\n",b);
if (b==5) {
c=a/10000,d=(a-c*10000)/1000,e=(a-c*10000-d*1000)/100 ,
f=(a-c*10000-d*1000-e*100)/10,g=a-c*10000-d*1000-e*100-f*10 ;
printf("万位%d 千位 %d 百位 %d 十位 %d 个位 %d\n",c,d,e,f,g) ;
}

if (b==4){
c=a/1000,d=(a-c*1000)/100,e=(a-c*1000-d*100)/10 ,
f=(a-c*1000-d*100-e*10) ;
printf("千位%d 百位 %d 十位 %d 个位 %d\n",c,d,e,f);
}
if (b==3) {
c=a/100,d=(a-c*