}
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 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
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 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