1. 程式人生 > >第二章 C++簡單題目

第二章 C++簡單題目

C2-1簡單題目

 

(100/100 分數)

題目描述

 

任意給定 n 個整數,求這 n 個整數序列的和、最小值、最大值

輸入描述

 

輸入一個整數n,代表接下來輸入整數個數,0 < n <= 100,接著輸入n個整數,整數用int表示即可。

輸出描述

 

輸出整數序列的和、最小值、最大值。用空格隔開,佔一行

樣例輸入

2
1 2

樣例輸出

3 1 2
#include <iostream>
using namespace std;
 
int main() {
 
	int n, max, min, sum, number;
	cin >> n;
	cin >> number;
	sum = number; max = number; min = number;
	for (int i = 1; i < n; i++) {
		cin >> number;
		sum += number;
		if (max < number)
			max = number;
		if (min > number)
			min = number;
	}
 
	cout << sum << " " << min << " " << max << endl;
	return 0;
}

C2-2 進位制轉換

 

(100/100 分數)

題目描述

 

已知一個只包含 0 和 1 的二進位制數,長度不大於 10 ,將其轉換為十進位制並輸出。

輸入描述

 

輸入一個二進位制整數n,其長度大於0且不大於10

輸出描述

 

輸出轉換後的十進位制數, 佔一行

樣例輸入

110

樣例輸出

6

#include<iostream>
using namespace std;
int Len(int n) {
	int b = n;
	int i = 0;
	while (b != 0) {
		b = b / 10;
		i++;
	}
	return i;
}

int main() {
	int n;
	int b = 1;
	int a = 0,c=0;
	cin >> n;
	int tmp = n;
	int t = Len(n);
	for (int i = 0; i < t; i++) {
		a = tmp % 10;
		c=c + a*b;
		b *= 2;
		tmp /= 10;
	}
	cout << c << endl;

}

C2-3實心菱形

 

(100 滿分)

題目描述

 

列印 n 階實心菱形

輸入描述

 

輸入一個整數n,0 < n <= 10

輸出描述

 

輸出 n 階實心菱形 , 佔 2*n-1 行

樣例輸入

3

樣例輸出

  *
 ***
*****
 ***
  *
#include <iostream>
using namespace std;
int main() {
	int n, m, i, j;
	cin >> n;
	int max = 2 * n - 1;
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= (max - 2 * i + 1) / 2; j++)
			cout << " ";
		for (j = 1; j < 2 * i; j++)
			cout << "*";
		for (j = 1; j <= (max - 2 * i + 1) / 2; j++)
			cout << " ";
		cout << endl;
	}
	for (i = n - 1; i > 0; i--) {
			for (j = 1; j <= (max - 2 * i + 1) / 2; j++)
			cout << " ";
		for (j = 1; j < 2 * i; j++)
			cout << "*";
		for (j = 1; j <= (max - 2 * i + 1) / 2; j++)
			cout << " ";
		cout << endl;
	} 
	return 0;
}