哈尔滨工业大学C语言2016年MOOC在线测试答案(9)

2019-08-20 20:39

}

return 0; }

4

检验并打印幻方矩阵。(4分)

题目内容:

幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。从键盘输入一个5×5的矩阵并将其存入一个二维整型数组中,检验其是否为幻方矩阵,并将其按指定格式显示到屏幕上。 输入格式: \输出格式:

如果是幻方矩阵,输出提示信息: \ 矩阵元素的输出: \(换行使用\)

如果不是幻方矩阵,输出提示信息: \ 输入样例1: 17_24_1_8_15 23_5_7_14_16 4_6_13_20_22 10_12_19_21_3 11_18_25_2_9

(输人样例中“_”代表空格) 输出样例1: It is a magic square! **17**24***1**8**15 **23***5***7**14**16 ***4***6**13**20**22 **10**12**19**21***3 **11**18**25***2***9 (输出样例中“*”代表空格) 输入样例2: 1_0_1_6_1 3_1_1_1_1 1_1_1_1_2 1_1_1_1_1 9_1_7_1_1

(输人样例中“_”代表空格) 输出样例2:

It is not a magic square!

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

(输人样例中“_”代表空格,输出样例中“*”代表空格) 时间限制:500ms内存限制:32000kb

#include int main() {

int a[6][6]; int i,j;

for (i=1;i<=5;i++) for (j=1;j<=5;j++) scanf(\ for (i=1;i<=5;i++) {

a[i][0]=0;

for (j=1;j<=5;j++) a[i][0]+=a[i][j];

if (a[i][0]!=a[1][0]) {printf(\ }

for (i=1;i<=5;i++) {

a[0][i]=0;

for (j=1;j<=5;j++) a[0][i]+=a[j][i];

if (a[0][i]!=a[0][1]) {printf(\ }

if (a[1][0]!=a[0][1]) {printf(\ a[0][0]=0;

for (i=1;i<=5;i++) a[0][0]+=a[i][i];

if (a[0][0]!=a[1][0]) {printf(\ a[0][0]=0;

for (i=1;i<=5;i++) a[0][0]+=a[i][6-i];

if (a[0][0]!=a[1][0]) {printf(\ printf(\ for (i=1;i<=5;i++) {

for (j=1;j<=5;j++)

printf(\ printf(\ }

return 0; }

第九周

1

ISBN识别码判断(4分)

题目内容:

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。 识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。 程序运行结果示例1: 0-123-41562-4↙ Right

程序运行结果示例2: 0-123-41562-7↙ 0-123-41562-4

输入格式: 用gets()输入字符串

输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN的格式要求)。 输出格式:

输入的ISBN号码的识别码正确,输出信息: \

输入的ISBN号码的识别码错误,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”),输出格式:\

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include

#include int main(void) {

char isbn[13];//13位isbn码 int i; int j = 1;

int sum = 0;

gets(isbn);

for (i = 0; i < 11; i++)

if ((i != 1) && (i != 5))

sum += ((isbn[i] - '0') * (j++));

if (sum % 11 == (isbn[12] - '0')) printf(\ else {

isbn[12] = (sum % 11) + '0'; printf(\ }

return 0; }

2

摘苹果(4分)

题目内容:

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。 程序运行结果示例1:

100 110 130 200 140 150 156 187 197 149↙ 110↙ 4

程序运行结果示例2:

90 210 102 153 147 110 130 182 88 113↙ 100↙ 6

输入格式: \ 输入包括两行数据:

第1行包含10个100到210之间的整数(包括100和210,以厘米为单位),分别表示10个苹果到地面的高度。两个相邻的整数之间用一个空格隔开。

第2行只包括一个100到120之间的整数(包含100和120,以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。 输出格式: \

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include int main() {

int a,n[11],i,c,x=0; for(i=1;i<=10;i++) {

scanf(\ }

scanf(\ c=c+30;

for(i=1;i<=10;i++) {

if(n[i]<=c)x++; }

printf(\ return 0; }

3

求最大素数(4分)

题目内容:

求n(n<=500)以内的10个最大素数及其和,并分别输出这10个最大素数及其和。n的值要求从键盘输入。 要求10个素数按从大到小的顺序输出。 程序运行结果示例: Input n(n<=500): 270↙

269 263 257 251 241 239 233 229 227 223 sum=2432

输入提示: \ 输入格式: \ 输出格式:

10个最大素数的输出格式:\ 总和的输出格式:\ 时间限制:500ms内存限制:32000kb

#include int ss[96]; int is(int k)


哈尔滨工业大学C语言2016年MOOC在线测试答案(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(崇尚品德的故事)明辨是非的故事 - 僧一行测量子午线

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: