本人准大一新生,如果提问过于智障请多多包涵.
今天做循环的练习题.我实在是不知道为什么value输入值为0的时候还会输出Commission:$39.00
百思不得其解,按照道理来说根本没有进入循环啊,应该直接进入return 0;语句啊,为什么还会显示Commission:$39.00?样例显示当输入Enter value of trade:0 的时候,是不会出现下一行字符的,直接就结束程序了
下面是我写的程序,不知道哪里应该修改.
#include<stdio.h>
int main()
{
float commission,value;
while(value>0){
printf("Enter value of trade:");
scanf("%f",&value);
if(value<2500.00f)
commission=30.00f+.017f*value;
else if(value<6250.00f)
commission=56.00f+.0066f*value;
else if(value<20000.00f)
commission=76.00f+.0034f*value;
else if(value<50000.00f)
commission=100.00f+.0022f*value;
else if(value<500000.00f)
commission=155.00f+.0011f*value;
else
commission=255.00f+.0009f*value;
if(commission<39.00f)
commission=39.00f;
printf("Commission:$%.2f\n\n",commission);
}
printf("\n");
return 0;
}
今天做循环的练习题.我实在是不知道为什么value输入值为0的时候还会输出Commission:$39.00
百思不得其解,按照道理来说根本没有进入循环啊,应该直接进入return 0;语句啊,为什么还会显示Commission:$39.00?样例显示当输入Enter value of trade:0 的时候,是不会出现下一行字符的,直接就结束程序了
下面是我写的程序,不知道哪里应该修改.
#include<stdio.h>
int main()
{
float commission,value;
while(value>0){
printf("Enter value of trade:");
scanf("%f",&value);
if(value<2500.00f)
commission=30.00f+.017f*value;
else if(value<6250.00f)
commission=56.00f+.0066f*value;
else if(value<20000.00f)
commission=76.00f+.0034f*value;
else if(value<50000.00f)
commission=100.00f+.0022f*value;
else if(value<500000.00f)
commission=155.00f+.0011f*value;
else
commission=255.00f+.0009f*value;
if(commission<39.00f)
commission=39.00f;
printf("Commission:$%.2f\n\n",commission);
}
printf("\n");
return 0;
}