两女子水库溺水:C程序求救

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 00:56:03
请用C语言编辑出来:
1.用选择法对10个数排序.
2.求一个3×3的整形矩阵对角线元素之和.
3.将一个数组中的值按逆序重新存放.例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8.

1.用选择法对10个数排序.
main()
{
const int arraysize = 10;
int a [ arraysize ] = { 3,5,7,9,1,2,34,43,22,12 };
int i, j, max, temp;

for (i=0; i<arraysize-1; ++i)
{
max = i;
for ( j=i+1; j<arraysize; j++ )
if(a[j] > a[max]) max = j;

if (max != i)
{
temp = a[i];
a[i] = a[max];
a[max] = temp;
}
}

printf( "\nData items in asscending order\n" );

for ( i = 0; i < arraysize; i++ )
cout << a[i] << " ";
cout << endl;
}

2.求一个3×3的整形矩阵对角线元素之和.
#include "iostream.h"

main()
{
int i,j,a[3][3],sum=0;
//给数组赋值
for(i=0;i<9;i++)
a[i/3][i%3]=i+1;
//输出数组
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
//计算对角线的和
for(i=0;i<3;i++)
{
sum+=a[i][i];
sum+=a[i][2-i];
}
//由于中间的数加了两次,减去一次
sum-=a[1][1];
cout<<sum<<endl;
}

3.将一个数组中的值按逆序重新存放.例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8.

void converse(int *arr,int len)
{
int mid,i,t;
mid=len/2;
for(i=0;i<=mid;i++)
{
t=arr[i];
arr[i]=arr[len-i-1];
arr[len-i-1]=t;
}
}

楼上的动作还满快的啊`