初学者,仅记录练习题复习用。欢迎指正!!!
1.球的反弹高度
(循环)一球从100米高度落下,每次落地后跳回原高度的一半,再落下。编程求它在第10次落地时,共经过距离为多少米?第10次落地后的反弹有多高?运算结果请按照3位小数输出。两个输出用空格隔开。
#include <stdio.h>
#include <stdlib.h>
int main()
{
double s=0;
double h=100.0;
int i;
for(i=1;i<=10;++i)
{
h=h/2;
s=s+h+h*2;
}
printf("%.3lf %.3lf",s-h,h);
return 0;
}
2.平均值
(循环)用户从键盘输入5个数,请求其平均值,结果保留1位小数。
#include <stdio.h>
#include <stdlib.h>
int main()
{
double num1;
double num2=0;
int nop;
scanf("%lf",&num1);
for (nop=0;nop<5;++nop)
{
num1 = num1+num2;
num2 = num1;
scanf("%lf",&num1);
}
printf("%.1lf",(double)(num2)/5.0);
return 0;
}
3.求阶乘
(循环)写程序求解N的阶乘n! ,n<20
#include <stdio.h>
#include <stdlib.h>
int main()
{
long sum = 1;//某些数阶乘超出int范围
int num,cnt;
scanf("%d",&num);
for(cnt=1;cnt<=num;cnt++)
{
sum = cnt*sum;
}
printf("%ld",sum);
return 0;
}
4.输出相框
(循环)用户输入4-10的整数n,你的程序输出* 号组成的相框(n* n);
如,用户输入4
输出:
****
* *
* *
****
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,width;
scanf("%d",&width);
for(i=0;i<width;++i)//上边
{
printf("*");
}
for(j=0;j<width-2;++j)//行数
{
printf("\n*");
for(i=0;i<width-2;++i)//填补空白
{
printf(" ");
}
printf("*");
}
printf("\n");
for(i&