题目内容:
幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。从键盘输入一个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!
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! (输人样例中“_”代表空格,输出样例中“*”代表空格)
#include
int m[5][5]={0}; int main() {
for(i=0;i<5;i++)
for (j=0;j<5;j++)
scanf(\ if (judge()){
printf(\ for(i=0;i<5;i++)
{
for (j=0;j<5;j++)
printf(\ printf(\ } } else
printf(\
return 0; }
int judge () {
int l=0,r=0;
int s[5]={0},t[5]={0}; for (i=0;i<5;i++) for (j=0;j<5;j++) { s[i]+=m[i][j]; t[j]+=m[i][j]; if (i==j) l+=m[i][j]; if (i+j==4) r+=m[i][j]; } if (l!=r) return 0; for (i=0;i<5;i++) if (s[i]!=l||t[i]!=l) return 0; return 1; }
第九章
9.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号码(包括分隔符“-”),输出格式:\ 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 输入样例: 输入样例:
#include
char s[14],d[14]; int m[9]={0}; int n=0,l=0; gets(s); n=s[12]-48;
for (i=0;s[i]!='\\0';i++) {
if (s[i]!='-') {
m[j]=s[i]; j++; } }
for (j=1;j<=9;j++) {
//printf(\ l+=(m[j-1]-48)*j; }
l=l;
if (l==n)
printf(\ else {
strncpy(d,s,12); d[12]=l+48;
d[13]='\\0'; printf(\ }
return 0; }
9.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到200之间的整数(包括100和200,以厘米为单位),分别表示10个苹果到地面的高度。两个相邻的整数之间用一个空格隔开。
第2行只包括一个100到120之间的整数(包含100和120,以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。 输出格式: \
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 输入样例: 输出样例:
#include
int m[10]={0}; int i,j=0,n;
for (i=0;i<10;i++)
scanf(\ scanf(\ for (i=0;i<10;i++) if(m[i]<=n+30) j++;
printf(\ return 0; }
9.3
求最大素数(4分)
题目内容:
求500以内的10个最大素数及其和,并分别输出这10个最大素数及其和。 要求10个素数按从大到小的顺序输出。 输入格式: 无 输出格式:
10个最大素数的输出格式:\ 总和的输出格式:\ 输入样例: 输出样例:
#include
int m[500]; int j,l=0,sum=0; for (j=500;j>0;j--) {
if (judge(j)) m[l++]=j; }
for (j=0;j<10;j++) {
sum+=m[j];
printf(\ }
printf(\ return 0; }
int judge(int n) {
int i;
for (i=2;i<=sqrt((double)n);i++) {
if (n%i==0) return 0; }
return 1; }
9.4
字符串逆序(4分)
题目内容:
用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下: (1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言习题及答案_爱课程mooc(7)在线全文阅读。
相关推荐: