PTA实验作业(数组)
Posted 良易
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA实验作业(数组)相关的知识,希望对你有一定的参考价值。
7-2 求最大值及其下标(20 分)
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。
输入格式:
输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出最大值及最大值的最小下标,中间用一个空格分开。
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
按照数组的顺序和后面的数字一次次比较,一直到找出最大的数。
最终代码如下
#include<stdio.h> int main(){ int n,i,j; scanf("%d",&n); int a[100]; for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(j=0;j<n;j++){ if(a[0]<a[j]){ a[0]=a[j]; i=j; } if(a[0]==a[j]){ a[0]=a[j]; if(i>j){ i=j; } } } printf("%d %d",a[i],i); return 0; }
7-4 查找整数(10 分)
本题要求从输入的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
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
设置一个数组,然后用一个循环将n个数放入数组中,之后再用if来寻找数字,如果超出数组的范围没有找到就输出NOT FOUND
最终代码如下
#include <stdio.h> #define N 20 int main(void) { long a[N]; int i, n, x; scanf("%d%d", &n, &x); for(i = 0; i < n; ++i) scanf("%ld", &a[i]); for(i = 0; i < n; ++i) { if(a[i] == x) { printf("%d\\n", i); break; } } if(i >= n) printf("Not Found\\n"); return 0; }
7-3 将数组中的数逆序存放(20 分)
本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。
输入格式:
输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。
输出格式:
在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。
输入样例:
4
10 8 1 2
输出样例:
2 1 8 10
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
最终代码如下
#include <stdio.h> int main() { int i, n, swap, array[10]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &array[i]); for (i = 0; i < n/2; i++) { swap = array[i]; array[i] = array[n-1-i]; array[n-1-i] = swap; } for (i = 0; i < n-1; i++) printf("%d ", array[i]); printf("%d\\n", array[n-1]); return 0; }
最终pta排名
以上是关于PTA实验作业(数组)的主要内容,如果未能解决你的问题,请参考以下文章