先给你指正第一个代码中的错误:
1、#include“stdio.h”这里的双引号是汉语中的,要换成英文的输入法
2、scanf("%d",z[i]);输入的时候,要加上取地址符号&
3、int i,gs,sum,pj;平均值不可能正好是个整数,所以不能定义为整型,而且你没有赋予初值,所以后面进行运算,肯定会出错;
4、if(z[i]>0)
gs=gs++;
sum+=z[i];
这句表达有误,因为你要统计正数的个数以及他们的和,都用for循环进行控制,所以应该加上花括号;
修改后:
#include "stdio.h"
#define Y 5
main()
{
int z[Y];
int i,gs=0,sum=0;
float pj;
for(i=0;i<Y;i++)
scanf("%d",&z[i]);
for(i=0;i<Y;i++)
if(z[i]>0)
{gs=gs++;
sum+=z[i];}
pj=sum/gs;
printf("gs=%d,sum=%d,pj=%f",gs,sum,pj);
}
对于3*3的矩阵:
1、#include“stdio.h”还是双引号用英文输入法才行,
2、sum没有初始化
3、
if(i=j)这个是==两个才表示等于,你这样是赋值;
修改后:
#include "stdio.h"
main()
{
int z[3][3];
int i,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&z[i][j]);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j)
sum+=z[i][j];
printf("sum=%d",sum);
}