帮忙看看这个程序的问题,说是错误 noname.c 4: 变量列表语法错误,求高手帮忙

#include<stdio.h>#include<string.h>#defineN4bbchange(a[][]){inti,j;intsum=0;for(i=0,i... #include<stdio.h>
#include<string.h>
#define N 4
bbchange(a[][])
{
int i,j;
int sum=0;
for(i=0,i<N,i++)
{
for(j=0,j<N,j++)
{
if(i==j|i+j==N-1)
a[i][j]=1;
else
sum=sum+a[i][j];
}
}
return sum;
}
void main()
{
int a[N][N];
int s;
printf("please input a[][]");
scanf("%d",a)
s=bbchange(a[N][N]);
printf("a[N][N]=%d,s=%d",a,&s);

}
能帮帮忙写一下流程图么?我追加分……谢谢了
展开
 我来答
百度网友c1994c5f8
2011-05-23 · TA获得超过1332个赞
知道小有建树答主
回答量:264
采纳率:89%
帮助的人:201万
展开全部
先说几个主要的问题
1、bbchange函数定义没有返回值和参数的类型
2、for语句里面应该用;分隔而不是用,
3、矩阵输入和输出用一个语句搞不定。

代码改过,如果要求是对解线全变成1,然后对其余的数求和,那么代码基本上是正确的。
当输入为
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
时,输出为
1 2 3 1
5 1 1 8
9 1 1 12
1 14 15 1
s=68
//---------------------------------------------------------------------
#include<stdio.h>
#include<string.h>

#define N 4

int bbchange(int a[N][N])
{
int i,j;
int sum=0;

for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if((i==j)|((i+j)==(N-1)))
a[i][j]=1;
else
sum=sum+a[i][j];
}
}
return sum;
}

void main()
{
int a[N][N],*p=a[0],i,j;
int s;
printf("please input a[%d][%d]\n",N,N);
//scanf("%d",a);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",p+i*N+j);

s=bbchange(a);

//printf("a[N][N]=%d,s=%d",a,&s);

printf("变化后矩阵:\n");

for(p=*a,i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%3d ",*(p+i*N+j));
printf("\n");
}

printf("\n s=%d ",s);

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式