第一部分 C++语言
第四章 循环结构的程序设计
第一节 for语句
1059 求平均年龄
#include <cstdio>
using namespace std;
int main() {
int n, age, sum = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &age);
sum += age;
}
printf("%.2lf\n", 1.0 * sum / n);
return 0;
}
1060 均值
#include <cstdio>
using namespace std;
int main() {
int n;
double a, sum = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%lf", &a);
sum += a;
}
printf("%.4lf\n", 1.0 * sum / n);
return 0;
}
1061 求整数的和与均值
#include <cstdio>
using namespace std;
int main() {
int n, a, sum = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a);
sum += a;
}
printf("%d %.5lf\n", sum, 1.0 * sum / n);
return 0;
}
1062 最高的分数
#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
int n, score, maxi = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &score);
maxi = max(maxi, score);
}
printf("%d\n", maxi);
return 0;
}
1063 最大跨度值
#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
int n, a, maxi = 1, mini = 1000;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a);
maxi = max(maxi, a);
mini = min(mini, a);
}
printf("%d\n", maxi - mini);
return 0;
}
1064 奥运奖牌计数
#include <cstdio>
using namespace std;
int main() {
int n, g, s, b;
int sum_g = 0, sum_s = 0, sum_b = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d %d %d", &g, &s, &b);
sum_g += g;
sum_s += s;
sum_b += b;
}
printf("%d %d %d %d\n", sum_g, sum_s, sum_b, sum_g + sum_s + sum_b);
return 0;
}
1065 奇数求和
#include <cstdio>
using namespace std;
int main() {
int m, n, sum = 0;
scanf("%d %d", &m, &n);
for (int i = m; i <= n; i++) {
if (i % 2 == 1) sum += i;
}
printf("%d\n", sum);
return 0;
}
1066 满足条件的数累加
#include <cstdio>
using namespace std;
int main() {
int m, n, sum = 0;
scanf("%d %d", &m, &n);
for (int i = m; i <= n; i++) {
if (i % 17 == 0) sum += i;
}
printf("%d\n", sum);
return 0;
}
1067 整数的个数
#include <cstdio>
using namespace std;
int main() {
int k, a;
int cnt_1 = 0, cnt_5 = 0, cnt_10 = 0;
scanf("%d", &k);
for (int i = 1; i <= k; i++) {
scanf("%d", &a);
if (a == 1) cnt_1 ++;
if (a == 5) cnt_5 ++;
if (a == 10) cnt_10 ++;
}
printf("%d\n%d\n%d\n", cnt_1, cnt_5, cnt_10);
return 0;
}
1068 与指定数字相同的数的个数
#include <iostream>
using namespace std;
int main() {
int n, m, a, cnt = 0;
cin >> n >> m;
for (int i = 0; i < n; i++) {
cin >> a;
if (a == m) cnt ++;
}
cout << cnt << endl;
return 0;
}
1069 乘方计算
#include <iostream>
using namespace std;
int main() {
int a, n, ans = 1;
cin >> a >> n;
for (int i = 0; i < n; i++) {
ans *= a;
}
cout << ans << endl;
return 0;
}
1070 人口增长
#include <cstdio>
using namespace std;
int main() {
double x;
int n;
scanf("%lf %d", &x, &n);
for (int i = 0; i < n; i++) {
x *= (1 + 0.1/100);
}
printf("%.4lf\n", x);
return 0;
}
1071 斐波那契数
#include <iostream>
using namespace std;
int main() {
int k;
cin >> k;
if (k <= 2) cout << 1 << endl;
else {
int f1 = 1, f2 = 1, f3;
for (int i = 3; i <= k; i++) {
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
cout << f3 << endl;
}
return 0;
}
1072 鸡尾酒疗法
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int a, b;
double x, y;
cin >> a >> b;
x = 1.0 * b / a;
for (int i = 2; i <=n; i++) {
cin >> a >> b;
y = 1.0 * b / a;
if (y - x > 0.05) cout << "better" << endl;
else if (x - y > 0.05) cout << "worse" << endl;
else cout << "same" << endl;
}
return 0;
}
1073 救援
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n, ppl;
cin >> n;
double x, y, len, t = 0;
for (int i = 1; i <= n; i++) {
cin >> x >> y >> ppl;
len = sqrt(x*x + y*y);
t = t + 2 * len / 50 + ppl * 1.5;
}
cout << ceil(t) << endl;
return 0;
}
1074 津津的储蓄计划
#include <iostream>
using namespace std;
int main() {
int budget, jj = 0, mm = 0;
for (int i = 1; i <= 12; i++) {
cin >> budget;
int t = jj + 300 - budget;
if (t < 0) {
cout << -1 * i;
return 0;
}
jj = t % 100;
mm += t / 100;
}
cout << jj + mm * 120 << endl;
return 0;
}
1075 药房管理
#include <iostream>
using namespace std;
int main() {
int m, n, a, cnt = 0;
cin >> m >> n;
for (int i = 1; i <= n; i++) {
cin >> a;
if (a <= m) m -= a;
else cnt ++;
}
cout << cnt << endl;
return 0;
}
1076 正常血压
#include <iostream>
using namespace std;
int main() {
int n, a, b, cnt = 0, max = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a >> b;
if (a >= 90 && a <= 140 && b >= 60 && b <= 90) {
cnt ++;
if (cnt > max) {
max = cnt;
}
}
else {
cnt = 0;
}
}
cout << max << endl;
return 0;
}
1077 统计满足条件的4位数
#include <iostream>
using namespace std;
int main() {
int n, a, cnt = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a;
if (a%10 - a/1000 - a/100%10 - a/10%10 > 0) {
cnt ++;
}
}
cout << cnt << endl;
return 0;
}
1078 求分数序列和
#include <cstdio>
using namespace std;
int main() {
int n, p = 1, q = 2;
scanf("%d", &n);
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += 1.0 * q / p;
q = q + p;
p = q - p;
}
printf("%.4lf\n", sum);
return 0;
}
1079 计算分数加减表达式的值
#include <cstdio>
using namespace std;
int main() {
int n;
scanf("%d", &n);
double sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 2 == 1) {
sum += 1.0 / i;
}
else {
sum -= 1.0 / i;
}
}
printf("%.4lf\n", sum);
return 0;
}
1080 余数相同问题
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
for (int i = 2; i <= 1e6; i++) {
if (a%i == b%i && b%i == c%i) {
cout << i << endl;
break;
}
}
return 0;
}
1081 分苹果
#include <iostream>
using namespace std;
int main() {
int n, ttl = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
ttl += i;
}
cout << ttl << endl;
return 0;
}
1082 求小数的某一位
#include <iostream>
using namespace std;
int main() {
int a, b, n;
cin >> a >> b >> n;
for (int i = 1; i <= n; i++) {
a = a%b;
a *= 10;
}
cout << a/b << endl;
return 0;
}
1083 计算星期几
#include <iostream>
using namespace std;
int main() {
int a, b, day = 1;
cin >> a >> b;
for (int i = 1; i <= b; i++) {
day = day * a % 7;
}
if (day == 0) cout << "Sunday" << endl;
else if (day == 1) cout << "Monday" << endl;
else if (day == 2) cout << "Tuesday" << endl;
else if (day == 3) cout << "Wednesday" << endl;
else if (day == 4) cout << "Thursday" << endl;
else if (day == 5) cout << "Friday" << endl;
else if (day == 6) cout << "Saturday" << endl;
return 0;
}
1084 幂的末尾
#include <cstdio>
using namespace std;
int main() {
int a, b, ans = 1;
scanf("%d %d", &a, &b);
for (int i = 1; i <= b; i++) {
ans = ans * a % 1000;
}
printf("%03d", ans);
return 0;
}
如果您的孩子四年级及以上,对计算机编程感兴趣,且文化课学有余力,欢迎联系客服(微信号:xiaolan7321),参加信息学的学习。我们是专业的信息学竞赛教练,采用线上小班授课的方式,目标是帮助热爱编程的中小学生,在国内外信息学竞赛中取得优秀成绩。
教学特点:
-
线上小班授课,打好代码基础。避免大班课堂上学生要么“跟不上”,要么“吃不饱”的问题。
-
教学经验丰富,熟悉学生的知识结构与学习能力,合理安排进度。
-
以赛代练,通过考级与比赛,不断提高学生能力。