c语言 很多if嵌套和if后面跟着else嵌套
#include<stdio.h>main(){floata;scanf("%f",&a);while(a>99999||a<0){printf("重新输入\n");sc...
#include<stdio.h>
main()
{
float a;
scanf("%f",&a);
while (a > 99999 || a < 0)
{
printf("重新输入\n");
scanf("%f",&a);
}
if (a>9999)
printf("这是个五位数");
else
if (a>999)
printf("这是个四位数\n");
else
if (a>99)
printf("三位数");
else
if (a>9)
printf("二位数");
else
if (a>0)
printf("一位数");
}
这段代码如果不用else,只用很多if,那么如果输入10000,输出结果就是“这是个五位数 这是个四位数 三位数 二位数 一位数”,就是满足了所有的if条件。
但是加上else了,就只会选择一个if条件,输入10000就只有“这是个五位数”了。
原来else还可以把满足所有条件的东西变成只满足一个条件啊。
我的意思是10000满足了所有的条件,加上else就可以单个条件输出了。
我的理解对吧?请指导指导我。 展开
main()
{
float a;
scanf("%f",&a);
while (a > 99999 || a < 0)
{
printf("重新输入\n");
scanf("%f",&a);
}
if (a>9999)
printf("这是个五位数");
else
if (a>999)
printf("这是个四位数\n");
else
if (a>99)
printf("三位数");
else
if (a>9)
printf("二位数");
else
if (a>0)
printf("一位数");
}
这段代码如果不用else,只用很多if,那么如果输入10000,输出结果就是“这是个五位数 这是个四位数 三位数 二位数 一位数”,就是满足了所有的if条件。
但是加上else了,就只会选择一个if条件,输入10000就只有“这是个五位数”了。
原来else还可以把满足所有条件的东西变成只满足一个条件啊。
我的意思是10000满足了所有的条件,加上else就可以单个条件输出了。
我的理解对吧?请指导指导我。 展开
展开全部
如果都是if每个if都会做判断,因为10000都满足这五个if的条件所有输出结果“这是个五位数 这是个四位数 三位数 二位数 一位数”;
但是用if else时,如果第一个if满足条件那么下面的if else就不会做判断了。如果你把判断a>0这个语句写在前面的话输出的就是“一位数”而不是下面的语句了。
#include <stdio.h>
int main(int argc, const char * argv[]) {
float a;
scanf("%f",&a);
while (a > 99999 || a < 0)
{
printf("重新输入\n");
scanf("%f",&a);
}
if (a>0)
printf("一位数");
else if (a>9999)
printf("这是个五位数");
else if (a>999)
printf("这是个四位数\n");
else if (a>99)
printf("三位数");
else if (a>9)
printf("二位数");
}
打印出得结果;是"一位数"
但是用if else时,如果第一个if满足条件那么下面的if else就不会做判断了。如果你把判断a>0这个语句写在前面的话输出的就是“一位数”而不是下面的语句了。
#include <stdio.h>
int main(int argc, const char * argv[]) {
float a;
scanf("%f",&a);
while (a > 99999 || a < 0)
{
printf("重新输入\n");
scanf("%f",&a);
}
if (a>0)
printf("一位数");
else if (a>9999)
printf("这是个五位数");
else if (a>999)
printf("这是个四位数\n");
else if (a>99)
printf("三位数");
else if (a>9)
printf("二位数");
}
打印出得结果;是"一位数"
2015-09-16
展开全部
关键看懂以下两个结构:
1、
if(A)
B;
C;
判断条件A,如果符合则执行B,然后if语句结束,再执行C;如果条件A不符合,则跳过if语句执行C
2、
if(A)
B;
else
D;
C;
判断条件A,如果符合则执行B,否则执行D,然后if语句结束,再执行C
追问
也谢谢你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询