第二章编程题
C2-1简单题目
题目描述
任意给定 n 个整数,求这 n 个整数序列的和、最小值、最大值
输入描述
输入一个整数n,代表接下来输入整数个数,0 < n <= 100,接着输入n个整数,整数用int表示即可。
输出描述
输出整数序列的和、最小值、最大值。用空格隔开,占一行
#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 进制转换
题目描述
已知一个只包含 0 和 1 的二进制数,长度不大于 10 ,将其转换为十进制并输出。
输入描述
输入一个二进制整数n,其长度大于0且不大于10
输出描述
输出转换后的十进制数, 占一行
#include <iostream>
using namespace std;
int main() {
int binary, decimalism = 0, multipe = 1, x;
cin >> binary;
while (binary) {
x = binary % 10;
decimalism += x * multipe;
multipe *= 2;
binary /= 10;
}
cout << decimalism << endl;
return 0;
}
C2-3实心菱形
题目描述
打印 n 阶实心菱形
输入描述
输入一个整数n,0 < n <= 10
输出描述
输出 n 阶实心菱形 , 占 2*n-1 行
#include <iostream>
using namespace std;
void test() {
return;
}
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;
}