2024年4月27日 C++上課記錄

Pudding10335發表於2024-04-28

3307:【例52.1】 不與最大數相同的數字之和

不與最大數相同的數字之和

題目描述

輸出一個整數數列中不與最大數相同的數字之和。

輸入格式

輸入分為兩行:

第一行為 \(N\)(\(N\) 為接下來數的個數,\(N \le 100\));

第二行為 \(N\) 個整數,數與數之間以一個空格分開,每個整數的範圍是 \(-1000,000\)\(1000,000\)

輸出格式

輸出為 \(N\) 個數中除去最大數其餘數字之和。

樣例 #1

樣例輸入 #1

3
1 2 3

樣例輸出 #1

3
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int a[n];
	int max;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	max = a[0];
	for(int i=0;i<n;i++){
		if(max<a[i]) max=a[i];
	}
	int sum=0;
	for(int i=0;i<n;i++){
		if(a[i]!=max){
			sum+=a[i];
		}
	}
	cout<<sum;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,max,sum=0;
	cin>>n;
	int a[n];
	for(int i=0;i<n;i++){
		cin>>a[i];
		if(i==0) max=a[i];
		if(max<a[i]) max=a[i];
	}
	for(int i=0;i<n;i++){
		if(a[i]!=max){
			sum+=a[i];
		}
	}
	cout<<sum;
}

3309:練52.1 輸出成績

輸出成績

題目描述

給定n個小朋友的數學成績,求這n個小朋友的平均成績,以及輸出所有高於平均成績的數學成績(按輸入的順序輸出)。

輸入

第一行一個整數n,接下來n行每行一個小於等於100的整數(n≤1000)。

輸出

第一行是n個成績的平均值,保留3位小數。
接下來若干行輸出高於平均分的成績,每行一個數。

輸入樣例

5
10
20
30
40
60

輸出樣例

32.000
40
60
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;      //數字個數 
	double pingjun=0; // 平均分 
	cin>>n;     //輸入數字個數 
	int a[n];   //定義陣列a[n] 
	for(int i=0;i<n;i++){  //遍歷輸入陣列元素,並累加求和pinjun 
		cin>>a[i];
		pingjun+=a[i];
	} 
	pingjun = pingjun/n;  //計算平均分 
	cout<<fixed<<setprecision(3)<<pingjun<<endl;  //保留3位小數輸出平均分 
	for(int i=0;i<n;i++){  //遍歷輸出陣列元素(大於平均分的陣列元素) 
		if(pingjun<a[i]){
			cout<<a[i]<<endl; 
		}
	} 
}

3310:練52.2 陣列間的比較大小

題目描述

有兩個陣列\(a\)\(b\),各有\(10\)個元素,將它們對應的逐個比較(即\(a[0]\)\(b[0]\)比,\(a[1]\)\(b[1]\)比,餘此類推)。
如果\(a\)陣列中的元素大於\(b\)陣列中的相應元素的數目多於\(b\)陣列中元素大於\(a\)陣列中相應元素的數目(例如\(a[i]>b[i]6\)次,而\(b[i]>a[i]3\)次),則判定\(a\)陣列大於\(b\)陣列。
請寫一個程式判斷\(a\)陣列和\(b\)陣列的大小關係,並統計出兩個陣列對應元素大於、等於、小於的次數。

輸入

有兩行,每一行有\(10\)個用空格隔開的整數,表示\(a\)陣列和\(b\)陣列

輸出

首先在第一行內輸出\(a\)陣列中元素與\(b\)陣列中對應元素的大於、等於、小於的次數,用空格隔開。\n若\(a\)陣列大於\(b\)陣列,則在第二行中輸出“a>b”;若\(a\)陣列小於\(b\)陣列,則輸出“a<b”;若兩個陣列相等,則輸出“a=b”。\n請注意不需要輸出引號,並請注意行尾輸出換行。

輸入樣例

1 3 5 7 9 8 6 4 2 0
5 3 8 9 -1 -3 5 6 0 4

輸出樣例

4 1 5
a<b

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[10],b[10];
	int d=0,e=0,l=0;
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	for(int i=0;i<10;i++){
		cin>>b[i];
	}
	for(int i=0;i<10;i++){
		if(a[i]>b[i]) d++;
		else if(a[i]==b[i]) e++;
		else l++;
	}
	cout<<d<<" "<<e<<" "<<l<<endl;
	if(d>l) cout<<"a>b";
	else if(d==l) cout<<"a=b";
	else cout<<"a<b";
}