1. BC101-班级成绩输入输出
题目描述
输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。
输入描述:
五行,每行输入一个学生各5科成绩(浮点数表示,范围0.0~100.0),用空格分隔。
输出描述:
五行,按照输入顺序每行输出一个学生的5科成绩及总分(小数点保留1位),用空格分隔。
示例1
输入
98.5 96.0 100 99 88
60.5 77 88.5 99 60
80 80.5 89 91 92
93 94 95.5 96 97.5
100 98 88.5 88 78.5
输出
98.5 96.0 100.0 99.0 88.0 481.5
60.5 77.0 88.5 99.0 60.0 385.0
80.0 80.5 89.0 91.0 92.0 432.5
93.0 94.0 95.5 96.0 97.5 476.0
100.0 98.0 88.5 88.0 78.5 453.0
参考代码:
#include <stdio.h>
int main()
{
int i = 0;
//5个学生
for (i = 0; i < 5; i++)
{
//读取一个人的5科成绩
double sum = 0.0;
int j = 0;
double score = 0.0;
for (j = 0; j < 5; j++)
{
scanf("%lf", &score);
sum += score;
printf("%.1lf ", score);
}
printf("%.1lf\n", sum);
}
return 0;
}
答案解析:
无
2. BC102-矩阵元素定位
题目描述
KiKi得到了一个n行m列的矩阵,现在他想知道第x行第y列的值是多少,请你帮助他完成这个任务。
数据范围:1≤n,m≤5 ,矩阵中的值满足 1≤val≤25
输入描述:
第一行包含两个数n和m,表示这个矩阵包含n行m列。从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示矩阵中的元素。接下来一行输入x和y,用空格分隔,表示KiKi想得到的元素的位置。(1≤x≤n≤10,1≤y≤m≤10)
输出描述:
一行,输出一个整数值,为KiKi想知道的值。
示例1
输入
2 3
1 2 3
4 5 6
1 2
输出
2
参考代码:
#include <stdio.h>
int main()
{
int n = 0;
int m = 0;
int x = 0;
int y = 0;
scanf("%d %d", &n, &m);
//这是c99语法-变长数组,但是数组不能初始化
int arr[n][m];//具体给值也行
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf("%d", &arr[i][j]);
}
}
scanf("%d%d", &x, &y);
printf("%d\n", arr[x - 1][y - 1]);
return 0;
}
答案解析:
无
3. BC103-序列重组矩阵
题目描述
KiKi现在得到一个包含nm个数的整数序列,现在他需要把这nm个数按顺序规划成一个n行m列的矩阵并输出,请你帮他完成这个任务。
输入描述:
一行,输入两个整数n和m,用空格分隔,第二行包含n*m个整数(范围-231~231-1)。(1≤n≤10, 1≤m≤10)
输出描述:
输出规划后n行m列的矩阵,每个数的后面有一个空格。
示例1
输入
2 3
1 2 3 4 5 6
输出
1 2 3
4 5 6
参考代码:
#include <stdio.h>
int main()
{
int n = 0;
int m = 0;
scanf("%d%d", &n, &m);
int i = 0;
int tmp = 0;
for (</