news 2026/5/12 14:11:20

作业--数组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
作业--数组

一、单选题
1. 第7周测验
2. 第7周 练兵区——单选题

二、编程题

1. 从键盘输入某班学生的学号和某门课成绩(每班人数最多不超过40人,具体人数由键盘输入),试编程打印最高分和最低分以及对应的学生序号。

#include <stdio.h> #include <stdlib.h> int main() { int n; printf("renshu:n="); scanf("%d",&n); int id[40]; int cg[40]; for(int i=0;i<n;i++) scanf("%d,%d",&id[i],&cg[i]); int max=0; for(int i=0;i<n;i++){ if(cg[i]>cg[max]) max=i; } int min=0; for(int i=0;i<n;i++){ if(cg[i]<cg[min]) min=i; } printf("max: id:%d,cg:%d\n",id[max],cg[max]); printf("min: id:%d,cg:%d\n",id[min],cg[min]); return 0; }

2. 编写实现下面的功能(分别用函数实现)
(1)读入一串整型数据,直到输入0,作为输入结束标志为止;
(2)把这些整型数据逆序排列;
(3)输出经过重新排列后的数据;

#include <stdio.h> #include <stdlib.h> int a[100]; int n=0; void A(){ while(scanf("%d",&a[n])&&a[n]!=0) n++; } void B(int b[100]){ int m=0; for(int i=n-1;i>=0;i--){ b[m]=a[i]; m++; } } void C(){ int b[100]; B(b); for(int i=0;i<n;i++){ printf("%d",b[i]); printf(" "); } } int main() { A(); C(); return 0; }

3. 编程在元素按增(降)序排列的一个有序数组中,查找给定元素x。(分别采用顺序查找和二分查找函数来实现)。
函数返回值规定如下:如果x出现在数组中,则返回x在数组中的位置(用下标表示),否则返回-1。

#include <stdio.h> #include <stdlib.h> int shunxu(int a[],int n){ int i=0; for(;i<=8;i++){ if(n==a[i]){ return i; } } return -1; } int erfen(int a[],int n){ int low=0,high=8,mid; while(low<=high){ int mid=(low+high)/2; if(n==a[mid]) return mid; else if(n>a[mid]) low=mid+1; else if(n<a[mid]) high=mid-1; } return -1; } int main(){ int n; int a[]={1,2,3,4,5,6,7,8,9}; for(int i=0;i<=8;i++){ printf("%d ",a[i]); } printf("\n"); scanf("%d",&n); printf("%d\n",shunxu(a,n)); printf("%d\n",erfen(a,n)); return 0; }

4. 输入一个有序数列,对数列中的数据进行排序。(分别采用交换排序、冒泡排序、选择排序、插入排序函数来实现)。

#include <stdio.h> #include <stdlib.h> int jiaohuan(int a[],int n); int main(){ int a[]={2,8,4,6,5,7,3}; int n=sizeof(a)/sizeof(a[0]); jiaohuan(a,n); for(int i=0;i<n;i++){ printf("%d",a[i]); printf(" "); } return 0; } int jiaohuan(int a[],int n){ int m; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++){ if(a[i]>a[j]){ m=a[i]; a[i]=a[j]; a[j]=m; } } }
#include <stdio.h> #include <stdlib.h> int maopao(int a[],int n); int main(){ int a[]={2,8,4,6,5,7,3}; int n=sizeof(a)/sizeof(a[0]); maopao(a,n); for(int i=0;i<n;i++){ printf("%d",a[i]); printf(" "); } return 0; } int maopao(int a[],int n){ int m=0; for(int i=0;i<n-1;i++) for(int j=0;j<n-1-i;j++) if(a[j]>a[j+1]){ m=a[j]; a[j]=a[j+1]; a[j+1]=m; } }
#include <stdio.h> #include <stdlib.h> int xuanze(int a[],int n); int main(){ int a[]={2,8,4,6,5,7,3}; int n=sizeof(a)/sizeof(a[0]); xuanze(a,n); for(int i=0;i<n;i++){ printf("%d",a[i]); printf(" "); } return 0; } int xuanze(int a[],int n){ for(int i=0;i<n-1;i++){ int min=i; int j=i+1; int m; for(;j<n;j++){ if(a[j]<a[min]) min=j; } m=a[i]; a[i]=a[min]; a[min]=m; } }
#include <stdio.h> #include <stdlib.h> int charu(int a[],int n); int main(){ int a[]={2,8,4,6,5,7,3}; int n=sizeof(a)/sizeof(a[0]); charu(a,n); for(int i=0;i<n;i++){ printf("%d",a[i]); printf(" "); } return 0; } int charu(int a[],int n){ for(int i=1;i<n;i++){ int key=a[i]; int j=i-1; while(j>=0&&a[j]>key){ a[j+1]=a[j]; j--; } a[j+1]=key; } }

