触手们,我又来送分了.老谭C语言第四版,第四章习题10.求改
第一个要求很简单,用if语句轻松搞定.第二要求我想了半天,写出的程序通不过编译.求改#include<stdio.h>intmain(){doublei,x,z;prin...
第一个要求很简单,用if语句轻松搞定.
第二要求我想了半天,写出的程序通不过编译.求改
#include <stdio.h>
int main()
{
double i,x,z;
printf("利润:");
scanf("%lf", &i);
if(i%100000==0) i=i-1;
z=i/100000;
i+=i;
switch(z)
{
case 0 : x=i*0.1;break;
case 1 : x=100000*0.1+(i-100000)*0.075;break;
case 2 : x=100000*0.1+100000*0.075+(i-200000)*0.05;break;
case 3 : x=100000*0.1+100000*0.075+(i-200000)*0.05;break;
case 4 : x=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03;break;
case 5 : x=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03;break;
case 6 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 7 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 8 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 9 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 10 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+400000*0.015+(i-1000000)*0.01;break;
}
printf("\n*** *** *** ***\n");
printf("提成:%lf", &x);
system("puase");
return 0;
}
顺便帮我看下这样写有没有问题...... 展开
第二要求我想了半天,写出的程序通不过编译.求改
#include <stdio.h>
int main()
{
double i,x,z;
printf("利润:");
scanf("%lf", &i);
if(i%100000==0) i=i-1;
z=i/100000;
i+=i;
switch(z)
{
case 0 : x=i*0.1;break;
case 1 : x=100000*0.1+(i-100000)*0.075;break;
case 2 : x=100000*0.1+100000*0.075+(i-200000)*0.05;break;
case 3 : x=100000*0.1+100000*0.075+(i-200000)*0.05;break;
case 4 : x=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03;break;
case 5 : x=100000*0.1+100000*0.075+200000*0.05+(i-400000)*0.03;break;
case 6 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 7 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 8 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 9 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+(i-600000)*0.015;break;
case 10 : x=100000*0.1+100000*0.075+200000*0.05+200000*0.3+400000*0.015+(i-1000000)*0.01;break;
}
printf("\n*** *** *** ***\n");
printf("提成:%lf", &x);
system("puase");
return 0;
}
顺便帮我看下这样写有没有问题...... 展开
1个回答
展开全部
switch语句只能针对整型数据,你的x是double类型,因此不能编译,你只需要调整一下,把x变成整型,并和题目要求对应上就可以了。思路是对的,没有问题
更多追问追答
追问
后面的错误更多了 还有if(i%100000==0) i=i-1; 里面的百分号也报错
追答
模运算,也就是百分号也是一个整数运算,你可以把定义修改成这样:
int i, z;
double x;
再就是这一句有问题
printf("提成:%lf", &x);
&x修改为x
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询