循环2作业
第一题
#include <stdio.h>int main()
{int n,f,y,i,j;scanf("%d",&n);for(y=0;y<100;y++)for(f=0;f<100;f++)if(200*y+2*f==f*100+y-n){printf("%d.%d",y,f);return 0;}printf("%d No Solution",n);return 0;
}
第二题
#include<stdio.h>int main(){int n;double sum=0;int i;double a=2.0,b=1.0,c=0;scanf("%d",&n);for(i=1;i<=n;i++){sum=sum+a/b;c=a;a=a+b;b=c;}printf("%.2f\n",sum);
}
第三题
#include<stdio.h>
int main()
{
float n,sum1,high1;//n为初始高度,m为第m次落下次数,sum1第一次路程,high1第一次反弹
float m=10;
float high = 0;//high为第m次反弹高度
float sum = 0;//sum为第m次落地总路程
int i=2;
scanf("%f",&n);//如输入40 3注意中间加空格
sum1 = n;
high1 = n/2;
sum = sum1;
high = high1;
while(i++<=m)
{sum = sum + 2*high;
high = high/2;
}
printf("%.2f %.2f",sum,high);return 0;
}
第四题
#include<stdio.h>
int main()
{
int i,n;
float sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum+=(float)1/i;
}
printf("%.2f\n",sum);
return 0;
}