您的位置:首页 > 其它

实验7 综合练习

2013-10-31 09:49 218 查看
实验 7 综合练习

实验目的:巩固分支结构、循环结构、函数和数组的使用方法。
习题

一、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。
程序说明
求 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的初始值赋为0*/

for(i = 1; i <= 15; i++)

{

s = s + double(i)/double(b); /* 对s的值进行累加*/

b=b+2; /*分母递增2,为下一次循环做准备*/

}

printf("sum=%f\n" , s);/*以单精度浮点输出s的值并换行*/

}

【供选择的答案】
(1) A、s = 0 B、s = 1 C、s = -1 D、s = 2
(2) A、i/b B、double(i)/double(b)
C、i/2*i-1 D、(double)i/(double)b
(3) A、; B、b = 2 * i – 1;
C、b = 1.0 * b; D、b = b + 2;
(4) A、"sum = %d\n" B、"s = %c\n"
C、"sum = %f\n" D、"s = %s\n"

---------------------------------题目分割线-----------------------------------

二、填空:阅读下列程序说明和程序,在可选答案中,挑选一个正确答案。填补(1) (2) (3) (4)处空白,并注释说明为什么。。
【程序说明】
输入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] );/*将各元素的值输入并处存在数组a[i]中*/

for(i = 1; i < 10; i++)

for( (j=i-1) ; j<10-i ; j++)/*冒泡排序*/

if( 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");

}

【供选择的答案】

(1) A、"%f", a[i] B、"%lf", &a[i] C、"%s", a D、"%d", &a[i]
(2) A、j = 0 B、j = 1 C、j = i D、j = i - 1
(3) A、j > i B、j < 9 - i C、j < 10 - i D、j > i - 1
(4) A、a[i-1] < a[i] B、a[j+1] < a[j+2] C、a[j] < a[j+1] D、a[i] < a[j]

---------------------------------题目分割线-----------------------------------

三、编程,输入x后,根据下式计算并输出y值。

---------------------------------题目分割线-----------------------------------

四、编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(6084)和不及格(小于60)的学生人数。

运行示例:

Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0

>=85:2

60-84:7

<60 : 2

三,编程

/*输入x的值,输出y*/

#include<stdio.h>

#include<math.h> /*程序中调用了数学函数,需包含头文件math.h*/

int main(void)

{

int x,y;

printf("Enter x:"); /*输入提示*/

scanf("%d",&x);

if(x<-2){

y=x*x;

}

else if(x>2){

y=sqrt(x*x+x+1); /*调用幂函数来开根号*/

}

else{

y=2+x;

}

printf("%d",y);

return 0;

}

四,编程

/*学生成绩的统计*/

#include<stdio.h>

int main(void)

{

int i,n, great,pass,bad; /*great、pass、bad分别记录优秀、及格、不及格的人数*/

double grade;

printf("Enter n:"); /*输入提示*/

scanf("%d",&n);

great=0; /* 计数前将great的初始值赋为0*/

pass=0; /*将pass的初始值赋为0*/

bad=0; /*将bad的初始值赋为0*/

for(i=1;i<=n;i++){

printf("Enter grade#%d:",i);

scanf("%lf",&grade);

if(grade<=0)

break; /*结束程序*/

if(grade>85){

great++; /*计数*/

}

if(grade<60){

bad++; /*计数*/

}

else{

pass++; /*计数*/

}

}

printf("%d%d%d",great,pass,bad);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: