变式 1:课表行列互换(非方阵转置)

课表存成 m 行 n 列(每行一天、每列一节课,数字是教室号的最后一位)。现在想按「节次」看:输出它的转置(n 行 m 列),每个数占 3 格。例如输入: 2 3 1 2 3 4 5 6 输出: 1 4 2 5 3 6 程

开始练习 →

变式 2:两条对角线之和

输入 n 和 n×n 矩阵,求两条对角线上所有元素的和(正中间那个只算一次)。例如输入: 3 1 2 3 4 5 6 7 8 9 输出 25(1 + 5 + 9 + 3 + 7)。 现在的程序在 n 是奇数时算多了。

开始练习 →

变式 3:判断对称矩阵

如果一个方阵转置后和原来一样(每个 a[i][j] == a[j][i]),它就是对称矩阵。输入 n 和 n×n 矩阵,是就输出 YES,否则输出 NO。 例如宿舍 4 个人互相「借过几次东西」的表,一定是对称的。可现在的程序对不对称的矩阵

开始练习 →

变式 4:矩阵周边元素之和

体测排成 m 行 n 列的方阵,数字是每人的号码。求站在最外一圈的人的号码之和。例如输入: 3 4 1 2 3 4 5 6 7 8 9 10 11 12 输出 65(只有 6 和 7 在里面)。 现在的程序只加了第一行和最后一行。

开始练习 →

二级 · 程序填空:左下三角置 0

下面程序的功能是:把 4×4 矩阵左下三角(含主对角线)的元素都变成 0,然后输出矩阵。请在【】处填入正确的内容。 #include <stdio.h> int main(void) { int a[4][4] = {

开始练习 →

二级 · 程序改错:每行最大值

下面程序的功能是:输入一个 3 行 4 列的整数矩阵,输出每一行的最大值,每个占一行。 程序中有两处错误。请改正 found 下面一行中的错误,不要改动其他地方,也不要增删行。

开始练习 →

二级 · 选择:副对角线输出

#include <stdio.h> int main(void) { int a[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int i; for (i = 0; i &

开始练习 →

作品:杨辉三角

杨辉三角:每行头尾是 1,中间每个数等于上一行「左上」和「正上」两个数之和。输入行数 n(1~15),每个数后面跟一个空格输出。例如输入 5: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 程序第 4 行就出错了,找找加的是哪

开始练习 →

字符串的结束标志

char s[8] = "dorm"; printf("%s", s) 从第 0 格打印到 '\0' 为止 d o r m \0 x q # 0 1 2 3 4 5 6 7 屏幕上:d

开始练习 →

名字为什么只读到一半

新生入住登记:输入名字(可能带空格),输出欢迎语。例如输入 Zhang San,应输出: 欢迎 Zhang San 入住 302 宿舍! 可现在只输出了 欢迎 Zhang 入住 302 宿舍!。先运行,看画布上 name 里读到了几个字符;

开始练习 →