c语言求二维数组中所有元素的和 用c语言编程 急死了 一个5行5列的二维数组中,找出这样的元...

作者&投稿:贺追 (若有异议请与网页底部的电邮联系)

#include<stdio.h> 

int main(void)

{

int ar[3][3]= { {1,2,3},

{4,5,6},

{7,8,9}

};

int num;

int i,j;

int k = 0,sum=0;

int (*ptr)[3];

ptr = ar;

num = sizeof(ar) / sizeof(ar[0]);

printf("num = %d
",num);

printf("%d
",*(*(ptr +0) + 1));

for(i = 0; i < 3 ;i++)

{

for(j = 0 ;j < 3; j++)

{

k += *(*(ptr + i)+j);

//sum += k;     

}

}

printf("%d
",k);

return 0;

}

扩展资料:

main()函数用法:

大多数UNIX系统对main函数提供了三个参数,原型如下:

intmain(intargc,char*argv[],char*env[]);

其中第三个参数是环境表地址。

ANSIC规定main函数只有两个参数,而且第三个参数与全局变量environ相比也没有带来更多益处,所以POSIX.1也规定应使用environ而不使用第三个参数。

通常用getenv和putenv函数来存取特定的环境变量,而不是用environ变量。

main函数的原型多是下面这种形式:

intmain(intargc,char*argv[]),参数argc代表了输入参数的个数,char*argv[]表示传入的参数的字符串,是一个字符串数组。

例如在linux平台下编写一个小程序:

int main(intargc,char*argv[])

int i;

printf("argc:%d\n",argc);

for(i=0;i<argc;i++)

printf("argv[%d]:%s\n",i,argv[i]);

exit(0);

用gcc编译后形成一个a.out的可执行的文件,运行a.out,其结果是:

argc=1,argv[0]=”a.out”

运行的程序的文件名,也占用一个参数位置,也就是说argv数组中的第一个单元指向的字符串总是可执行程序的名字,以后的单元指向的字符串依次是程序调用时的参数。这个赋值过程是操作系统完成的,只需要拿来用就可以了。

在命令行参数的提交中,系统会自动给指针数组后加上一个NULL,所以for(i=0;i<argc;i++)这句也可以换成while(*argv!=NULL)

int main(intargc)省略其它参数的定义也是可以的,这样运行时候argc就直接返回参数个数,而不返回其它。

运行命令行参数带有char*argv[]的时候,如果输入参数带有空格,应该用双引号括起来。



遍历二维数组,逐个累加即可。

以二维数组为10行5列为例。

int a[10][5],i,j,s=0;
for(i = 0; i < 10; i ++)
    for(j = 0; j < 5; j ++)
        scanf("%d",&a[i][j]);//输入每个元素的值。
for(i = 0; i < 10; i ++)
    for(j = 0; j < 5; j ++)
        s+=a[i][j];//累加每个元素
        
printf("%d",s);//输出结果。


#include<stdio.h>
#define N 5    //可以改变数组的行数,***但是输数的时候要注意***
#define M 4    //可以改变数组的列数
void main()
{
    int i,j,a[][];
    int sum=0;//用于求和
    printf("请输入数:");
    for(i=0;i<N,i++)
    {
        for(j=0;j<M,j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i=0;i<N,i++)
    {
        for(j=0;j<M,j++)
        {
            sum = sum + a[i][j];
        }
    }
    printf("数组总和为%d
",sum);
    return 0;
    }
    希望对你有用,谢谢,望采纳!!!


1 #include <stdio.h>
2 int main()
3 {
4 int a[4][5] = {1,2,3,4,5,6,7,8,9};
5 int sum = 0;
6 int i,j;
7 for(i=0;i<sizeof(a)/sizeof(*a);i++)
8 for(j=0;j<sizeof(*a)/sizeof(int);j++)
9 {
10 sum += a[i][j];
11 }
12 printf("sum = %d\n",sum);
13 return 0;
14 }

int main(void)
{
int a[i][j]={};//数值按你自己的要求加进去
int k,m;
int sum= 0;
for(k = 0;k<i;k++)
for(m = 0;m<j;m++){
sum=+a[k][m];
}
printf("the sum is %d\n",sum);
return 0;
}

急。。。。(c语言)定义二维数组表示一个矩阵,求上三角所有元素之和。代码 。。。。。~

函数 fun() 计算上三角所有元素之和。参数1是数组,参数2是n*n数组大小n.
返回 上三角元素之和。
调用方法: fun(&a[0][0],n)
程序如下:

#include
#include

float fun(float *a, int n){
int i,j;
float sum=0;
for (j=0;j<n;j++)
for (i=j;i<n;i++)sum = sum + a[j*n+i];
return sum;
}

main(){
float a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int n=4;
printf("%g",fun(&a[0][0],n));
return 0;
}

算例输出: 70

C语言程序:
#include #define MAX 5void main(){int arr[MAX][MAX] = {{1,2,3,4,5},{2,2,3,0,2},{1,0,3,-1,0},{5,2,1,4,1},{2,2,3,4,1}};int result[MAX][3];int sum_row[MAX];/* 计算一行的值 */int sum_col[MAX];/* 计算一列的值 */int row, col, i, j;int sum1, sum2;int k = 0;for(i=0; i<MAX; i++){sum_row[i] = 0;for(col=0; col<MAX; col++){sum_row[i] += arr[i][col];}sum_col[i] = 0;for(row=0; row<MAX; row++){sum_col[i] += arr[row][i];}}for(row=0; row<MAX; row++){for(col=0; col<MAX; col++){if(sum_row[row] == sum_col[col]){result[k][0] = row;result[k][1] = col;result[k][2] = arr[row][col];k++;}}}/* 输出 */for(i=0; i<k; i++){printf("%d:(%d, %d, %d)
", i+1, result[i][0], result[i][1], result[i][2]);}}
运行结果:

C语言编程 输入一个5行6列的二维数组,求该数组每列元素之和,输出...
答:include <stdio.h> void main() { int a[5][6]; int i,j; for(i=0;i<5;i++) for(j=0;j<6;j++) scanf("%d",&a[i][j]); for(j=0;j<6;j++) { int sum=0; for(i=0;i<5;i++) { sum+=a[i][j]; } printf("第%d列的元素之和为:%d\n",j,sum); } }...

用C语言编写一Total函数,求N行M列的二维数组中所有数的和
答:当行列较多,或元素数值较大时,和可能很大,所以Total函数用double送返。元素数值用 float 型 (允许输入float,int值)。N,M不定,所以动态分配数组。假定N,M大于等于2。include <stdio.h> include <stdlib.h> double Total(float **a,int N,int M) ; // 函数原型 main (int argc, char ...

...有一个5x5的二维数组,编写程序求:(1)所有元素的和;(2)主对角线元素...
答:题主题目没写全~~~(4)是什么?还有别的要求么?我先给你一份包含所有元素和、主对角线和、次对角线和、最大值、最小值的代码吧 include <stdio.h>#define LEN 50 /*数组长度*//*录入矩阵内容*/ int inputMatrix (int matrix[LEN][LEN], int row, int col) {int i,j;printf ("请...

C语言程序设计:输入一个5行6列的二维数组,求该数组每列元素之和,并输出...
答:int main(int argc,char *[]argv){ int array[5][6];for(int i=0;i<5;i++) { for(int j=0;j<6;j++) { array[i][j]=i*j;} } for(int j=0;j<6;j++) { for(int i=0;i<5;i++) { sum+=array[i][j];} printf("sum of col %d is:%d",j,sum);sum=0;} ...

c语言编程 求具有4行4列数据的二维数组的每列元素之和,并将其放入该...
答:include <stdio.h> int main(){ int num[5][4];int i,j,sum;for(i=0;i<4;i++){ for(j=0;j<4;j++){ num[i][j] = i+j;} } for(j=0;j<4;j++){ sum = 0;for(i=0;i<4;i++){ sum += num[i][j];} num[4][j] = sum;} for(i=0;i<5;i++){ for(...

c语言题 输入一个5行4列的二维数组,求各行元素之和并将这些和按从小到...
答:2012-12-13 输入一个5行4列的二维数组,将数组里所有元素按从小到大顺序排... 2016-06-02 C语言 1、由程序随机产生一个5行7列的二维数组A并显示 ,... 9 2014-07-22 C语言编程 输入一个5行6列的二维数组,求该数组每列元素之和... 5 2013-11-20 C语言~输入5行4列的整型二维数组,按每行的和...

编写程序,从键盘输入一个3行3列的二维数组,求数组中所有奇数的和
答:以下是一个用 C 语言编写的程序,可以从键盘输入一个3行3列的二维数组,计算数组中所有奇数的和:include <stdio.h> int main() { int arr[3][3];int sum = 0; // 奇数的和 // 从键盘输入数组元素值 printf("请输入3行3列的二维数组:\n");for (int i = 0; i < 3; i++)...

如何用c语言实现一维数组和二维数组的相加
答:首先根据程序的要求我们可以知道,我们要定义一个二维数组来存储从键盘输入的数据,同时要求我们输出对角线的元素,我们可以得到对角线元素的行数值和列数值相等,所以说我们只需输出行数值和列数值相等的元素还有行数值加列数为5的元素。正确代码:include <stdio.h> int main() { int d[5][5];int...

C语言中,求二维数组的每一行的和与平均值
答:include <stdio.h>#include <string.h>int main(){int i=0,j=0,total=0;float avr=0;int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};for (i=0;i<3;i++){total=0;for (j=0;j<3;j++){total +=a[i][j];}avr = (float)(total/3.0);printf("sum[%d] aver[%...

求用c语言求一个二维数组中每行的最大值和每行的和
答:{int i,max=*p; for(i=1;i<m;i++) if(*(p+i)>max)max=*(p+i); return max; }int main(){ int n,m,i,j,a[100][100]; scanf("%d%d",&n,&m);//读入n,m for(i=0;i<n;i++)//读入n*m的二维数组 for(j=0;j<m;j++) scanf("%d"...