第4章 程序段的反复执行for语句P115练习题(题及答案)
4.1for语句 P115
#include <iostream>
#include <iomanip> // 用于控制输出格式using namespace std;int main() {int n;cin >> n; // 读入学生人数int sum = 0;for (int i = 0; i < n; ++i) {int age;cin >> age; // 读入每个学生年龄sum += age; // 累加年龄}double average = static_cast<double>(sum) / n; // 计算平均值// 设置输出保留两位小数cout << fixed << setprecision(2) << average << endl;return 0;
}
#include <iostream>
using namespace std;int main() {int sum = 0;for (int i = 1; i <= 100; ++i) {// 根据规律:// 第1项正,偶数项正,奇数项从第3项开始负if (i == 1) {sum += i; // +1} else if (i % 2 == 0) {sum += i; // 偶数项加} else {sum -= i; // 奇数项从3开始减}}cout << sum << endl; // 输出结果return 0;
}
#include <iostream>
#include <iomanip>using namespace std;int main() {double sum = 0.0;for (int i = 1; i <= 100; ++i) {if (i % 2 == 1) {sum += 1.0 / i; // 奇数项加} else {sum -= 1.0 / i; // 偶数项减}}cout << fixed << setprecision(6) << sum << endl;return 0;
}
0.688172
#include <iostream>
#include <iomanip>
#include <cassert>
using namespace std;int main()
{double sum=0, average;int age, n;cin >> n;assert(n>=1 && n<=100);for(int i=1; i<=n; i++){cin >> age;sum += age;assert(age >= 15 && age <= 25);}average = sum/n;cout << setiosflags(ios::fixed);cout << setprecision(2) << average << endl;return 0;
}
#include <iostream>
#include <cassert>
using namespace std;
int main() {int n;int min_num = 99999999, max_num = 0, num;cin >> n;assert(n >= 1 && n <= 1000);for(int i = 1; i <= n; i++) {cin >> num;if (num < min_num) {min_num = num;}// min_num = min(num, min_num);if (num > max_num) {max_num = num;}// max_num = max(num, max_num);}cout << max_num - min_num << endl;return 0;
}
#include "stdio.h"
#include "math.h"
int main() {// int 2147483648int i;float sum = 0;for (i = 1; i <= 64; i++) {float n = pow(2, i - 1); //粒数float m = n / (1.42 * pow(10, 8)); //立方米形式表示sum += m; //累加}printf("\n共有麦子%.2f立方米。\n", sum);
}
#include <stdio.h>
int main(void) {int s = 0, n, i;scanf("%d", &n);for(i = 1; i <= n / 2; i++)if(n % i == 0)s++;s++;printf("%d", s);return 0;
}
#include<cstdio>
#include<iostream>
int n, j, y, t, sj = 0, sy = 0, st = 0, s = 0;
using namespace std;
int main() {scanf("%d", &n);for (int i = 1; i <= n; ++i) {scanf("%d%d%d", &j, &y, &t);sj = sj + j;sy = sy + y;st = st + t;}s = sj + sy + st;printf("%d %d %d %d", sj, sy, st, s);return 0;
}
#include <iostream>
#include <iomanip>
#include <cassert>using namespace std;int main() {int score;int highest_score = 0, lowest_score = 100, total_score = 0;double average_score;for(int i = 1; i <= 10; i++) {cin >> score;assert(score >= 0 && score <= 100);highest_score = max(highest_score, score);lowest_score = min(lowest_score, score);total_score += score;}average_score = (total_score - highest_score - lowest_score) / 8.0;cout << setiosflags(ios::fixed);cout << setprecision(3) << average_score << endl;return 0;
}
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
#define N 1000
int a[N] = {0};
int main() {for(int i = 1; i <= 10; i++) {cin >> a[i];}int h;cin >> h;int c = 0;for(int i = 1; i <= 10; i++) {if(a[i] <= h + 30) {c++;}}cout << c;return 0;
}