5
四位反序数(4分)
题目内容:
反序数就是将整数的数字倒过来形成的整数。例如,1234的反序数是4321。设N是一个四位数,它的9倍恰好是其反序数,编程计算并输出N的值。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int opposite,N,g,s,b,q;
for(N=1000;N<1112;N++)
{
for (int i=0;i<4;i++)
{
g=N%10;
s=(N/10)%10;
b=(N/100)%10;
q=N/1000;
}
opposite=g*1000+s*100+b*10+q;
if(9*N==opposite)
{
printf("%d\t",N);
}
}
return 0;
}
6
8除不尽的自然数(4分)
题目内容:
一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。求满足以上条件的最小自然数。
#include <stdio.h>
#include <stdlib.h>
int main()
{
for(int N=1; ;N++)
{
if(N%8==1&&N%17==4&&(N/8)%8==1&&((N/8)/8)%8==7&&(N/17)%17==15&&(((N/17)/17)==2*(((N/8)/8)/8)))
{
printf("%d",N);
break;
}
}
return 0;
}
7
矩阵转置v1.0(4分)
题目内容:
用二维数组作为函数参数,编程计算并输出n×n阶矩阵的转置矩阵。其中,n的值不超过10,n的值由用户从键盘输入。
程序运行结果示例1:
Input n:3↙
Input 3*3 matrix:
1 2 3↙
4 5 6↙
7 8 9↙
The transposed matrix is:
1 4 7
2 5 8
3 6 9
程序运行结果示例2:
Input n:2↙
Input 2*2 matrix:
1 2↙
4 5↙
The transposed matrix is:
1 4
2 5
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
printf("Input n:");
scanf("%d",&n);
printf("Input %d*%d matrix:\n",n,n);
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}