中易网

请写下以下c语言的算法描述

答案:3  悬赏:30  
解决时间 2021-01-17 05:07
  • 提问者网友:原来太熟悉了会陌生
  • 2021-01-16 08:48
请写下以下c语言的算法描述
最佳答案
  • 二级知识专家网友:孤独的牧羊人
  • 2021-01-16 09:18
#include "stdio.h"
int myfun(int (*p)[4])
{
int i,j,k;
for(i=0;i<4;p[i][3-i]=p[i][i++]=1); //将二条对角线的元素全部置为1
for(k=i=0;i<4;i++) //求所有元素的和
for(j=0;j<4;k+=p[i][j++]);
return k-8; //返回值为除8个对角线(值均为1)以外所有元素的和
}
void main(void){
int a[4][4],i,j,k,t=2; //t=2,结合下面的while循环,循环2次
while(t--)
{
printf("请输入16个数值作为4*4的数组\n");
for(i=0;i<4;i++) //输入4*4数组
for(j=0;j<4;scanf("%d",&a[i][j++]));
k=myfun(a); //调用函数
for(i=0;i<4;i++){ //输出调用后的数组
for(j=0;j<4;printf("%3d",a[i][j++]));
printf("\n");
}
printf("其余元素之和为:%d\n",k); //输出返回值,除二条对角线以外各元素的和
}
}
全部回答
  • 1楼网友:走死在岁月里
  • 2021-01-16 11:00
是需要给出程序的注释?追问比如:
S1 定义、初始化变量
S1.1 int i /*循环计数变量*/
S1.2 double sum /*计和*/
S1.3 double average /*计平均值*/
S2 计算并显示平均值
S2.1 循环计数变量i=1追答这个简单的哇,你写不出来?追问大一新生。。还没怎么学呢
  • 2楼网友:鸠书
  • 2021-01-16 10:10
执行(b=6)后,b的值等于6,而且该赋值语句的值也等于6;所以c=a+(b=6)等价于c=12+6=18;倒数第二句的执行顺序是从右往左,第一步,a*a=12*12=144a仍然等于初值12;第二步,a-=144,即a=12-144=-132,注意a的值已经变为-132;第三步,a+=-132,即a=-132+(-132)=-264.希望能帮到你理解。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息