A+类
1.(原创)下列程序的功能是计算用户输入数据的平均数,输入格式为以-1表示结束。请补全代码。
#include <stdio.h>
int main() {
int a[100], input;
int *p = a, sum = 0;
while (1) {
scanf("%d", &input);
if (input == -1) break;
*p++ = input;
sum += input;
}
int count;
count = ________________;
printf("%lf\n", (double)sum / count);
return 0;
}
2.(原创)请编写程序,要求用户输入n,然后打印以下的n行图形:
(注:每一行嘎的数量恰好是素数)
B类
3.(原创)与上一题相同,只不过要求输出格式为右对齐。
-------------------------------以下为答案------------------------------------
1. p-a
2.
#include <stdio.h>
int main() {
int n, i, j, num = 2;
printf("请输入n:");
scanf("%d", &n);
i = 0;
while (i < n) {
for (j = 2; j < num; j++) {
if (num % j == 0) {
break;
}
}
if (j == num) {
for (j = 0; j < num; j++) {
printf("嘎");
}
putchar('\n');
i++;
}
num++;
}
return 0;
}
3.
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, j, num = 2;
printf("请输入n:");
scanf("%d", &n);
int *prime;
prime = (int *)malloc(sizeof(int) * n);
i = 0;
while (i < n) {
for (j = 2; j < num; j++) {
if (num % j == 0) {
break;
}
}
if (j == num) {
prime[i] = num;
i++;
}
num++;
}
for (i = 0; i < n; i++) {
for (j = 0; j < 2 * prime[n-1] - 2 * prime[i]; j++) {
putchar(' ');
}
for (j = 0; j < prime[i]; j++) {
printf("嘎");
}
putchar('\n');
}
return 0;
}