实验7综合练习
一、填空:閱讀下列程序說明和程序,在可選答案中,挑選一個正確答案。填補(1) (2) (3) (4)處空白,并注釋說明為什么。
程序說明
求 1 + 2/3 + 3/5 + 4/7 + 5/9 + … 的前15項之和。
運行示例:
sum = 8.667936
程序如下:1 #include <stdio.h>2 void main( )3 {4 int i, b = 1;5 double s;
//s由0開始,對s進行賦值,根據下面i=1可以得出6 s = 0 ;7 for(i = 1; i <= 15; i++)8 {
//i。b和s的不一樣,所以需要注明9 s = s + (double)i/(double)b
//由題目可以知道b=2*i-1
10 b = 2+b;
11 }
12 printf( "sum = %f\n" , s);
13 }【供選擇的答案】
(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
程序如下:1 #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++)
//數組的取值是int型,所以用%d7 scanf( (1) "%d", &a[i] );8 for(i = 1; i < 10; i++)
//在i循環中運用j來比較最大的9 for( (2) j = 1 ; (3) j < 10 - i ; j++)
//如果前一個數小于后一個數,則將前一個數和后一數交換,知道得到最小的是最后的一個
10 if( (4) 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("\n");
20 } 【供選擇的答案】
(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值。//編程,輸入x后,根據下式計算并輸出y值
#include<stdio.h>
#include<math.h>
int main(void)
{double y,x;y=0;printf("輸入x:");scanf("%lf",&x);if(x>2){y=y+sqrt(x*x+x+1);}else if((x>=-2)&&(x<=2)){y=y+2+x;}else{y=y+x*x;}printf("y=%.3f",y);return 0;
}
---------------------------------題目分割線-----------------------------------
四、編寫程序,輸入一批學生的成績,遇0或負數則輸入結束,要求統計并輸出優秀(大于85)、通過(60~84)和不及格(小于60)的學生人數。
運行示例:
Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0
>=85:2
60-84:7
<60 : 2
//編寫程序,輸入一批學生的成績,遇0或負數則輸入結束,要求統計并輸出優秀(大于85)、通過(60~84)和不及格(小于60)的學生人數
#include<stdio.h>
int main(void)
{double scores;int x,y,z;x=0;y=0;z=0;//x是優秀的學生,y是通過的學生數量,z是不及格的人數printf("enter scores:");scanf("%lf",&scores);//運用while循環,遇到0或者負數結束;while(scores>0){//不同條件輸出if(scores>85){x++;}else if((scores>=60)&&(scores<=84)){y++;}else{z++;}scanf("%lf",&scores);}printf(">=85:%d",x);printf("60-84:%d",y);printf("<60:%d",z);return 0;
}
?
轉載于:https://www.cnblogs.com/xuqiongxiang/p/3398472.html
總結
- 上一篇: php四种基础算法:冒泡,选择,插入和快
- 下一篇: Bigpipe---FaceBook使用