云网站 深圳,seo是做什么的,支持wordpress个人博客源码,综合购物网站建站如果代码存在问题#xff0c;麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 实验五-一维数组 7-1 查找整数#xff08;分数 15#xff09;7-2 交换最小值和最大值#xff08;分数 15#xff09;7-3 简化的插入排序#xff08;分数 15#xff09;7-4 删除指定数据#xff08;分…如果代码存在问题麻烦大家指正 ~ ~有帮助麻烦点个赞 ~ ~ 实验五-一维数组 7-1 查找整数分数 157-2 交换最小值和最大值分数 157-3 简化的插入排序分数 157-4 删除指定数据分数 207-5 数组元素循环右移问题分数 207-6 找出不是两个数组共有的元素分数 20
7-1 查找整数分数 15 作者 杨起帆 单位 浙大城市学院 本题要求从输入的N个整数中查找给定的X。如果找到输出X的位置从0开始数如果没有找到输出“Not Found”。
输入格式 输入在第一行中给出两个正整数N≤20和X第二行给出N个整数。数字均不超过长整型其间以空格分隔。
输出格式 在一行中输出X的位置或者“Not Found”。
输入样例1
5 7
3 5 7 1 9输出样例1
2输入样例2
5 7
3 5 8 1 9输出样例2
Not Found代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 参考代码
#include stdio.h
int main()
{int n, x, a, i, flag0;scanf(%d %d, n, x);for(i0; in; i) {scanf(%d, a);if(ax){printf(%d, i);flag 1;}}if(flag 0)printf(Not Found);return 0;
}7-2 交换最小值和最大值分数 15 作者 C课程组 单位 浙江大学 本题要求编写程序先将输入的一系列整数中的最小值与第一个数交换然后将最大值与最后一个数交换最后输出交换后的序列。
注意题目保证最大和最小值都是唯一的。
输入格式 输入在第一行中给出一个正整数N≤10第二行给出N个整数数字间以空格分隔。
输出格式 在一行中顺序输出交换后的序列每个整数后跟一个空格。
输入样例
5
8 2 5 1 4输出样例
1 2 5 4 8 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 参考代码
#include stdio.h
int main()
{int i, n, min, max, idx10, idx20, temp;int a[10];scanf(%d, n);for(i0; in; i)scanf(%d, a[i]);maxa[0]; mina[0];for(i1; in; i) {if(mina[i]) {mina[i];idx1i;} if(maxa[i]) {maxa[i];idx2i;}}if(idx20)idx2idx1;tempa[0]; a[0]a[idx1]; a[idx1]temp; tempa[n-1]; a[n-1]a[idx2]; a[idx2]temp; for(i0; in; i)printf(%d , a[i]);return 0;
}7-3 简化的插入排序分数 15 作者 C课程组 单位 浙江大学 本题要求编写程序将一个给定的整数插到原本有序的整数序列中使结果序列仍然有序。
输入格式 输入在第一行先给出非负整数N10第二行给出N个从小到大排好顺序的整数第三行给出一个整数X。
输出格式 在一行内输出将X插入后仍然从小到大有序的整数序列每个数字后面有一个空格。
输入样例
5
1 2 4 5 7
3输出样例
1 2 3 4 5 7 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 参考代码
#includestdio.h
int main()
{int N, i, n, t;int a[80];scanf(%d, N);for(i0; iN; i)scanf(%d, a[i]);scanf(%d, n);if(na[0]) {for(tN; t0; t--)a[t]a[t-1];a[0]n;}else if(na[N-1]) a[N]n;else for(i0; iN; i)if(a[i]n a[i1]n) {for(tN; ti; t--) a[t]a[t-1];a[i1]n;}for(i0; iN; i)printf(%d , a[i]);return 0;
}
7-4 删除指定数据分数 20 作者 孙骏 单位 武汉理工大学 在一列数据中删除指定的值。输出每次删除后的数列。若数列中无待删除数据则输出原数列。
输入格式: 在第1行输入一个整数n(0n1000)表示数据个数 在第2行输入n个整数以空格分隔 在第3行输入整数m表示需要删除的值。
输出格式: 每次删除后输出删除后的数列每个数据后有一个空格。 每行输出一次删除后结果。 若数列中无待删除数据则输出原数列。
输入样例 1:
10
5 8 7 12 17 15 3 7 7 10
7输出样例 1:
5 8 12 17 15 3 7 7 10
5 8 12 17 15 3 7 10
5 8 12 17 15 3 10 输入样例 2:
10
5 8 7 12 17 15 3 7 7 10
6输出样例 2:
5 8 7 12 17 15 3 7 7 10 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 参考代码
#includestdio.h
int main()
{int n, x, i, j, c0;int a[1001];scanf(%d, n);for(i0; in; i)scanf(%d, a[i]);scanf(%d, x);for(i0; in-c; i)if(a[i]x) {for(ji;jn;j)a[j]a[j1];i--;c;for(j0; jn-c; j)printf(%d , a[j]);printf(\n);}if(c0)for(i0; in; i)printf(%d , a[i]);return 0;
}7-5 数组元素循环右移问题分数 20 作者 DS课程组 单位 浙江大学 一个数组A中存有N0个整数在不允许使用另外数组的前提下将每个整数循环向右移M≥0个位置即将A中的数据由A0A1 ⋯ AN−1变换为AN−M ⋯ AN−1A0A1 ⋯ AN−M−1最后M个数循环移至最前面的M个位置。如果需要考虑程序移动数据的次数尽量少要如何设计移动的方法
输入格式: 每个输入包含一个测试用例第1行输入N1≤N≤100和M≥0第2行输入N个整数之间用空格分隔。
输出格式: 在一行中输出循环右移M位以后的整数序列之间用空格分隔序列结尾不能有多余空格。
输入样例:
6 2
1 2 3 4 5 6输出样例:
5 6 1 2 3 4代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 参考代码
#includestdio.h
int main()
{int a[101];int i, m, n;scanf(%d %d, m, n);for(i0; im; i)scanf(%d, a[i]);n % m;for(i0; im; i) {if(i ! 0) printf( );printf(%d, a[(m-ni)%m]);}return 0;
}7-6 找出不是两个数组共有的元素分数 20 作者 张彤彧 单位 浙江大学 给定两个整型数组本题要求找出不是两者共有的元素。
输入格式: 输入分别在两行中给出两个整型数组每行先给出正整数N≤20随后是N个整数其间以空格分隔。
输出格式: 在一行中按照数字给出的顺序输出不是两数组共有的元素数字间以空格分隔但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。
输入样例:
10 3 -5 2 8 0 3 5 -15 9 100
11 6 4 8 2 6 -5 9 0 100 8 1输出样例:
3 5 -15 6 4 1代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 参考代码
#includestdio.h
int main()
{int a1[50], a2[50], a3[50];int m, n, i, j, k 0;scanf(%d, m);for (i 0; i m; i)scanf(%d, a1[i]);scanf(%d, n);for (i 0; i n; i)scanf(%d, a2[i]);for (i 0; i m; i) {for (j 0; j n a2[j] ! a1[i]; j);if (j n) a3[k] a1[i];}for (i 0; i n; i) {for (j 0; j m a1[j] ! a2[i]; j);if (j m) a3[k] a2[i];}printf(%d, a3[0]);for(i 1; i k; i) {for(j 0; j i a3[i] ! a3[j]; j);if(j i) printf( %d, a3[i]);}return 0;
}