哈工大 C语言程序设计精髓 MOOC慕课 6-12周编程题答案

return 0; }\8.3 \

一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。现在请根据以上线索帮助警方找出车号以便尽快破案。

[提示]:假设这个4位数的前两位数字都是i,后两位数字都是j,则这个可能的4位数 k = 1000*i + 100*i + 10*j + j

式中,i和j都在0~9变化。此外,还应使k=m*m,m是整数。由于k是一个4位数,所以m值不可能小于31。 输入格式: 无

输出格式:\*/

#include int main(){

int i,j,k,m,tk,tm; for (i=0;i<=9;i++){ for (j=0;j<=9;j++){

for (m=31;m<100;m++){ k = 1000*i + 100*i + 10*j + j; if (i!=j && m*m==k){

tm=m; tk=k; break; } } } }

printf(\ return 0; }\8.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!

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

符串!

(输人样例中“_”代表空格,输出样例中“*”代表空格) */

#include int main() {

int a[5][5],i,j,t,row[5]={0},col[5]={0},dl1=0,dl2=0,flag=1; for (i=0;i<5;i++){ for (j=0;j<5;j++){

scanf(\ } }

for (i=0;i<5;i++){ for (j=0;j<5;j++){ row[i]+=a[i][j]; } }

for (i=0;i<5;i++){ for (j=0;j<5;j++){ col[i]+=a[j][i]; }

}

for (i=0;i<5;i++){ dl1+=a[i][i]; dl2+=a[4-i][4-i]; }

for (i=0;i<4;i++){

if (col[i]!=col[i+1]){ flag=0; break; }

if (row[i]!=row[i+1]){ flag=0; break; } }

if (col[1]!=row[1]){ flag=0;

}

if (dl1!=dl2){ flag=0;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4