实验七(课堂练习)
一、
程序说明
求 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;//赋值 for(i=1;i<=15;i++) { s=s+(double)i/(double)b; //double型数据才能作除 b=b+2; } printf("sum=%f\n",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> void main() { int i,j,t,a[10]; printf("Enter 10 integers:"); for(i=0;i<10;i++) scanf("%d",&a[i]); //将数据存入数组 for(i=1;i<10;i++) //冒泡排序 for(j=0;j<10-i;j++) //从j项开始循环 if(a[j]<a[j+1])//交换a【j】和a【j+1】的值 { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } printf("After sorted:"); for(i=0;i<10;i++) printf("%d ",a[i]); printf("\n"); }
三、编程,输入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\n",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\n",m); //输出结果 printf("通过人数:%d\n",n); printf("不及格人数:%d\n",q); return 0; }