news 2026/9/2 23:33:11

作业--数组

作者头像

张小明

前端开发工程师

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/9/2 6:34:46

【Processing】读取并全屏显示、编辑图片模板

本文展示了两种在Processing中全屏显示图片的方法。第一种是基础实现&#xff0c;仅全屏显示图片&#xff1b;第二种增加了交互功能&#xff0c;包括局部像素处理&#xff08;将特定位置像素改为绿色&#xff09;和文字显示&#xff08;通过按键切换"IP_ON"/"IP…

作者头像 李华
网站建设 2026/9/2 7:56:05

嵌入式5个“宝藏开源项目”复刻完,代码能力直接封神

嵌入式5个“宝藏开源项目”复刻完&#xff0c;代码能力直接封神 写代码时你是不是也遇到过这些“崩溃瞬间”&#xff1f; 驱动能写但架构建不出来&#xff0c;扩功能就得大改&#xff1b;代码凑活能跑&#xff0c;可复用性为零&#xff0c;后续维护堪比拆炸弹&#xff1b;啃完几…

作者头像 李华
网站建设 2026/9/2 11:40:52

WebSocket 实时聊天功能

在上一讲中&#xff0c;Spring Boot 后端实现 WebSocket 已创建过后端项目&#xff0c;现在开始补充前端 在项目下新增一个模块frontend【与后端src目录平级】 在前端目录下执行npm install 不看上一讲也可以&#xff0c;直接创建一个前后端项目即可&#xff0c;下面会给出完整…

作者头像 李华
网站建设 2026/9/2 23:17:45

蓝桥杯103 日期问题

题目链接&#xff1a;https://www.lanqiao.cn/problems/103/learning/ 前置知识 输入解析 要会什么&#xff1f; 会用这一句把 AA/BB/CC 读进来&#xff1a; int a,b,c; scanf("%d/%d/%d", &a, &b, &c); 要记住什么&#xff1f; "%d/%d/%d"…

作者头像 李华
网站建设 2026/9/2 4:12:03

leetcode解题方法

双指针法&#xff1a;适用于有序数组去重、两数之和等问题。通过左右指针减少时间复杂度至O(n)。示例代码&#xff1a;c复制插入int removeDuplicates(int* nums, int numsSize) {if (numsSize 0) return 0;int slow 0;for (int fast 1; fast < numsSize; fast) {if (num…

作者头像 李华
网站建设 2026/9/2 10:20:05

八)--工具和MCP调用

1. 工程结构概览Spring AI 提供了完整的工具调用&#xff08;Tool Calling&#xff09;能力&#xff0c;让 AI 模型可以调用外部服务。同时&#xff0c;Spring AI 还支持 MCP&#xff08;Model Context Protocol&#xff09;&#xff0c;这是一个标准化的工具协议。spring-ai-m…

作者头像 李华