c语言一个程序问题 高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/22 06:14:39
#include<stdio.h>
void main()
{
float money;
int national,count;
printf("Input national or abroad:");
scanf("%d",&national);
printf("Input prodect of count:");
scanf("%d",&count);
if(national)
if(count<=80)
money=count*350.0;
else
money=count*350.0-(count-80)*20.0;
else if(count<=1000)
money=count*900.0;
else
money=count*900.0-(count-1000)*15.0;
printf("total=%f",money);
}

程序是这样的 national代表国内 count代表数量 说的是某个产品 在国内买350 超过80件后 超的部分就每件优惠20块 在国外卖 1000件以内卖900每件 超过1000 超过的部分每件优惠15元
我的程序能编译通过运行的时候 我没输数量就自己出结果了 还是负值 我是在vc环境下做的

程序运行是没有问题的,结果也正确,不过你的national 和 abroad判断似乎不妥:
printf("Input national or abroad:");
scanf("%d",&national); // 输入的值赋给national
printf("Input prodect of count:");
scanf("%d",&count);
if(national) //所以此处一直为真,输入什么数计算都是national的

你应该用0 1分别代表national 和 abroad,在下面判断属于哪个,用字符串和别的判断也行。

我这边运行没什么问题啊~~是不是你多按了什么键啊?我的值也是正的哦~~

如楼上说的,是没有什么问题的,你把你输入的东西写出来看看
******************
输入0 不就计算国外的了
嘿嘿

我这运行还是没有问题啊 你是怎么输入的?