分支编程题
发布时间: 2022-06-13 18:18:33
你的题目中大众应该是起步价7元,而不是起步价7元/公里,尼桑也应该是起步价8元,而不是8元/公里
按照题目要求编写的C语言程序如下
#include<stdio.h>
#include<string.h>
intmain()
{
chars[10];
intkm;
floatfee;
printf("请输入乘车的车型及行车公里数 ");
scanf("%s%d",s,&km);
if(strcmp(s,"大众")==0){
if(km<=3){
fee=7;
}else{
fee=7+(km-3)*2.1;
}
printf("应付车资%f",fee);
}elseif(strcmp(s,"尼桑")==0){
if(km<=3){
fee=8;
}else{
fee=8+(km-3)*2.4;
}
printf("应付车资%f",fee);
}elseif(strcmp(s,"本田")==0){
if(km<=3){
fee=9;
}else{
fee=9+(km-3)*2.7;
}
printf("应付车资%f",fee);
}else{
printf("输入车型不正确!");
}
return0;
}
B. C语言,编程题,求高手解释
continue不影响switch,而是影响到外边的for循环。
c的值从"s"到"w",都执行default分支,即输出字符c,再执行continue跳过putchar('*'),开始下次for循环;
当c=“L”时,执行第2分支,遇到continue直接跳过循环中的下面语句,再次开始下次for循环;
当c=“I”时,执行第1分支,k先自增1变为6,遇到break跳出switch结构,执行 putchar('*'),之后下次循环(开始前k++)
注意,k这时值为7,循环条件c=str[7])!='