if else语句,条件语句,执行的数序

2024-12-08 15:24:33
推荐回答(4个)
回答1:

每个程序都有问题,我给你修改一下,然后给你注释清楚:
第一题:
#include //调用头文件,必须的
void main() //定义主函数,任何一个c程序,都必须要有他的main函数
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c); //从键盘输入三个数字,分别交给a,b,c
max=a; //先将max的值定为a的值
if(max max=b;
else max=a ; //相当于a跟b比较,如果a大,那么max=a,否则,max=b,相当于max已经变成了a,b中的大的那个数
if(max //同理,a,b中大的那个数再跟c相比,如果c大,那么max变成c,否则不变,此处else可以省略了,因为如果不满足max printf("max=%d",max); //输出max的值,也就是a,b,c中最大的那个
}

第二题:

#include
void main()
{
int num,price=70; //定义整型变量num和price,并给price赋值为70
double cost,total; //定义双精度型变量cost 和total
scanf("%d",&num); //从键盘输入一个数字,赋值给num
if(num>500) cost=0.5; //如果num的值比500大,那么cost的值为0.5
else if(num>400 & num<=500) cost=0.4; //这里你要加上num<=500了,因为循环语句从上往下判断,上一句已经判断了num>500,例如如果num=600,那么cost=0.5成立了,再下来cost=0.4又成立了,后面的都成立,那这个循环就没意义了,所以后面的限制条件要剔除前面的条件,别造成一个数字让所有的if都成立,后面的一样,就不多说
else if(num>300 & num<=400) cost=0.3;
else if(num>200 & num<=300) cost=0.2;
else cost=0;
total=num*price*(1-cost); //total的值等于。。。。
printf("%f",total); //输出total

第三题
相同点就是都是在循环语句里进行值的比较,都使用if循环
不同点是第一题比较之后,将大的值赋给比较的值,然后再继续比较,取最大的值,第二题是用一个确定的量去判断条件,符合某个条件,执行某条语句

第四题
这个题是你完全的语法错误,需要改为elseif,因为if循环看到一个else的时候,就会认为你的循环条件已经结束了,不会再去往下看,而加上else if 后,程序就会继续往下运行,因为还有if在里面,说明还需要判断一些条件,这个很容易理解,比如我说:如果a比b大,那么max=a,我的本意是max=a之后,还要去跟c比较,然后还要去跟d比较,可是我直接来一个max=a后,搞一个else,程序就会认为,除了a>b条件之外,else包含了剩余的所有情形,以为其他嘛,除了你上面If说的,其他都包含了……所以程序肯定是有问题的。

我也好久没搞这个了,但是比你稍微强点,可能我的回答也有点问题,但是应该也有帮助,无聊帮帮忙而已

回答2:

1.有两if循环语句,是顺序实现的。
2.有四个if else else总是与它上面最近的且尚未匹配else的if进行匹配 对当第一个为真就不执行下面的语句了 普通的加减乘除,不需要调用它。
3.我没有发现异常
4,没看懂你想干吗,132468374这个是群号,里面都是c爱好者,我也是山东的不过现在在福建,我在群里叫雄心有事找我!

回答3:

其实这个是根据不同的情况而定的,一般常用的格式:
if(条件语句)
{
//代码
}
else
{
//代码
}
这种格式是如果执行了if就不执行else,如果没有执行就执行else
if()
{
}
else if()
{

}
这种格式是,如果满足前一个if,后面就不执行,不满足就依次执行后面的if语句
if()
{
if()
{

}
else
{

}
}
这种就是属于嵌套了,也是根据你自己的实际情况来定的
还有一些其他的用法,我就不一一列举了

if语句的运用十分的灵活和广泛,也是后面编程之中最最基础的,只要理清思路,还是很容易掌握的
另外,站长团上有产品团购,便宜有保证

回答4:

这些程序建议你单步跟踪一下,实践是最好的老师。