1.
月利率1.875%,每年取1000,5年刚好取完
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
double sum = 0;
for(i = 0;i<5;i++)
{
sum = sum+1000;
sum = sum/(1+12*0.01875);
}
printf("%.2f",sum);
return 0;
}
int i;
double sum = 0;
for(i = 0;i<5;i++)
{
sum = sum+1000;
sum = sum/(1+12*0.01875);
}
printf("%.2f",sum);
return 0;
}
循环体内不能用sum = (sum+1000);
sum = sum-12*sum*0.01875; sum是涨息后的,用在此不合适。
2.
假设今年的工业产值为100万元,产值增长率从键盘输入,请用c编程计算工业产值过多少年后可实现翻一番
#include<stdio.h>
int main()
{
int count = 0;
float x,sum = 100;
scanf("%f",&x);
while(sum<200){
sum = sum*(1+x);
count++;
}
printf("%d年后翻一番",count);
return 0;
}
int main()
{
int count = 0;
float x,sum = 100;
scanf("%f",&x);
while(sum<200){
sum = sum*(1+x);
count++;
}
printf("%d年后翻一番",count);
return 0;
}
数据类型应严格对应, float->%f, double->%lf。
sum不能定义为int型,否则程序将陷入死循环
#include<stdio.h>
int main()
{
int count = 0;
double x,sum = 100;
scanf("%f",&x);
while(sum<200){
sum = sum*(1+x);
count++;
}
printf("%d年后翻一番",count);
return 0;
}
int main()
{
int count = 0;
double x,sum = 100;
scanf("%f",&x);
while(sum<200){
sum = sum*(1+x);
count++;
}
printf("%d年后翻一番",count);
return 0;
}
类型不对应,运算结果不对。
3.
鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。凡百钱买鸡百只,问鸡翁、母、鶵各几何?
#include <stdio.h>
int main(int argc, char *argv[])
{
int g,m;
for(g = 0;g<=100/5;g++)
{
for(m = 0;m<100/3;m++)
{
if(5*g+3*m+(100-g-m)/ 3.0==100) //此处若写3运行结果错误
printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n",g,m,100-g-m);
}
}
return 0;
}
int g,m;
for(g = 0;g<=100/5;g++)
{
for(m = 0;m<100/3;m++)
{
if(5*g+3*m+(100-g-m)/ 3.0==100) //此处若写3运行结果错误
printf("公鸡有%d只,母鸡有%d只,小鸡有%d只\n",g,m,100-g-m);
}
}
return 0;
}