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排名