C++程序显示没有错误,为什么运行显示不出结果?
#include<stdio.h>voidmain(){intprice,y;printf("inputprice:\n");scanf("%d%d",&price,&y...
#include<stdio.h>
void main()
{
int price, y;
printf("input price: \n");
scanf("%d%d",&price, &y);
switch(price/1000){
case 0:{y=200;
printf("%d\n", y);};break;
case 1:{y=200+(price-1000)*10%
printf("%d\n", y);};break;
case 2:{y=300+(price-2000)*15%
printf("%d\n", y);};break;
case 3:{y=300+(price-2000)*15%
printf("%d\n", y);};break;
case 4:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
case 5:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
case 6:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
case 7:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
default:{y=1400+(price-8000)*25%
printf("%d\n", y);};break;
}
} 展开
void main()
{
int price, y;
printf("input price: \n");
scanf("%d%d",&price, &y);
switch(price/1000){
case 0:{y=200;
printf("%d\n", y);};break;
case 1:{y=200+(price-1000)*10%
printf("%d\n", y);};break;
case 2:{y=300+(price-2000)*15%
printf("%d\n", y);};break;
case 3:{y=300+(price-2000)*15%
printf("%d\n", y);};break;
case 4:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
case 5:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
case 6:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
case 7:{y=600+(price-4000)*20%
printf("%d\n", y);};break;
default:{y=1400+(price-8000)*25%
printf("%d\n", y);};break;
}
} 展开
展开全部
语法错误。
case 1:{y=200+(price-1000)*10%
最后的% 你认为是百分之10,但是 C是作为 %运算符的
y=200+(price-1000)*10%
printf("%d\n", y);
这句话就变成了一句给y的赋值语句
y=200+(price-1000)*10% printf("%d\n", y);
修改方式,把% 改成 /100,然后后面加上分号。
case 1:{y=200+(price-1000)*10%
最后的% 你认为是百分之10,但是 C是作为 %运算符的
y=200+(price-1000)*10%
printf("%d\n", y);
这句话就变成了一句给y的赋值语句
y=200+(price-1000)*10% printf("%d\n", y);
修改方式,把% 改成 /100,然后后面加上分号。
追问
input price:1000
2000,按回车之后还是没有结果
追答
你都改正了错误了没?
#include<stdio.h>
void main()
{
int price, y;
printf("input price: \n");
scanf("%d%d",&price, &y);
switch(price/1000){
case 0:{y=200;
printf("%d\n", y);};break;
case 1:{y=200+(price-1000)*0.1;
printf("%d\n", y);};break;
case 2:{y=300+(price-2000)*0.15;
printf("%d\n", y);};break;
case 3:{y=300+(price-2000)*.15;
printf("%d\n", y);};break;
case 4:{y=600+(price-4000)*.2;
printf("%d\n", y);};break;
case 5:{y=600+(price-4000)*.2;
printf("%d\n", y);};break;
case 6:{y=600+(price-4000)*.2;
printf("%d\n", y);};break;
case 7:{y=600+(price-4000)*.2;
printf("%d\n", y);};break;
default:{y=1400+(price-8000)*.25;
printf("%d\n", y);};break;
}
}
你试一试这段代码
输入的时候 用 input price : 1000 空格 2000 回车 试一试
展开全部
scanf("%d%d",&price, &y);
scanf("%d %d",&price, &y); 两个%d中间加个空格,输入时也输入个空格
scanf("%d %d",&price, &y); 两个%d中间加个空格,输入时也输入个空格
追问
加了空格,还是运行不出结果~
输出price,要输出y~
追答
1,大括号右边不要加;,这里加了也没什么问题,因为当做一个空语句
2,y = 200 + (price - 1000) * 10 % printf("%d\n", y);这句看不懂,为什么要%一个函数的返回值
3,在return之前加上 system("pause"); 以便查看结果,并且包含头文件#include
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询