1.求利率问题
某人到银行存1000元,有以下三种方案第一种存活期一年年利率为0.36%,第二种存半年取完之后再存半年,利率为2.25%,第三种存死期一年利率为1.98%,问哪种方式一年后获利最大
#include<stdio.h>
int main()
{
float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3,c;
p1=(1+r1)*p0;
p2=(1+r2)*(1+r2)*p0;
p3=(1+r3)*p0;
if(p1>p2&&p1>p3)
c=p1;
if(p2>p1&&p2>p3)
c=p2;
if(p3>p1&&p3>p2)
c=p3;
printf("%12.3f %12.3f %12.3f %12.3f",p1,p2,p3,c);
return 0;
}
经过比较便可以求出最划算的存钱方式
2.C算法之兔子繁衍问题
问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
经分析可以用递归实现: 因为一对兔子就能生一对兔子,能生产的兔子总数和他们生下来的兔子总数是相等的,当月的兔子总数等于前一个月的总数加上新生兔子数,新生兔子数又等于前三个月的兔子总数
#include<stdio.h>
int f(int month)
{
int sum;
if(month <= 3){
sum = 2;
return sum;
}
else{
sum = f(month-3)+f(month-1);
return sum;
}
}
int main()
{
int f(int month);
int month,rstrab=0;
printf("输入月份:");
scanf("%d",&month);
if(month<1)
printf("输入错误!\n");
else{
rstrab=f(month);
printf("第 %d 月兔子总数为: %d 只\n",month,rstrab);
}
return 0;
}
3.C语言划分学生成绩等级
输入一个百分制成绩,要求输出成绩等级’A’、’B ’、’C ’、’D ’、’E ’,使用 switch 语句。90 分及以上为’A’,80-89 为’B ’,70-79 为’C ’,60-69 为’D ’, 60 分以下为’E ’。要求从键盘输入成绩,然后输出相应等级,用 switch语句
语句实现。要求输出等级和成绩,并且保留 2位小数。
代码如下
#include<stdio.h>
int main()
{
float s;
int y;
scanf("%f",&s);
y=s/10;
switch(y)
{
case 9:
printf("你的等级为A,成绩为%.2f",s);
break;
case 8:
printf("你的等级为B,成绩为%.2f",s);
break;
case 7:
printf("你的等级为C,成绩为%.2f",s);
break;
case 6:
printf("你的等级为D,成绩为%.2f",s);
break;
default:
printf("你的等级为E,成绩为%.2f",s);
}
return 0;
}