c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数

作者&投稿:勤迫 (若有异议请与网页底部的电邮联系)
c语言问题 输入5个数,用if语句排序。不用else if,这可以实现吗?请给代码~

一个是嵌套if,一个是嵌套else,其实两个都能用。比如,输入一个数a判断是0还是正数还是负数,如果是0,a=0,如果是正数a=1,如果是负数a=-1,代码1:if(a<=0){if(a==0)a=0;else
a=-1;}else
a=1;
。代码2:if(a<0)a=-1;
else
if(a==0)a=0;
else
a=1;
。看,两种方法都能实现。

先给你个很简洁的答案,再告诉你为什么你的会那样。
答案:
Dim
n
As
Integer
=
CInt(TextBox1.Text)
If
n
\
1
<
0
Then
Label2.Text
=
"您输入的数小于0,请输入大于0的数!"
Else
Label2.Text
=
"您输入的数值为"
&
Len(n)
&
"位数"
End
If
你代码的问题:
“1
<=
n
\
1
<
10”这种写法是错误的,这样写,只要n>1,它只判断前一个条件(1
<=
n
\
1)那么这个不等式就成立了。所以,后面的所有的判断都不再进行。
如果你非要用这种方法,那么请改为“
1
<=
n
\
1
and
n
\
1
<
10

可以参考下面的代码:

#include <stdio.h> 

void main() 

