1 #include<string.h>
2 #include<stdio.h>
3 #include<stdio.h>
4
5 int main(int argc, const char *argv[])
6 {
7 int arr[20];
8 for (int i=0; i<20; i++)
9 {
10 if (i==0 || i==1)
11 {
12 arr[i]=1;
13 } else
14 {
15 arr[i] = arr[i - 1] + arr[i - 2];
16 }
17 }
18 int sum = 0;
19 for (int i = 0; i < 20; i++)
20 {
21 sum += arr[i];
22 printf("%d ", arr[i]);
23 }
24 printf("\n和是: %d\n", sum);
25 return 0;
26 }
作业2:通过键盘输入6名学生的成绩,输出6名学生的成绩,使用冒泡法对班级学生的成绩升序排序,输出排序后成绩
10 printf("请输入第%d名学生的成绩:", i + 1);
11 scanf("%d", &xues[i]);
12 while (xues[i] < 0 || xues[i] > 100)
13 {
14 printf("输入的成绩有误,请重新输入:");
15 scanf("%d", &xues[i]);
16 }
17 }
18 printf("输入的成绩:");
19 for (int i = 0; i < 6; i++)
20 {
21 printf("%d ", xues[i]);
22 }
23 printf("\n");
24 for (int i = 1; i < 6; i++)
25 {
26 for (int j = 0; j < 6 - i; j++)
27 {
28 if (xues[j] > xues[j + 1])
29 {
30 int temp = xues[j]; xues[j] = xues[j + 1]; xues[j + 1] = temp;
31 }
32 }
33 }
34 printf("排序之后的学生成绩:");
35 for (int i = 0; i < 6; i++) {
36 printf("%d ", xues[i]);
37 }
38 printf("\n");
39 return 0;
40 }
作业3:有如下两个数组:int arr[] = {1,2,3,4,5,6,7,8,9,0}; int brr[] = {3,7,15,9,20,2,100, 4}; 要求,自定义一个数组crr,将上面两个数组的交集存放到新数组中,并输出新数组中的内容。
5 int main(int argc, const char *argv[])
6 {
7 int arr[] = {1,2,3,4,5,6,7,8,9,0};
8 int brr[] = {3,7,15,9,20,2,100,4};
9 int lena = sizeof(arr)/sizeof(arr[0]);
10 int lenb = sizeof(brr)/sizeof(brr[0]);
11
12 int lenc = lena<lenb?lena:lenb;
13 int crr[lenc];
14 int k = 0;
15
16 for(int i=0; i<lena; i++)
17 {
18 for(int j=0; j<lenb; j++)
19 {
20 if(arr[i] ==brr[j])
21 {
22 crr[k] = arr[i];
23 k++;
24 }
25 }
26 }
27 printf("arr与brr的交集为:");
28 for(int i = 0; i<k; i++)
29 {
30 printf("%d", crr[i]);
31 }
32 printf("\n");
33
34 return 0;
35 }
作业4:定义一个双精度浮点型数组,存放十个学生成绩,输入十名学生成绩,输出赋值后的所有元素。使用选择排序,完成降序排序后输出,并求出平均分,并统计出大于平均分学生的比重,输出结果。
22 printf("%.2lf ", a[i]);
23 }
24 printf("\n");
25 for (int i=0; i<10-1; i++)
26 {
27 int c=i;
28 for (int j = i + 1; j < 10; j++) {
29 if (a[j] < a[c])
30 {
31 c=j;
32 }
33 }
34 if (c!=i)
35 {
36 double temp=a[i]; a[i]=a[c]; a[c]=temp;
37 }
38 }
39 printf("选择排序过后的所有学生成绩为:\n");
40 for (int i = 0; i < 10; i++) {
41 printf("%.2lf ", a[i]);
42 }
43 printf("\n");
44 int d=0;
45 for (int i = 0; i < 10; i++) {
46 if (a[i] > b/10.0) {
47 d++;
48 }
49 }
50 printf("平均分是:%.2lf, 大于平均分的学生的比重: %.2lf\n", b/10.0, d/10.0);
51 return 0;
52 }
作业5:23031班有4个小组,每组有5名学生,C语言基础考试成绩,第一组5位同学的成绩为90、92、93、91、88,第二组5位同学的成绩为86、89、87、85、99,第三组5位同学的成绩为100,95,85,75,90,第四组5位同学的成绩为90,85,85,95,80,定义二维数组分别输入4个小组的成绩,利用循环再输出4个小组的学生成绩,求出每个小组的最低成绩,最高成绩并输出每个小组的最高成绩,最低成绩。
1 #include<string.h>
2 #include<stdio.h>
3 #include<stdio.h>
4
5 int main(int argc, const char *argv[])
6 {
7 int a[4][5]={0};
8 int b[4]={0};
9 int max [4]={0};
10 int min [4]={100,100,100,100};
11 int r;
12 for (int i=0; i<4; i++)
13 {
14 printf("请输入第%d个小组的成绩:", i + 1);
15 for (int j=0; j<5; j++)
16 {
17 scanf("%d", &a[i][j]);
18 if(a[i][j]<0 || a[i][j]>100)
19 {
20 printf("您输入的数据有误,请重新输入\n");
21 i--;
22 }
23 if (a[i][j] > max[i]) max[i] = a[i][j];
24 if (a[i][j] < min[i]) min[i] = a[i][j];
25 b[i]+=a[i][j];
26 }
27 }
28 for (int i=0; i<4; i++)