输出指定学生成绩(15分)的样例三的问题

输出指定学生成绩(15分)

题目内容:

    从键盘输入3个同学4门课的成绩,输出指定同学的成绩和平均分。

输入格式:

    输入3个同学4门课的成绩

输出格式:

    输出指定同学的成绩和平均分

输入样例:

89 78 80 76 88 78 75 90 99 92 100 89[回车]

1[回车]

输出样例:

89 78 80 76[回车]

80.75[回车]

#include <stdio.h>
int main(int argc,char* argv[]) {
	int arr[3][4] = { 0 };
	for (int i = 0; i < 3; i++)
		for (int j = 0; j < 4; j++)
			scanf("%d", &arr[i][j]);
	int n; scanf("%d", &n);
	for (int i = 0; i < 4; i++) {
		printf("%d", arr[n - 1][i]);
		if (i != 3) putchar(' ');
	}		
	putchar('\n');
	double sum = 0;
	for (int i = 0; i < 4; i++)
		sum += arr[n - 1][i];
	printf("%.2f\n", sum / 4);
	return 0;
}

这是我的第一次代码,但是有一个样例却不能通过

实际上,问题出在%.2f,这个是保留小数点后两位,但是实际情况可能不需要保留小数点

例如:90 90 90 90,那么应该输出90,而不是90.00

当然,这道题目在这里为难人实在是过分!个人感觉意义不大,因此答案如下

#include <stdio.h>
int main(int argc,char* argv[]) {
	int arr[3][4] = { 0 };
	for (int i = 0; i < 3; i++)
		for (int j = 0; j < 4; j++)
			scanf("%d", &arr[i][j]);
	int n; scanf("%d", &n);
	for (int i = 0; i < 4; i++) {
		printf("%d", arr[n - 1][i]);
		if (i != 3) putchar(' ');
	}		
	putchar('\n');
	double sum = 0;
	for (int i = 0; i < 4; i++)
		sum += arr[n - 1][i];
	printf("%g\n", sum / 4);
	return 0;
}

 

posted @ 2023-01-07 20:23  我千五可以  阅读(90)  评论(0)    收藏  举报