1.将一个数组中的元素逆序,也就是将第一个元素和最后一个元素对换,第二个元素和倒数第二个元素对换,其它元素对换规则依此类推。
如,数组元素:92578 --> 逆序后:87529
#include<stdio.h>
#define M 5
void main()
{
int i,temp;
int num[M]={1,2,3,4,5};
printf("/n原数组元素顺序:/n");
for(i=0;i<M;i++)
{
printf("%d",num[i]);
}
int swap=M/2;
int step=M-1;
for(i=0;i<swap;i++)
{
temp=num[i];
num[i]=num[step];
num[step]=temp;
step--;
}
printf("/n逆序后的数组元素:");
for(i=0;i<M;i++)
{
printf("%d",num[i]);
}
printf("/n");
}
2.求一个3*3矩阵对角线之和。
#include<stdio.h>
#include<ctype.h>
#define M 3
void main()
{
int num[][M]={1,2,3,4,5,6,7,8,9};
int i,j,sum1=0,sum2=0;
printf("/n%d*%d矩阵为:/n",M,M);
for(i=0;i<M;i++)
{
for(j=0;j<M;j++)
{
printf("%3d",num[i][j]);
if(j==M-1)
printf("/n");
if(i==j)
{
sum1+=num[i][j];//左上角和右下角的对角线之和。
}
}
}
printf("/n左上角和右下角的对角线之和为:%d/n",sum1);
for(i=0,j=M-1;i<M;i++,j--)
{
sum2+=num[i][j];
}
printf("/n左下角和右上角的对角线之和为:%d/n",sum2);
}