C语言编程题:定义一个5╳5的矩阵,求对角线上的元素之和。

要求:1)5╳5的矩阵是一个整型二维数组。
2)对角线上交叉的元素只加一次。

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

void main()

{

int a[4][4],i,j,s1=0,s2=0,sum=0;

srand(time(NULL));//生成随机种子

for(i=0;i<5;i++)//赋值

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

a<i>[j]=rand()%10+0;

printf("随机生成的数组为:\n");

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

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

{

printf("%d\t",a<i>[j]);

if(j==4)

printf("\n");

}

printf("\n");

s1=a[0][0]+a[0][4]+a[1][1]+a[1][3]+a[2][2]+a[3][1]+a[3][3]+a[4][0]+a[4][4];

printf("此数组对角线之和值为:%d\n",s1);

}

扩展资料:

printf()用法:

printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:

int printf(const char*format,...);函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。

printf()函数的调用格式为:

printf("<格式化字符串>",<参量表>);其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出;参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

规定符

%d十进制有符号整数

%u十进制无符号整数

%f浮点数

%s字符串

%c单个字符

%p指针的值

%e指数形式的浮点数

%x,%X无符号以十六进制表示的整数

%o无符号以八进制表示的整数

%g把输出的值按照%e或者%f类型中输出长度较小的方式输出

%p输出地址符

%lu 32位无符号整数

%llu 64位无符号整数



温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26
#include<stdio.h>
void main()
{
int Fire[5][5];
int i = 0;
int j = 0;
int sum = 0;
printf("请输入一个5×5的矩阵:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&Fire[i][j]);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i == j)
sum += Fire[i][j];
if(i+j == 4 && i!=j)
sum += Fire[i][j];
}
}
printf("对角线元素之和为:%d\n",sum);
}本回答被网友采纳
第2个回答  2012-06-11
#include<stdio.h>
int main()
{
int a[5][5]={{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}};
int sum=0,i;
for (i=0;i<5;i++)
sum=sum+a[i][i];
for (i=0;i<5;i++)
sum=sum+a[i][4-i];
printf("%d\n",sum);
}本回答被提问者采纳
第3个回答  2012-06-11
for循环的时候i,j同时递增就能够实现了。追问

能把详细过程写出来吗?可以追加财富值,谢谢了

追答

#include
int main(){
int a[][5]={1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5,
1,2,3,4,5};
int result = 0;
int i,j;
for(i=0,j=0;i<5;i++,j++){
result = result + a[i][j];
}
printf("Result is %d\n",result);
}

C语言编程题:定义一个5╳5的矩阵,求对角线上的元素之和。
printf("此数组对角线之和值为:%d\\n",s1);}

用C语言编程求一个五乘五矩阵对角线元素之和,并输出对角线元素的值及...
printf("依次输入5*5个数\\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&str[i][j]);printf("对角元素依次为:\\n");printf("%d %d %d %d %d\\n",str[0][0],str[1][1],str[2][2],str[3][3],str[4][4]);printf("对角元素之和为:\\n");printf("%d\\n"...

求一个5*5的整型矩阵两条对角线元素之和
int main(){int i,sumX=0,sumY=0,sum=0;int num[5][5]= {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};for(i=0;i<5;i++){\/\/计算对角线 sumX+=num[i][i];sumY+=num[5-i][i];} sum=sumX+sumY-num[2][2];\/...

C语言:5*5的整型矩阵,求主副对角线元素之和(每元素计一次);并输出矩阵...
int main(int argc,char *argv[]){ int a[5][5],i,j,m,s;srand((unsigned)time(NULL));for(i=0;i<5;i++){ for(j=0;j<5;printf("%3d",a[i][j++]=rand()%100));putchar('\\n');} for(m=a[s=0][i=0];i<5;i++)for(j=0;j<5;j++){ if(m>a[i][j])m...

C语言,有一个5*5的整型矩阵,试编程求出其对角线之和,并输出该矩阵中最...
对角线元素之和:%d\\n",sum);\/\/求最小值 int m = Arr[1][1];for (int i = 0; i < 5; i++){ for (int j = 0; j < 5; j++){ if (Arr[i][j] < m)m = Arr[i][j];} } printf("最小值为:%d\\n", m);system("pause");} 运行结果:敲代码不易,望采纳!

编写一个C语言程序,计算5×5的矩阵的主对角线之和与次对角线之和并
if (matrix[i][j]>max) \/*求最大值*\/max = matrix[i][j];if (matrix[i][j]<min) \/*求最小值*\/min = matrix[i][j];}}printf ("主对角线之和:\\t%d\\n", mainDiagonalSum);printf ("次对角线之和:\\t%d\\n", diagonalSum);printf ("最大值:\\t%d\\n", max);printf ("...

c语言,五乘五矩阵对角线之和程序演示方法
int main(){ int a[5][5];int i,j,s=0;srand(time(0));for(i=0; i<5; i++){ for(j=0; j<5; j++){ a[i][j]=rand()%100; \/\/产生0-99之间的随机整数作为测试数据 printf("%4d",a[i][j]);if(i==j)s+=a[i][j];} printf("\\n");} printf("对角线之和为%d...

c语言 求5*5矩阵对角线元素之和
for i=0 to 4 for j=0 to 4 if i=j or i+j=4 { s+=a[i,j]}

输入5乘5的数组,编写程序实现求出对角线个元素的和
void main(){ int CArray[5][5];int i = 0;int j = 0;int sum = 0;printf("请输入一个5×5的矩阵:\\n");for(i=0;i<5;i++){ for(j=0;j<5;j++){ scanf("%d",&CArray[i][j]);} } for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(i == j)sum += CArray...

输入一个5×5阶矩阵,编程计算每列上的各元素之和,并显示(求大神指导,C...
printf("请输入%d*%d的矩阵:\n",N,N);for(i=0;i<N;++i){ for(j=0;j<N;++j){ scanf("%d",&a[i][j]);} } for(i=0;i<N;++i){ msum+=a[i][i];ssum+=a[i][N-1-i];} printf("主对角线的和是:%d...

相似回答