5. 输入一个有序数列,再输入一个指定的数,将其插入到一有序数列中,使该数列仍保持原来的顺序。

#include <stdio.h> #include <stdlib.h> int main(){ int a[]={2,4,6,8}; int b[5]={2,4,6,8}; int n; scanf("%d",&n); b[4]=n; int key=b[4]; int j=3; while(j>=0&&a[j]>key){ b[j+1]=b[j]; j--; } b[j+1]=key; for(int i=0;i<=4;i++) printf("%d ",b[i]); return 0; }

6. 输入一个有序数列,再输入一个指定的数,将其从有序数列中删除。

#include <stdio.h> #include <stdlib.h> int main(){ int a[]={2,4,6,8,10}; int n; scanf("%d",&n); for(int i=0;i<5;i++) if(a[i]==n){ for(;i<4;i++) a[i]=a[i+1]; break; } for(int i=0;i<4;i++) printf("%d ",a[i]); return 0; }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 19:30:11

告别 “告警风暴” 与被动救火!8 大数据库监控维度提前规避 80% 故障

在数字化转型纵深推进的今天&#xff0c;数据库已成为支撑业务运转的核心基础设施。无论是电商平台的订单交易、金融机构的账务处理&#xff0c;还是政务系统的数据存储&#xff0c;数据库的稳定性与性能直接决定业务连续性和用户体验。权威数据显示&#xff0c;75%的严重业务中…

作者头像 李华
网站建设 2026/5/2 14:01:56

数据库监控实践中的六大常见误区与规避思路

在数据库运维的“江湖”里&#xff0c;监控系统不仅是DBA的眼睛&#xff0c;更是“保命”的护身符。然而&#xff0c;现实中有太多团队在建设数据库监控体系时&#xff0c;往往陷入了一些思维陷阱——钱花了&#xff0c;工具上了&#xff0c;故障发生时却依然手忙脚乱。真正成熟…

作者头像 李华
网站建设 2026/5/11 13:57:13

【c++进阶】在c++11之前的编译器的努力

关注我&#xff0c;学习c不迷路: 个人主页&#xff1a;爱装代码的小瓶子 专栏如下&#xff1a; c学习Linux学习 后续会更新更多有趣的小知识&#xff0c;关注我带你遨游知识世界 期待你的关注。 文章目录 第一章&#xff1a;C11前夜 - 编译器的"军阀混战"时代1.1…

作者头像 李华
网站建设 2026/5/11 20:50:23

全网热议!2025年高亮车灯升级品牌推荐榜单

2025年高亮车灯升级推荐榜单致力于为车主提供最新的灯光改装选择&#xff0c;特别是聚焦于高级汽车激光透镜的应用。这些高亮车灯不仅提升了汽车的外观&#xff0c;还能在各种复杂路况下提供卓越的照明效果。许多车型采用创新技术&#xff0c;如TIR棱镜&#xff0c;有效提升光学…

作者头像 李华
网站建设 2026/5/11 20:50:41

掌握混合会议精髓:打造高效同步的线上线下运营新策略

掌握混合会议精髓&#xff1a;打造高效同步的线上线下运营新策略行业痛点分析在当前的会议服务领域&#xff0c;技术挑战日益凸显。随着全球化的发展&#xff0c;企业需要同时组织线上和线下的会议&#xff0c;这对会议服务提供商提出了更高的技术要求。数据表明&#xff0c;超…

作者头像 李华