C语言数组元素求和的编写程序(具体的步骤)
题目如下输入:a[4][4]={1,2,3,4}{4,5,6,1}{7,8,9,1}{10,11,12,1}求数组元素之和;求各行元素之和,并按数值从小到大排列输出;求个...
题目如下
输入:
a[4][4]={1,2,3,4}{4,5,6,1}{7,8,9,1}{10,11,12,1}
求数组元素之和;求各行元素之和,并按数值从小到大排列输出;求个列元素之和,并按数值从大到小排列输出。 展开
输入:
a[4][4]={1,2,3,4}{4,5,6,1}{7,8,9,1}{10,11,12,1}
求数组元素之和;求各行元素之和,并按数值从小到大排列输出;求个列元素之和,并按数值从大到小排列输出。 展开
展开全部
程序如下:
#include <stdio.h>
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)
{
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=<i<=3;
下面用选择排序法,分别对ahang[i]和alie[i]排序.只是一个选择最小,一个最大,算法几乎一致.
程序是可以使用的.
#include <stdio.h>
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)
{
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=<i<=3;
下面用选择排序法,分别对ahang[i]和alie[i]排序.只是一个选择最小,一个最大,算法几乎一致.
程序是可以使用的.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C++版本,VC++上可以运行:
#include<iostream>
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<len-1;i++)
{
flag=false;
for (int j=0;j<len-1-i;j++)
{
if (type?(a[j]>a[j+1]):(a[j]<a[j+1]))
{
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<M;i++)
{
for (j=0;j<N;j++)
{
sum+=a[i][j];
row[i]+=a[i][j];
col[j]+=a[i][j];
}
}
cout<<"Sum = "<<sum<<endl;
BubbleSort(row,M,1);
cout<<"row[] = {";
for (i=0;i<M;i++)
{
cout<<row[i]<<",";
}
cout<<"}"<<endl;
BubbleSort(col,N,0);
cout<<"col[] = {";
for (j=0;j<N;j++)
{
cout<<col[j]<<",";
}
cout<<"}"<<endl;
}
#include<iostream>
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<len-1;i++)
{
flag=false;
for (int j=0;j<len-1-i;j++)
{
if (type?(a[j]>a[j+1]):(a[j]<a[j+1]))
{
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<M;i++)
{
for (j=0;j<N;j++)
{
sum+=a[i][j];
row[i]+=a[i][j];
col[j]+=a[i][j];
}
}
cout<<"Sum = "<<sum<<endl;
BubbleSort(row,M,1);
cout<<"row[] = {";
for (i=0;i<M;i++)
{
cout<<row[i]<<",";
}
cout<<"}"<<endl;
BubbleSort(col,N,0);
cout<<"col[] = {";
for (j=0;j<N;j++)
{
cout<<col[j]<<",";
}
cout<<"}"<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询