实验七——实验目的:巩固分支结构、循环结构、函数和数组的使用方法
一,求 1 + 2/3 + 3/5 + 4/7 + 5/9 + … 的前15项之和。
运行示例:
sum = 8.667936
#include <stdio.h>
void main( )
{
int i, b = 1;
double s;
s = 0 ; //*给s赋值
for(i = 1; i <= 15; i++)
{
s=s+(double)i/(double)b ; //开始循环
b = b + 2; //给b赋值
}
printf("s = %f " , s); 输出s值
}
for(i = 1; i <= 15; i++)
{
s=(double)i/(double)b ; //开始循环
b = b + 2;
}
printf("s = %f " , s);
}
二,输入10个整数,将它们从大到小排序后输出。
运行示例:
Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34
After sorted: 100 99 87 34 6 5 4 1 0 -9
程序如下:
#include <stdio.h> 2 void main( ) 3 { 4 int i, j, t, a[10]; 5 printf("Enter 10 integers: "); 6 for(i = 0; i < 10; i++) 7 scanf("%d", &a[i] ); //输入数据 ); 8 for(i = 1; i < 10; i++) 9 for(j = 0 ; i < 10 ; j++) //循环执行,小于10次 10 if(a[j] < a[j+1] ) //如果后者小于前者 11 { 12 t = a[j]; 13 a[j] = a[j+1]; 14 a[j+1] = t; 15 } 16 printf("After sorted: "); 17 for(i = 0; i < 10; i++) 18 printf("%d ", a[i]); 19 printf(" "); 20 }
三、编程,输入x后,根据下式计算并输出y值。
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
printf("Enter x:"); //输入x
scanf("%lf",&x);//为x赋值
if(x<-2) //用if else语句实现函数
y=x*x;
else if(x<=2)
y=2+x;
else
y=sqrt(x*x+x+1);
printf("y=%.4f
",y); //输出函数值
return 0;
}
四、编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不及格(小于60)的学生人数
#include<stdio.h>
int main()
{
int m=0,n=0,q=0,i,grade[10];
printf("Enter grades:");
for(i=0;i<10;i++){ //输入成绩并存入数组内
scanf("%d",&grade[i]); if(grade[i]<0)
return 0;
}
for(i=0;i<10;i++){ //for循环
if(grade[i]>85) //用if语句判断优秀,通过,不及格的人数
m++;
else if(grade[i]>=60)
n++;
else
q++;
}
printf("优秀人数:%d
",m); //输出结果
printf("通过人数:%d
",n);
printf("不及格人数:%d
",q);
return 0;
}