第1个回答 2012-10-12
试试这段编译没出错,有些弄不明白程序的主要功能,没有注释!
#include<stdio.h>
#include<math.h>
int main()
{
int n;
float a,b,p1,p2,p3,ph,p5,r;
scanf("%d ,%1f",&n,&r);
p1=r*pow(1+0.0414,5);
a=r*(1+0.0468*2);
b=r*(1+0.054*3);
p2=a*(1+0.054*3);
p3=b*(1+0.0468*2);
ph=r*pow(1+0.0072,20);
p5=r*(1+0.0585*5);
switch(n)
{
case 1:printf("%f",p1);break;
case 2:printf("%f",p2);break;
case 3:printf("%f",p3);break;
case 4:printf("%f",ph);break;
case 5:printf("%f",p5);break;
default: printf("请输入正确数值");
}
return 0;
}本回答被提问者采纳
第2个回答 2012-10-11
#include<stdio.h>
#include<math.h>
#include<time.h>
int main()
{char n;
double a,b,p1,p2,p3,ph,p5,r;
scanf("%c,%lf",&n,&r);
p1=r*pow(1+0.0414,5);
a=r*(1+0.0468*2);
b=r*(1+0.054*3);
p2=a*(1+0.054*3);
p3=b*(1+0.0468*2);
ph=r*pow(1+0.072,20);
p5=r*(1+0.0585*5);
switch(n)
{case '1':printf("%f",p1);break;
case '2':printf("%f",p2);break;
case '3':printf("%f",p3);break;
case '4':printf("%f",ph);break;
case '5':printf("%f",p5);break;
default:printf("dhoijkfpo");
}
sleep(5000) ;
getch();
}
我用的是wintc ,那个p1=r*pow(1+0.0414,5);里面的数不要用浮点型,要用你定义的double型,还有switch对应的值是字符型,,你要将N定义为字符型,,‘1’ ‘2’ ‘3代表的就是字符,#include<time.h> wintc中引用的是这个头文件!!!你改改看!!!毕竟我在wintc下执行的!!
switch(n)
{case '1':printf("%f",p1);break;
case '2':printf("%f",p2);break;
case '3':printf("%f",p3);break;
case '4':printf("%f",ph);break;
case '5':printf("%f",p5);break;
default:printf("dhoijkfpo");
}
这段你要定义为整形也行,那你必须要改为:
switch(n)
{case 1:printf("%f",p1);break;
case 2:printf("%f",p2);break;
case 3:printf("%f",p3);break;
case 4:printf("%f",ph);break;
case 5:printf("%f",p5);break;
default:printf("dhoijkfpo");
}