作业1:定义一个长度为20的数组,使用循环将斐波那契数列的前20项存到数组中,输出数组的每一项,并且输出该数组的总和

  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++)

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值