点赞(0)
 

0.0分

18 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 10 条评论

迪迦 4月前 回复TA
@uq_56708919617 正确代码如下:    #include <stdio.h> int main() {     int arr[10][10];     int sum1 = 0, sum2 = 0, sum3 = 0;     int N;     scanf("%d", &N);     int i = 0;     int j = 0;     for (i = 0; i < N; i++)     {         for (j = 0; j < N; j++)         {             scanf("%d", &arr[i][j]);         }     }     for (i = 0; i < N; i++)     {         sum1 = sum1 + arr[i][i];     }     i = 0;     j = N - 1;     while (i < N)     {         sum2 = sum2 + arr[i][j];         i++;         j--;         if (i == j)         {             sum2 -= arr[i][j];         }     }     sum3 = sum1 + sum2;     printf("%d", sum3);     return 0; }
迪迦 4月前 回复TA
@uq_56708919617 // #include <stdio.h> // #include <math.h> // int main() // { //     int N, arr[10][10], sum = 0; //     scanf("%d", &N); //     for (int i = 0; i < N; i++) //     { //         for (int j = 0; j < N; j++) //         { //             scanf("%d", &arr[i][j]); //         } //     } //     for (int i = 0; i < N; i++) //     { //         for (int j = 0; j < N; j++) //         { //             if (i == j || i + j == N - 1) //             { //                 sum += arr[i][j]; //             } //         } //     } //     printf("%d", sum); //     return 0; // }  #include <stdio.h> int main() {     int arr[10][10];     int sum1 = 0, sum2 = 0, sum3 = 0;     int N;     scanf("%d", &N);     int i = 0;     int j = 0;     for (i = 0; i < N; i++)     {         for (j = 0; j < N; j++)         {             scanf("%d", &arr[i][j]);         }     }     for (i = 0; i < N; i++)     {         sum1 = sum1 + arr[i][i];     }     i = 0;     j = N - 1;     while (i < N)     {         sum2 = sum2 + arr[i][j];         i++;         j--;         if (i == j)         {             sum2 -= arr[i][j];         }     }     sum3 = sum1 + sum2;     printf("%d", sum3);     return 0; }
迪迦 4月前 回复TA
@uq_56708919617 不对,第二个for循环把判断条件里的i改成j,while循环中会重复加上 i,j值相等的情况,需要在结果中减掉
crj 8月前 回复TA
#include<stdio.h>
int main()
{
    int arr[10][10] = { 0 },n,sum=0;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
       for(int j=0;j<n;j++)
           scanf("%d", &arr[i][j]);
    for (int c = 0, k = 0; c < n; c++, k++)
        sum += arr[c][k];
    for (int c = n - 1, k = 0; k < n; c--, k++)
        sum += arr[c][k];
    if(n%2)
        printf("%d", sum-arr[n/2][n/2]);
    else
        printf("%d", sum);
    return 0;
}
uq_56708919617 9月前 回复TA
#include<stdio.h>
int main()
{
int arr[10][10];int sum1=0,sum2=0,sum3=0;
int N;scanf("%d",&N);
int i=0;int j=0;
for(i=0;i<N;i++)
{
 for(j=0;i<N;j++)
    {
        scanf("%d",&arr[i][j]);
    }
}
for(i=0;i<N;i++)
{
    sum1=sum1+arr[i][i];
}
i=0;j=N-1;
while(i<N&&j>=0)
{
    sum2=sum2+arr[i][j];
    i++;
    j--;
}
sum3=sum1+sum2;
printf("%d",sum3);
return 0;
}
这个代码是对的吗?我提交显示时间超了
小辣鸡 1年前 回复TA
@小辣鸡 为什么不能用动态数组????
小辣鸡 1年前 回复TA
int main()
{
    int n,a[n][n],sum1=0,sum2=0,i,j,sum3=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&a[i][j]);
            if(i==j)
            sum1=sum1+a[i][j];
            if(i+j==n-1&&i!=j)
            sum2=sum2+a[i][j];
        }
    }
    sum3=sum1+sum2;
    printf("%d",sum3);
    return 0;
}
大佬们,我这个为什么不对呀,就83分,裂开
史珍香 1年前 回复TA
@老狗 数组不能这样定义,得明确定义是几维数组
老狗 1年前 回复TA
想问一下在定义数组的时候,定义的是a[N][N]或者a[i][j]都是:Segmentation fault是什么原因啊?
#include<stdio.h>
int main()
{
	int N,i,j,sum=0;
	int a[N][N];
	scanf("%d",&N);
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
        {
            scanf("%d",&a[i][j]);
            if(i==j||i+j==N-1)
            sum=sum+a[i][j];
        }
    }
    printf("%d",sum);
	return 0;
}
陶西 2年前 回复TA
x,y的初始值为1;两者都小于等于阶数可能更好理解一点