C语言数组元素求和的编写程序(具体的步骤)

2024-12-21 12:06:23
推荐回答(2个)
回答1:

程序如下:
#include
int a[4][4]={{1,2,3,4},{4,5,6,1},{7,8,9,1},{10,11,12,1}};
int ahang[4],alie[4];
void main()
{
int sum=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
sum+=a[i][j];
ahang[i]+=a[i][j];
alie[j]+=a[i][j];
}
}
printf("%d\n",sum);
int k,o;
int min,max;
int temp,index;
for(k=0;k<3;k++)
{
min=ahang[k];
index=k;
for(o=k+1;o<4;o++)
{
if(ahang[o] {
min=ahang[o];index=o;
}
}
temp=ahang[k],ahang[k]=min,ahang[index]=temp;
}
for(k=0;k<4;k++)
{
printf("%3d",ahang[k]);
}
printf("\n");
for(k=0;k<3;k++)
{
max=alie[k];
index=k;
for(o=k+1;o<4;o++)
{
if(ahang[o]>max)
{
min=alie[o];index=o;
}
}
temp=alie[k],alie[k]=min,alie[index]=temp;
}
for(k=0;k<4;k++)
{
printf("%3d",alie[k]);
}
printf("\n");
}

说明:
用两个for循环,计算数组元素总和sum,和各行元素子和ahang[i]和各列之和alie[i],0=下面用选择排序法,分别对ahang[i]和alie[i]排序.只是一个选择最小,一个最大,算法几乎一致.
程序是可以使用的.

回答2:

C++版本,VC++上可以运行:
#include
using namespace std;

#define M 4
#define N 4

void BubbleSort(int a[],int len,int type)
{
int temp;
bool flag;
for (int i=0;i {
flag=false;
for (int j=0;j {
if (type?(a[j]>a[j+1]):(a[j] {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=true;
}
}
if (!flag)
break;
}
}
void main()
{
int a[M][N]={{1,2,3,4},{4,5,6,1},{7,8,9,1},{10,11,12,1}};
int row[M]={0},col[N]={0};
int sum=0,i,j;
for (i=0;i {
for (j=0;j {
sum+=a[i][j];
row[i]+=a[i][j];
col[j]+=a[i][j];
}
}
cout<<"Sum = "<
BubbleSort(row,M,1);

cout<<"row[] = {";
for (i=0;i {
cout< }
cout<<"}"<
BubbleSort(col,N,0);

cout<<"col[] = {";
for (j=0;j {
cout< }
cout<<"}"<}