实验五 数组及应用
This commit is contained in:
parent
741be5cbc3
commit
2bd982ce11
1
.gitignore
vendored
1
.gitignore
vendored
@ -51,3 +51,4 @@ Module.symvers
|
|||||||
Mkfile.old
|
Mkfile.old
|
||||||
dkms.conf
|
dkms.conf
|
||||||
.idea/
|
.idea/
|
||||||
|
cmake-build-debug/
|
||||||
|
26
05/1/1.c
Normal file
26
05/1/1.c
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int n,a[10],temp;
|
||||||
|
|
||||||
|
scanf("%d", &n);
|
||||||
|
|
||||||
|
for(int i=0; i<n; i++){
|
||||||
|
scanf("%d", &a[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0;i<n-1;i++){
|
||||||
|
for(int j=0;j<n-i-1;j++){
|
||||||
|
if(a[j]<a[j+1]){
|
||||||
|
temp=a[j];
|
||||||
|
a[j]=a[j+1];
|
||||||
|
a[j+1]=temp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
printf("%d",a[i]);
|
||||||
|
if(i != n - 1){printf(" ");}
|
||||||
|
}
|
||||||
|
}
|
38
05/1/README.md
Normal file
38
05/1/README.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
【问题描述】
|
||||||
|
|
||||||
|
输入人数n(0≤n≤10),再输入n个成绩,对成绩降序排序后输出。
|
||||||
|
|
||||||
|
【输入形式】
|
||||||
|
|
||||||
|
输入n,再输入n个数
|
||||||
|
|
||||||
|
【输出形式】
|
||||||
|
|
||||||
|
按降序输出n个数,用空格间隔。最后一个数后没空格。
|
||||||
|
|
||||||
|
【样例输入】
|
||||||
|
|
||||||
|
```
|
||||||
|
5
|
||||||
|
|
||||||
|
5 3 2 1 4
|
||||||
|
```
|
||||||
|
|
||||||
|
【样例输出】
|
||||||
|
|
||||||
|
```
|
||||||
|
5 4 3 2 1
|
||||||
|
```
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:2
|
||||||
|
平均占用内存:1.945K
|
||||||
|
平均CPU时间:0.00600S
|
||||||
|
平均墙钟时间:0.00601S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
28
05/2/2.c
Normal file
28
05/2/2.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int n,a[10],max=0,min=0;
|
||||||
|
|
||||||
|
scanf("%d", &n);
|
||||||
|
|
||||||
|
for(int i=0; i<n; i++){
|
||||||
|
scanf("%d", &a[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < n; ++i) {
|
||||||
|
if(i==0){
|
||||||
|
max = a[i];
|
||||||
|
min = a[i];
|
||||||
|
}
|
||||||
|
if(a[i]>max){
|
||||||
|
max = a[i];
|
||||||
|
}
|
||||||
|
if(a[i]<min){
|
||||||
|
min = a[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("%d %d",max,min);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
42
05/2/README.md
Normal file
42
05/2/README.md
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
【问题描述】
|
||||||
|
|
||||||
|
编写一个程序,用户输入若干整数,试找出其中的最大数和最小数。
|
||||||
|
|
||||||
|
【输入形式】
|
||||||
|
|
||||||
|
用户在第一行待输入数据个数,在第二行输入数据。
|
||||||
|
|
||||||
|
【输出形式】
|
||||||
|
|
||||||
|
程序在下一行输出数据的最大值和最小值
|
||||||
|
|
||||||
|
【样例输入】
|
||||||
|
|
||||||
|
```
|
||||||
|
5
|
||||||
|
89 62 96 74 52
|
||||||
|
```
|
||||||
|
|
||||||
|
【样例输出】
|
||||||
|
|
||||||
|
```
|
||||||
|
96 52
|
||||||
|
```
|
||||||
|
|
||||||
|
【样例说明】
|
||||||
|
|
||||||
|
用户第一次输入的为数据个数,在下一行依次输入数据,空格分隔。输出为5个数中的最大值和最小值,输出时候两个数之间用空格分隔。
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:3
|
||||||
|
平均占用内存:1.945K
|
||||||
|
平均CPU时间:0.00304S
|
||||||
|
平均墙钟时间:0.00303S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
||||||
|
测试数据3 完全正确
|
49
05/3/README.md
Normal file
49
05/3/README.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
【问题描述】
|
||||||
|
|
||||||
|
给一个整型数组中的数按从小到大连续编号,要求相同数字编号相同,编号从1开始,输出编号结果时按照原数组元素的顺序输出。
|
||||||
|
|
||||||
|
【输入形式】
|
||||||
|
|
||||||
|
从控制台输入数据,第一行输入数组元素个数(个数大于等于1,并且小于等于20),第二行输入整型数组元素,各个整数之间以空格分隔。
|
||||||
|
|
||||||
|
【输出形式】
|
||||||
|
|
||||||
|
在屏幕上输出编号结果,各个编号之间用一个空格分隔。
|
||||||
|
|
||||||
|
【样例输入】
|
||||||
|
|
||||||
|
```
|
||||||
|
7
|
||||||
|
|
||||||
|
-3 75 51 90 1118 51 -3
|
||||||
|
```
|
||||||
|
|
||||||
|
【样例输出】
|
||||||
|
|
||||||
|
```
|
||||||
|
1 3 2 4 5 2 1
|
||||||
|
```
|
||||||
|
|
||||||
|
【样例说明】
|
||||||
|
|
||||||
|
共输入了7个整数,分别为:-3 75 51 90 1118 51 -3,其编号分别为1 3 2 4 5 2 1,其中有两个-3和51,它们的编号相同。
|
||||||
|
|
||||||
|
【评分标准】
|
||||||
|
|
||||||
|
该题要求输出正确的编号结果。上传C语言文件名为`no.c`。
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:5
|
||||||
|
平均占用内存:1.946K
|
||||||
|
平均CPU时间:0.00565S
|
||||||
|
平均墙钟时间:0.00566S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
||||||
|
测试数据3 完全正确
|
||||||
|
测试数据4 完全正确
|
||||||
|
测试数据5 完全正确
|
36
05/3/no.c
Normal file
36
05/3/no.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
|
||||||
|
int get_min(int a[20],int n,int temp){
|
||||||
|
int min=2147483647;
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
if((a[i]<min)&&(a[i]>temp)){
|
||||||
|
min=a[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int n,a[20],b[20],min=-2147483648;
|
||||||
|
|
||||||
|
scanf("%d",&n);
|
||||||
|
|
||||||
|
for(int i=0; i<n; i++){
|
||||||
|
scanf("%d", &a[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=1;i<=n;i++){
|
||||||
|
min=get_min(a,n,min);
|
||||||
|
for(int j=0;j<n;j++){
|
||||||
|
if(a[j]==min){
|
||||||
|
b[j]=i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
printf("%d ",b[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
43
05/4/README.md
Normal file
43
05/4/README.md
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
【问题描述】
|
||||||
|
|
||||||
|
回文是正读和倒读都一样的句子。读入一个最大长度不超过50个字符的句子,判断其是否是回文。
|
||||||
|
|
||||||
|
【输入形式】
|
||||||
|
|
||||||
|
输入一个最大长度不超过50个字符的句子
|
||||||
|
|
||||||
|
【输出形式】
|
||||||
|
|
||||||
|
Yes/No
|
||||||
|
|
||||||
|
【输入样例】
|
||||||
|
|
||||||
|
abcba
|
||||||
|
|
||||||
|
【输出样例】
|
||||||
|
|
||||||
|
Yes
|
||||||
|
|
||||||
|
【样例说明】
|
||||||
|
|
||||||
|
输入abcba,判断出它是回文。
|
||||||
|
|
||||||
|
【评分标准】
|
||||||
|
|
||||||
|
该题要求输出一个判断值,答对得20分,每个测试点4分,提交程序文件名为c0604.c。
|
||||||
|
|
||||||
|
# 运行结果
|
||||||
|
|
||||||
|
成功通过编译, 且无编译警告
|
||||||
|
|
||||||
|
共有测试数据:5
|
||||||
|
平均占用内存:1.928K
|
||||||
|
平均CPU时间:0.00589S
|
||||||
|
平均墙钟时间:0.00589S
|
||||||
|
|
||||||
|
测试数据 评判结果
|
||||||
|
测试数据1 完全正确
|
||||||
|
测试数据2 完全正确
|
||||||
|
测试数据3 完全正确
|
||||||
|
测试数据4 完全正确
|
||||||
|
测试数据5 完全正确
|
20
05/4/c0604.c
Normal file
20
05/4/c0604.c
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#include<stdio.h>
|
||||||
|
#include<string.h>
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
int n;
|
||||||
|
char a[50];
|
||||||
|
|
||||||
|
scanf("%s",a);
|
||||||
|
n=strlen(a)-1;
|
||||||
|
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
if(a[i]!=a[n-i]){
|
||||||
|
printf("No");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("Yes");
|
||||||
|
return 0;
|
||||||
|
}
|
3
05/README.md
Normal file
3
05/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# 实验五 数组及应用
|
||||||
|
|
||||||
|
> 作业时间: 2021-11-16 19:43:00 至 2021-11-30 23:55:00
|
5
CMakeLists.txt
Normal file
5
CMakeLists.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
add_executable(1 05/1/1.c)
|
||||||
|
add_executable(2 05/2/2.c)
|
||||||
|
add_executable(no 05/3/no.c)
|
||||||
|
add_executable(c0604 05/4/c0604.c)
|
||||||
|
add_executable(CMakeLists CMakeLists.txt)
|
@ -44,3 +44,8 @@ A repo to record my study life.
|
|||||||
- [3. 【循环结构】要求输出100~200之间的不能被3整除的前10个和最后10个整数](https://github.com/xtaodada/C-study/tree/master/04-1/3)
|
- [3. 【循环结构】要求输出100~200之间的不能被3整除的前10个和最后10个整数](https://github.com/xtaodada/C-study/tree/master/04-1/3)
|
||||||
- [4. 【循环结构】使用循环的嵌套来输出以下4*5的矩阵](https://github.com/xtaodada/C-study/tree/master/04-1/4)
|
- [4. 【循环结构】使用循环的嵌套来输出以下4*5的矩阵](https://github.com/xtaodada/C-study/tree/master/04-1/4)
|
||||||
- [5. 【循环结构】输入一个大于3的整数n,判定它是否素数(prime,又称质数)](https://github.com/xtaodada/C-study/tree/master/04-1/5)
|
- [5. 【循环结构】输入一个大于3的整数n,判定它是否素数(prime,又称质数)](https://github.com/xtaodada/C-study/tree/master/04-1/5)
|
||||||
|
- [实验五 数组及应用](https://github.com/xtaodada/C-study/tree/master/05)
|
||||||
|
- [1. 排序2](https://github.com/xtaodada/C-study/tree/master/05/1)
|
||||||
|
- [2. 查找最大最小整数](https://github.com/xtaodada/C-study/tree/master/05/2)
|
||||||
|
- [3. 给一个整型数组编号a](https://github.com/xtaodada/C-study/tree/master/05/3)
|
||||||
|
- [4. 回文判断](https://github.com/xtaodada/C-study/tree/master/05/4)
|
||||||
|
Loading…
Reference in New Issue
Block a user