{ int num; printf("请输入一个不大于5位数的正整数:"); 

scanf("%d",&num); 

if(num>99999||num<1) 

printf("您的输入有误!
"); 

else { if(num<10) 

printf("您输入的是1位数!
"); 

else if(num<100) 

printf("您输入的是2位数!
"); 

else if(num<1000) 

printf("您输入的是3位数!
"); 

else if(num<10000) printf("您输入的是4位数!
"); 

else printf("您输入的是5位数!
"); } }

扩展资料:

if语句的一般形式如下:

if(表达式)语句1

[else语句2]

if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子

if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。

参考资料来源:百度百科-if语句



#include<stdio.h>
#include<stdlib.h>
main()
{
int n;
printf("Please input the number:\n");
scanf("%d",&n);
if(n/10==0)
printf("是1位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是2位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是3位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是四位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是五位数");
}
}
}
}
system("pause");
return 0;
}

用if-else太麻烦了。建议用循环来做

#include<stdio.h>
int main()
{
int count;
printf("Please input a number:");
scanf("%ld",&count);
if(count>=10000&&count<=99999)
printf("这是个5位数!");
else if(count>=1000&&count<=9999)
printf("这是个4位数!");
else if(count>=100&&count<=999)
printf("这是个3位数!");
else if(count>=10&&count<=99)
printf("这是个2位数!");
else if(count>=0&&count<=9)
printf("这是个1位数!");
else
printf("不在范围内!");
return 0;
}

#include <stdio.h>
int main()
{
int n;
printf("Please input a number (0<number<100000):");
scanf("%d", &n);
if(n<=0) printf("%d 不是正整数\n", n);
else if(n<10) printf("%d 是1位数\n", n);
else if(n<100) printf("%d 是2位数\n", n);
else if(n<1000) printf("%d 是3位数\n", n);
else if(n<10000) printf("%d 是4位数\n", n);
else if(n<100000) printf("%d 是5位数\n", n);
else printf("%d 多于5位数\n", n);
return 0;
}

x/10循环累加。ok


随便给我一个编程代码带意思谢谢
1、代码解释:以上这段代码是用C语言写出来的代码,他所解决的问题是:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2、C语言介绍:C语言是一门通用计算机编程语言,...

编程实现:从键盘输入一个小写字母,输出该小写字母的后继字符,若输出的...
; if (ch <'a' || ch >'z') { printf("输入的不是小写字母\\n"); } else { if (ch == 'z') { printf("%c的后续字符,不是小写字母\\n", ch); } else { printf("%c的后续字符是:%c\\n", ch, (ch+1)); } } return 0;} ...

学生C语言编程学习必备的一些网站
1、C语言网 C语言网(www.dotcpp.com)不仅提供C语言,还包括C++、java、算法与数据结构等课程在内的各种入门教程、视频录像、编程经验、编译器教程及软件下载、题解博客,源码分享等优质资源,提倡边学边练边分享,同时提供对口的IT工作,是国内领先实用的综合性编程学习网站! 2、C语言中文网 C语言中文网是中国领先的...

一个c语言小问题,编写程序?
按照题目要求编写的C语言程序如下(见图)

谁可以给我一个复杂点的C语言例子,要无错的,我刚学编程,很好奇
谁可以给我一个复杂点的C语言例子,要无错的,我刚学编程,很好奇  我来答 2个回答 #热议# 已婚女性就应该承担家里大部分家务吗?走过灯火澜栅处 2011-08-27 · TA获得超过729个赞 知道小有建树答主 回答量:341 采纳率:100% 帮助的人:89.8万 我也去答题访问个人页 关注 展开全部 这是我...

零基础新手如何选择编程语言
樂如何选择编程语言对于不同的编程语言,也对应着不同的软件功能和应用。在选择编程语言时,需要根据自己的需求和兴趣来选择。‍选择专业培训如果是真的想学习软件编程技能,那还不如在一开始学习的时候就报名参加培训,让专业的老师来带领你学习。‍专业老师的教学有个师傅手把手的教学,还是可以让你...

C语言编程题:(不用C++,用C!)分别找出一个英文句子里出现频率最高和最...
a' || ch>'z')i++;sscanf(s+i,"%[^,. \\n]%n",w,&n);i+=n;for(j=0;j<k;j++)if(!stricmp(w,w_num[j].w)){w_num[j].x++;break;}if(j>=k){strcpy(w_num[k].w,w);w_num[k++].x=1;}}for(n=j=w_num[i=0].x;i<k;i++){if(n<w_num[i].x)n=w...

求C语言编程 从键盘输入一个班(全班最多不超过30人)学生某门课的成绩...
}while(s[n-1].score>=0);n--;for(i=0;i<n;i++){ total+=s[i].score;if(s[i].score<60)n1++;else if(s[i].score<70)n2++;else if(s[i].score<80)n3++;else if(s[i].score<90)n4++;else n5++;} printf("不及格人数为:%d,名单如下:\\n",n1);for(i=0;i<n;...

c语言编程,请输入一个华氏度。
程序如下:include <stdio.h> int main(){ int f;float c;printf("请输入一个华氏温度\\n");scanf_s("%d", &f);c = (float)(f - 32) * 5 \/ 9;printf("它的摄氏温度为:%.2f", c);} 如图:调试通过:

关于用两种语言编写一个程序的问题?
用两种语言编写一个程序是可行的,但是你需要找一种主语言,而另外一种语言只编写接口和对应的框架程序封装,用主语言来调用它执行就可以了。

师河区13113085606: C语言编程:给一个不多于5位的正整数, -
木鸦脑得: 不多于五位的正整数,包括一位数到五位数,所有的数值. 即[1,99999]. 以下代码,功能为获取一个不多于五位的正整数并输出. int main() {int n;srand(time(NULL));printf("%d", rand()%99999+1); }

师河区13113085606: 用c语言来写给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123. -
木鸦脑得:[答案] 说实话,其实我很不想写,分太少 #include long fun(long s) { int sum = 0; long fin = 0,flag = 0; int a[20] = ; for(int i =1; (s/i) != 0; i = i * 10) ++sum; int temp = i; for(int j = 0; j < sum; j++) { temp = temp / 10; a[j] = s / temp; s = s % temp; } for(int k = 0; ...

师河区13113085606: 给1个不多于5位的正整数要求1求出它是几位数2分别打印出每一位数字3按逆序打印出各位数字用C语言编程 -
木鸦脑得:[答案] #include "stdio.h"void main(){unsigned long int a=0;//用int可能会溢出//int flag=0;int b[5];//以下部分用于判断数据的位数//while(flag==0){printf("Input the number\n");scanf("%ld",&a);if(a>0&&a=10&&a=100...

师河区13113085606: c语言问题,求大神解答!给一个不多于5位的正整数.①求出它是几位数.②分别输出每一位数字.③按逆序输出各位数字.例如原数位465,应输出5 6 4.... -
木鸦脑得:[答案] #include#include#includeint main(){int num,tmp,i,j;int n[5]={0};//用于存储num分解后的每位上的数字,由于num不超过5位,所以数组有5个单元就可以了 int *sq_ls_num;printf("请输入一个不多于5位的正整数: ");sc...

师河区13113085606: c语言编程:给一个不多于5位的正整数,要求(1)求出它是几位数(2)分别输出每一位数字(3)按逆序 -
木鸦脑得: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23#include<stdio.h> voidmain() {intn,i=0;intj=0;while(1){printf("请输入一个小于5位数的整数:");scanf("%d",&n);if(n>=10000)printf("输入错误,请重新输入:");elsebreak;}while(n){i=i*10+n%10;n=n/10;j++;}printf("输入数字为%d位数\n",j);printf("逆序后:%d\n",i); }

师河区13113085606: 用C语言编程:给一个不多于5位的正整数,要求如下: -
木鸦脑得: #includeint 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); a=n/10000; b=(int)(n-a*10000)/1000; c=(int)(n-a*10000-b*1000)/100; d=(int)(n-a...

师河区13113085606: 给一个不多于5位的正整数 用C语言写出 -
木鸦脑得: 应该没有关系吧,如果是三位数,就不会输出b了.我也是初学者.switch语句中每种case都要加花括号吧 case 1:{printf("%d,%d,%d,%d,%d",a,b,c,d,e); printf("\n反序数字为:"); printf("%d,%d,%d,%d,%d",e,d,c,b,a); break;}

师河区13113085606: C语言编程题 给一个不多于五位的正整数,要求: 1.求出它是几位数 2.分别打印出每一 -
木鸦脑得: #include<stdio.H> 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...

师河区13113085606: C编程:给一个不多于5位的正整数,要求: (1)求出它是几位数; (2)分别打印出每一位数字; (3 -
木鸦脑得: #include <stdio.h> void main() { int digits=0; //位数 int i=0; long int temp; long int number; //输入的数据 int a[5]; //存储各位 printf("Input a postive interger!\n"); scanf("%ld",&number); if((number<0)||(number>=100000)) { printf("Input Error!...

师河区13113085606: C语言编程:给一个不多于5位的正整数,要求编程实现(1)求它是几位数?(2)逆序输出各位数字? -
木鸦脑得: x>9999 判断是5位的 x>999 判断是4位的 x>99 判断是3位的 x>9 判断是2位的 x<10 判断是2位的 用if .... elseif ....至于逆序,你可以以整除的方式

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网