帮忙看看这个程序的问题,说是错误 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);
}
能帮帮忙写一下流程图么?我追加分……谢谢了 展开
#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);
}
能帮帮忙写一下流程图么?我追加分……谢谢了 展开
展开全部
先说几个主要的问题
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);
}
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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询