如下,循环嵌套执行了switch,if,但是while没有执行
大一c语言基础,计算外卖价格,超1000g的部分每500+3元,不足按500,ch =4就+5;ch=0不加
#include
int main()
{
int a,b,i,n;
char ch;
scanf("%d %c",&a,&ch);
switch(ch)
{
case 'n':
if(a<=1000)
{
n=4;
}
if(a>1000)
{
a=a-1000;
i=1;
while(a<0)
{
b=a-500;
i=i+1;
}
n=3i+4;
}
break;
case 'y':
if(a<=1000)
{
n=4+5;
}
if(a>1000)
{
a=a-1000;
i=1;
while(a<0)
{
i++;
a=a-500;
i=i+1;
}
n=5+4+3i;
}
break;
}
printf("%d",n);
return 0;
}
input 2000 n
output 12
想过if的算法可行,但是这个我想知道为什么不执行
input 2000 n
output 15
你输入界面截图出来看看
ch输入n和y分别代表什么意思呢?你上面题目也没有提到啊
ch =4就+5;ch=0不加====什么鬼?
你还不如把题目发出来呢,真没看懂。
这个案例应该用不到while循环的,直接采用条件判断就可以达到效果
if (a <= 1000)
{
n = 4;
}
if (a > 1000)
这代码既要求a不超过1000,又要求a大于1000,没这样的a呢,所以进入不了while循环。