c语言我也是才学,只能这样了
程序代码:
#include<stdio.h>
#define N 3
int main()
{
int i,j,k;
int a[N][N];
scanf("%d %d %d %d %d %d %d %d %d",&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]);//这里的输入格式要注意一下
k=a[0][0]+a[1][1]+a[2][2];
j=a[2][0]+a[1][1]+a[0][2];
printf("\n%d\n%d\n",k,j);
return 0;
}
程序代码:
#include<stdio.h>
#define N 3
int main()
{
int a[N][N],i,j,k;
char ch;
while((ch=getchar())!='\n') // 你要读入的是数字,你用字符输入的话,只能读入一位数的数字还要转化,很麻烦~~
// 而且你这种输入也是错误的
// 你这里的ch读入来一点用也没有啊,读入了你有不引用
{
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
a[i][j]=getchar(); //这里读入的是字符,只能读入一位数的数字,还要转换~~
//读入字符的话 是连空格和回车也要读入的,所以用这种方法来读入本身就是一种错误
}
}
}
k=a[1][1]+a[2][2]+a[3][3]; //数组下标是从a[0][0]开始到a[2][2]
j=a[3][1]+a[2][2]+a[1][3];
printf("%d%2d",k,j);
return 0;
}
//你这程序改也很难改
//综上 你这种方法还是不可取,所以用我那种吧
如果你也是初学c语言的话,建议你还是老老实实的来,不要搞一些很复杂的,又是错误的
这里用scanf函数输入就行了
[
本帖最后由 chen5656de 于 2014-11-15 23:14 编辑 ]