C语言,题目有图,基础比较差,希望过程详细一些!!!!

 我来答
自我编程
2021-03-09 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

结果是142。

步骤1:int x[5][5]={{6,7,8,9,10},
{12,14,16,18,20},
{21 , 22 , 23,24,25},
{1,2,3,4,5},
{3,5,7,9,11}};这句是定义了一个二维数组x,并给初值(每一大括号里一组数字就是对于数组的一行)。

步骤2:printf("% d\n",Sum(x));调用Sum函数并将x的地址传递给Sum函数,之后打印Sum的返回值。

步骤3:执行Sum,

for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
s+=a[i][j];

就是一个两层循环,每执行一次i循环,就完整地执行一个j循环周期,而每执行一次j循环就取出a[i][j]的值并累加到变量s中,最后返回s的值。

这里j循环的初值是受i影响(j=i+1),所以循环顺序:

第一次i循环:i取0,之后执行j循环,j分别取值1,2,3,4,s=s+a[0][1]+a[0][2]+a[0][3]+a[0][4]=0+7+8+9+10=34(s初值0)。

第二次i循环:i取1,之后执行j循环,j分别取值2,3,4,s=s+a[1][2]+a[1][3]+a[1][4]=34+16+18+20=88。

第三次i循环:i取2,之后执行j循环,j分别取值3,4,s=s+a[2][3]+a[2][4]=88+24+25=137。

第四次i循环:i取3,之后执行j循环,j分别取值4,s=s+a[3][4]=137+5=142。

第五次i循环:i取4,j循环不执行。

步骤4:循环结束返回s的值142,并在main函数中打印。

注意:x数组作为参数传递,传的是地址,虽然本题没有改变数组值,但是如你在Sum中改变a数组某个元素值,你会发现x数组也改变。

还有你printf语句少了斜杠printf("% d\n",Sum(x));

KlarkKenter
2021-03-09 · TA获得超过1681个赞
知道小有建树答主
回答量:1540
采纳率:0%
帮助的人:362万
展开全部

行号i,列号j,满足i>=j的左对角线下方的数据+1

00  01  02

10  11  12

20  21  22

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜欢音乐的耳机
2021-03-09
知道答主
回答量:19
采纳率:100%
帮助的人:1.7万
展开全部

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黔丶老吕
2021-03-08 · TA获得超过339个赞
知道小有建树答主
回答量:366
采纳率:66%
帮助的人:35.7万
展开全部
二维数组a的所有值表示为:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2];

FUN函数表示当行标大于等于列标的时候,该值加1.满足要求的有:a[0][0],a[1][0],a[1][1],a[2][0],a[2][1],a[2][2].
FunPrint函数功能是打印整个二维数组。
所以输出为:1, 1, 2, 6, 5, 3, 7, 8, 9,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式