1、求出它是几位数
2、分别输出每一位数字
3、按逆序输出各位数字,例如原数为321,应输出123
我是刚学C语言的,只讲到选择结构程序设计,就是用if语句,希望各位的回答不要太深奥哦~~~
#include<stdio.h>
int main()
{
int a,b,c,d,e,p,n;
scanf("%d",&n);
if (n>9999);
p=5;
else if (n>999);
p=4;
else if (n>99);
p=3;
else if (n>9);
p=2;
else p=1;
printf("位数:%d\n",p);
printf("每一位数为:");
a=n/10000;
b=(int)(n-a*10000)/1000;
c=(int)(n-a*10000-b*1000)/100;
d=(int)(n-a*10000-b*1000-c*100)/10;
e=(int)(n-a*10000-b*1000-c*100-d*10);
switch(p);
{
case 5:printf("反向数为:%d%d%d%d%d\n",e,d,c,b,a);
case 4:printf("反向数为:%d%d%d%d\n",e,d,c,b);
case 3:printf("反向数为:%d%d%d\n",e,d,c);
case 2:printf("反向数为:%d%d\n",e,d);
case 1:printf("反向数为:%d\n",e);
break;
}
return 0;
}
这个是我自己写的,请各位高手看看对不对?告诉我错在哪?怎么改?在线等!
不对的原因,主要是if条件语句应该是用“==”而不是“=”,这是判断,不是赋值。其它的错误,scanf_s("%d",&a)改成scanf("%d",&a),printf用错了,printf打印应该是一个占位符对应一个要输出的内容,就是你代码中%d对应一个输出。
修改后的代码:
#include<stdio.h>
int main()
{
int a, b, c, d, e, f, w;
printf("输入一个不多于五位的整数:");
scanf("%d",&a);
//第一问,求出它是几位数
b = 10000 - a;
c = 1000 - a;
d = 100 - a;
e = 10 - a;
f = 0 - a;
while (a < 0 || a > 99999)
printf("输入错误,请重新输入\n");
if (b < 0)
{
printf("a是五位数\n");
w = 5;
}else if (c < 0){
printf("a是四位数\n");
w = 4;
}else if (d < 0){
printf("a是三位数\n");
w = 3;
}else if (e < 0){
printf("a是两位数\n");
w = 2;
}else if (f < 0){
printf("a是个位数\n");
w = 1;
}else
printf("输入错误,请重新输入\n");
//第二问,分别输出每一位数字
if (w == 5)
printf("%d %d %d %d %d\n", a / 10000, a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);
if (w == 4)
printf("%d %d %d %d\n", a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);
if (w == 3)
printf("%d %d %d\n", a / 100 % 10, a / 10 % 10, a % 10);
if (w == 2)
printf("%d %d\n", a / 10 % 10, a % 10);
if (w == 1)
printf("%d\n", a % 10);
//第三问,按逆序输出各位数字
if (w == 5)
printf("%d %d %d %d %d\n", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10, a / 10000);
if (w == 4)
printf("%d %d %d %d\n", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10);
if (w == 3)
printf("%d %d %d\n", a % 10, a / 10 % 10, a / 100 % 10);
if (w == 2)
printf("%d %d\n", a % 10, a / 10 % 10);
if (w == 1)
printf("%d\n", a % 10);
}
修正后的代码执行如下:
用C语言编程:给一个不多于5位的正整数,要求如下:
int main(){ int a, b, c, d, e, f, w;printf("输入一个不多于五位的整数:");scanf("%d",&a);\/\/第一问,求出它是几位数 b = 10000 - a;c = 1000 - a;d = 100 - a;e = 10 - a;f = 0 - a;while (a < 0 || a > 99999)printf("输入错误,请重新输入\\n")...
c语言编程:给一个不多于5位的正整数,要求(1)求出它是几位数(2)分别输 ...
i,a[5];printf ("输入一个不多于5位正整数(0~99999):\\n");scanf("%d",&n);if (n<=0 || n>=100000){printf ("输入的数不合法\\n");}else{while(1){a[count]=n%10;n=n\/10;if(n==0){break;}count++;}printf("位数:%d\\n正序:",...
C语言编程题 给一个不多于五位的正整数,要求: 1.求出它是几位数 2.分...
int main(){ unsigned int x=1, i=0;unsigned char c[5]={0};while(1){ printf("输入正整数x(不超过5位):");scanf("%u",&x);if(x\/100000){ printf("超过范围!\\n");continue;} i=0;do { c[i++]=x%10;}while(x \/= 10);printf("%d位数\\n",i);while(i >0)printf(...
c语言 给一个不多于5位的正整数 用C语言写出
int main(){ int a,b,c,d;int count = 1;printf("请输入一个不多于5位的正整数:");scanf("%d",&a);c = a;printf("逆序:\\n");while(c \/ 10 != 0){ count++;b = c % 10;printf("%d\\n",b);c = c \/ 10;} b = c % 10;printf("%d\\n",b);printf("位数是:%d...
c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数
{ int num; printf("请输入一个不大于5位数的正整数:");scanf("%d",&num);if(num>99999||num<1)printf("您的输入有误!\\n");else { if(num<10)printf("您输入的是1位数!\\n");else if(num<100)printf("您输入的是2位数!\\n");else if(num<1000)printf("您输入的是3位数!\\...
输入一个不多于5位的正整数,要求: (1)求它是几位数;(2)逆序打印出各位...
\/*给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。*\/ include <stdio.h> int main(){ int a[5],num,k,i=0;printf("请输入一个不多于五位的正整数:");scanf("%d",&num);if(num<=0)printf("请输入一个正整数");while(num>0){ k=num%10;a[i]=...
C语言编程:给一个不多于5位的正整数,
不多于五位的正整数,包括一位数到五位数,所有的数值。即[1,99999].以下代码,功能为获取一个不多于五位的正整数并输出。int main(){ int n; srand(time(NULL)); printf("%d", rand()%99999+1);}
C语言: 给一个不多于5为的正整数 要求:1.求出它是几位数 2.分别打印...
printf("这是一个%d位数!\\n",m);} return 0;} 2.分别打印出每一位数字 include <stdio.h> int main(){ int n,m;printf("请输入一个正整数:");scanf("%d",&n);if(n<=0){ printf("输入错误!\\n");} else { m=10000;while(m>0){ if((n\/m)!=0){ printf("%d ",n...
c语言编程序 给一个不多于5位数的正整数,要求: 1:求出它是几位数; 2...
先 定义一个数组 a[5]初值 a[5]的各个数都等于-1;然后 对于你输入的数num;p=num;i=0;\/\/主要程序 while(p>0){ a=[i]=p%10; \/\/对p取余 p=p\/10;i++;} 输出 几位数:printf("%d",i);逆序输出 数字:for(int j =0;j...
C语言编程:给一个不多于5位的正整数,要求编程实现(1)求它是几位数?(2...
void main(){ long int a;int n,b,c,d,e,f;printf("\\n请输入一个整数(0~99999):");scanf("%d",&a);if(a>9999)n=5;else if(a>999)n=4;else if(a>99)n=3;else if(a>9)n=2;else n=1;printf("\\n这个数的位数=%d",n);f=a\/10000;e=a%10000\/1000;d=a%10000%1000...