C语言编程题:定义一个5╳5的矩阵,求对角线上的元素之和。
#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位无符号整数
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);
}
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);
}
能把详细过程写出来吗?可以追加财富值,谢谢了
#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);
}