大家帮我看看这段C语言错在哪

本来是计算折扣的,但是无论输入数字是多少,结果都是0,错哪了?
#include <stdio.h>
int main(void)
{
int number=0;
double value=0.0;
double discount=0.0;
value=(1-discount)*number*5;
printf("please enter the number of goods\n");
scanf("%d",&number);
if (number<0)
printf("your enter is error!");
else{
if(number>=50)
{discount=0.15;
printf("your goods value is $%lf",value);}
else if(number>=30)
{discount=0.10;
printf("your goods value is $%lf",value);}
else
{discount=0.0;
printf("your goods value is $%lf",value);}
}
}

第1个回答  2013-08-20
因为你的value这个参数没有参加你定义的那个运算value=(1-discount)*number*5
……所以一直是初始化的值,也就是0
第2个回答  2013-08-20
#include <stdio.h>
int main(void)
{
int number=0;
double value=0.0;
double discount=0.0;
printf("please enter the number of goods\n");

scanf("%d",&number);

if (number<0)
printf("your enter is error!");
else
{
if(number>=50)
{
discount=0.15;
value=(1-discount)*number*5;
printf("your goods value is $%lf",value);}
else if(number>=30)
{
discount=0.10;
value=(1-discount)*number*5;
printf("your goods value is $%lf",value);}
else
{
discount=0.0;
value=(1-discount)*number*5;
printf("your goods value is $%lf",value);}
}
}本回答被提问者采纳
第3个回答  2013-08-20
value=(1-discount)*number*5;
位置不对,可以说相当于一个常量了。
第4个回答  2013-08-20
value=(1-discount)*number*5; 这里的话value一直等于0。

c语言高手帮我看看这段代码哪里不对
错在“\/”,注意要用两个“\\\\”正确的程序如下:include <stdlib.h> void main(){ system("del d:\\\\55.txt");}

帮我看看这个c语言程序怎么错了 #include<stdio.h> void main(void...
void main(void){ int fun(int n); \/\/加上这一句就行了。int a,b;printf("输入一个正整数:");scanf("%d",&a);b=fun(a);if(b==0)printf("%d不是素数\\n",a);else printf("%d是素数\\n",a);} int fun(int n){ register int i;if(n<=1) return 0;else { for(i=2;...

C语言简单程序,帮看看哪错了
输入一个实数那行有个引号用了中文符,应该改为英文符;最后输出-a那段语句后面没有写“;”;定义变量a时为双精度浮点数,而输入时存为了单精度浮点数,存在溢出故障,会导致运行错误,见下图:应该改为如下 include<stdio.h> main(){ double a;printf("请输入一个实数:");scanf("%lf",&a);...

关于C语言的,高手帮我看看这段程序哪错了,为什么用tuberC2.0运行说for...
一看你程序看到这里 define NUM_RATES (sizeof(value)\/sizeof(value[0])我就一头雾水了,VALUE是啥?然后看到下面,哦,是个数组,但要告诉你的是预定义是在编译的时候才会知道你的VALUE是什么东东,现在它不知道你的VALUE是啥(因此value[0]是错的),况且你的VALUE还在下面,不过就算在上面也是不...

C语言大虾们,给我看看这段程序哪错啦!为什么编译时总出现下列错误? expe...
朋友,一看就知道问题呀!C语言中的语句需要用分号结束应该知道吧!?你的条件语句中的语句sign赋值都没有用分号结束,这是错误之一!还有,我想你这个程序实现的功能是不是当输入的数值非0时sign=1;当输入的数值是0时sign=0!?如果是的话,你的条件语句需要用大括号包括起来,因为你所要求的条件...

我是c语言小白,问问大神帮我看看编写的简单程序这哪里出错了?_百度...
#include<stdio.h> 输入代码时忽视输入法隐藏的错误 表面上看都是一样的代码,但是第二行就有错误,是全角和半角的不同,再看:正确编译运行 所以你的代码没有任何问题,但是要注意代码输入的方法。以前回答了很多,有时间可以看看我最近回答c语言问题:网页链接 网页链接 网页链接 网页链接等等。

哪位高手进来看看这个C语言出了什么错?
把像这样的 if (fabs(pi-3.14)<0.005)printf("计算%d项才能得到数值3.14\\n",i);break;改成 if (fabs(pi-3.14)<0.005){ printf("计算%d项才能得到数值3.14\\n",i);break;} 因为if()只执行后面的一条语句,所以要加{}看做一条语句 ...

哪位大神帮我看看这个C语言的编程错在哪,老是出现负数。
三个数,比较大小,逻辑错了\/\/这一个函数,void print(int a,int b,int c){ int max; if(a<b) { max=a; a=b; b=max; } if(a<c) { max=a; a=c; c=max; } if(b<c) { max=b; b=c; c=max; } printf("从...

大佬帮忙看看这个程序错在哪了,刚学C语言?
修改如下:int main(){int price=0; \/\/该处由‘,’改为‘;’printf("请输入金额(元) :") ;\/\/该处缺少分号scanf("%d",&price);int change=100-price;printf("找您%d元。\\n",change);return 0;} 运行结果如下:

C语言开关灯问题,麻烦大神们帮我看看这个程序哪里错了啊,结果不对啊...
两个错误:1、int a[6000]={1};这句。你这只是将a[0]赋值1,其他都是0,数组默认以0填充,应该改为:int a[6000];for(i=0;i<6000;i++)a[i]=1;2、第二层循环里:if(a[j]==0)a[j]=1;if(a[j]==1)a[j]=0;这个语句把所有的灯都关闭了,因为如果关了,就打开;打开后又...

相似回答
大家正在搜