| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1077 人关注过本帖
标题:【求助】自学C语言新人求高手点拨
只看楼主 加入收藏
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:24 
【求助】自学C语言新人求高手点拨
程序代码:
#include<stdio.h>

#define SIZE 5

void main()
{
    int a, b;
    int n[SIZE][SIZE];
    int sum=0;
    int mult=0;
    printf("请输入一个5x5阶的矩阵\n");
    for(a=0;a<SIZE;a++)
    {
        for(b=0;b<SIZE;b++)
        {
            scanf("%d", &n[a][b]);
        }
    }
    for(a=0;a<SIZE;a++)
    {
        for(b=0;b<SIZE;b++)
        {
            if((a==b)||(a+b==4))
            {
                sum+=n[a][b];
            }
            if((a==b)||(a+b==4)&&(a%2==0)&&(b%2==0))
            {
                mult*=n[a][b];
            }
        }
    }
    printf("两条对角线上各元素之和为%d\n", sum);
    printf("两条对角线上行、列下标均为偶数的各元素之积为%d", mult);
}
    

运行没有错误,但是结果却不同,是不是逻辑哪里错了
运行图如下
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: C语言 
2014-12-13 14:24
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
收藏
得分:0 
求大神速速帮助!
2014-12-13 14:24
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
收藏
得分:0 
求助求助,大神快来
2014-12-13 15:02
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
收藏
得分:0 
2014-12-13 17:25
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
收藏
得分:0 
继续求大神,真的是无力了
2014-12-13 18:08
qq2060792279
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-12-13
收藏
得分:0 
你的程序弄得很乱,{}在for当中只有两条语句以上才用,现在多此一举了
2014-12-13 18:52
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
程序代码:
#include<stdio.h>

#define SIZE 5

void main()
{
    int a, b;
    int n[SIZE][SIZE];
    int sum=0;
    int mult=1;
    printf("请输入一个5x5阶的矩阵\n");
    for(a=0;a<SIZE;a++)
        for(b=0;b<SIZE;b++)
            scanf("%d", &n[a][b]);
    for(a=0;a<SIZE;a++)
        for(b=0;b<SIZE;b++)
        {
            if((a==b)||(a+b==4))
                sum+=n[a][b];
            if((a==b)||(a+b==4)&&(a%2==0)&&(b%2==0))
                mult*=n[a][b];
        }
    printf("两条对角线上各元素之和为%d\n", sum);
    printf("两条对角线上行、列下标均为偶数的各元素之积为%d", mult);
}
要将mult初始化为1

一片落叶掉进了回忆的流年。
2014-12-13 19:06
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
收藏
得分:0 
回复 7楼 诸葛欧阳
这样修改以后虽然积可以运行出数字了,但是出来的和和积仍然是错误的,可不可以麻烦帮我看看是否有哪里逻辑错误了导致运行出错?
2014-12-13 19:46
小孩不懂爱
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2014-12-4
收藏
得分:0 
回复 6楼 qq2060792279
出来的和和积是错误的,可不可以麻烦帮我看看是否有哪里逻辑错误了导致运行出错?
2014-12-13 19:46
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
if(((a==b)||(a+b==4))&&(a%2==0)&&(b%2==0))中((a==b)||(a+b==4))少了个括号

一片落叶掉进了回忆的流年。
2014-12-13 20:22
快速回复:【求助】自学C语言新人求高手点拨
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019882 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved