第二章 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;
}

猜你喜欢

转载自blog.csdn.net/lyc44813418/article/details/86438916