7-11 求平方与倒数序列的部分和
#include<stdio.h>
int main() {
int m, n;
double sum = 0;
scanf("%d %d", &m, &n);
for (int i = m; i <= n; i++) {
sum += i * i + 1.0 / i;
}
printf("sum = %f\n", sum);
return 0;
}
7-12 求平方根序列前N项和
#include<stdio.h>
#include<math.h>
int main() {
int n;
scanf("%d", &n);
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += sqrt(i);
}
printf("sum = %.2lf\n", sum);
return 0;
}
7-13 计算符号函数的值
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n > 0) {
printf("sign(%d) = 1", n);
} else if (n < 0) {
printf("sign(%d) = -1", n);
} else {
printf("sign(%d) = 0", n);
}
return 0;
}
7-14 统计学生平均成绩与及格人数
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
int temp;
int cnt = 0;
double sum = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &temp);
sum += temp;
if (temp >= 60) {
cnt++;
}
}
if (n == 0) {
printf("average = %.1f\n", 0);
} else {
printf("average = %.1f\n", sum / n);
}
printf("count = %d", cnt);
return 0;
}
7-15 统计字符
#include<stdio.h>
int main() {
char str[11] = {0};
int index = 0;
while (index != 10) {
str[index++] = getchar();
}
int letter = 0, blank = 0, digit = 0, other = 0;
// printf("%s", str);// 调试用
for (int i = 0; i < 10; i++) {
if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') {
letter++;
} else if (str[i] == ' ' || str[i] == '\n') {
blank++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else {
other++;
}
}
printf("letter = %d, blank = %d, digit = %d, other = %d", letter, blank, digit, other);
return 0;
}
7-16 输出闰年
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n < 2001 || n > 2100) {
printf("Invalid year!");
return 0;
}
int flag = 1;
for (int i = 2001; i <= n; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
printf("%d\n", i);
flag = 0;
}
}
if (flag) {
printf("None");
}
return 0;
}
7-17 成绩转换
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
if (n >= 90) {
printf("A");
} else if (n >= 80) {
printf("B");
} else if (n >= 70) {
printf("C");
} else if (n >= 60) {
printf("D");
} else {
printf("E");
}
return 0;
}
7-18 查询水果价格
#include<stdio.h>
int main() {
printf("[1] apple\n"
"[2] pear\n"
"[3] orange\n"
"[4] grape\n"
"[0] exit\n");
int n;
scanf("%d", &n);
if (n == 1) {
printf("price = 3.00\n");
} else if (n == 2) {
printf("price = 2.50\n");
} else if (n == 3) {
printf("price = 4.10\n");
} else if (n == 4) {
printf("price = 10.20\n");
} else if (n == 0) {
return 0;
} else {
printf("price = 0.00\n");
}
int cnt = 1;
while (n != 0 && cnt != 5) {
cnt++;
scanf("%d", &n);
if (n == 1) {
printf("price = 3.00\n");
} else if (n == 2) {
printf("price = 2.50\n");
} else if (n == 3) {
printf("price = 4.10\n");
} else if (n == 4) {
printf("price = 10.20\n");
} else if (n == 0) {
break;
} else {
printf("price = 0.00\n");
}
}
return 0;
}
7-19 比较大小
#include<stdio.h>
int main() {
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if (a > b) {
int temp = a;
a = b;
b = temp;
}
if (b > c) {
int temp = b;
b = c;
c = temp;
}
if (a > b) {
int temp = a;
a = b;
b = temp;
}
printf("%d->%d->%d", a, b, c);
return 0;
}
7-20 高速公路超速处罚
#include<stdio.h>
int main() {
int m, n;
scanf("%d %d", &m, &n);
double ans = 0;
ans = (double) m / n;
if (ans >= 1.1 && ans < 1.5) {
printf("Exceed %.0f%%. Ticket 200\n", (ans - 1) * 100);
} else if (ans >= 1.5) {
printf("Exceed %.0f%%. License Revoked\n", (ans - 1) * 100);
} else {
printf("OK");
}
return 0;
}