
本人刚开始学C语言,是菜鸟一名,希望哪位高手帮忙改一下我的这个程序。
#include<stdio.h>intinput(intarrar[2][2]){inti,j;for(i=0;i<2;i++){for(j=0;j<2;j++){sc...
#include<stdio.h>
int input(int arrar[2][2])
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",&arrar[i][j]);
}
printf("\n");
}
return arrar;
}
int sum(int arr1[2][2],int arr2[2][2])
{
int i,j;
int b[2][2];
arr1=input(arrar);
arr2=input(arrar);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
b[i][j]=arr1[i][j]+arr2[i][j];
}
}
return (b,arrar);
}
void main()
{
int b[2][2],s,i,j;
sum(b,arrar);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d",b[i][j]);
}
}
} 展开
int input(int arrar[2][2])
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",&arrar[i][j]);
}
printf("\n");
}
return arrar;
}
int sum(int arr1[2][2],int arr2[2][2])
{
int i,j;
int b[2][2];
arr1=input(arrar);
arr2=input(arrar);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
b[i][j]=arr1[i][j]+arr2[i][j];
}
}
return (b,arrar);
}
void main()
{
int b[2][2],s,i,j;
sum(b,arrar);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%d",b[i][j]);
}
}
} 展开
4个回答
展开全部
可以不用函数的,代码:
#include <stdio.h>
int main()
{
int i,j;
int array1[2][2],array2[2][2];
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&array1[i][j]);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&array2[i][j]);
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
printf("%d ",array1[i][j]+array2[i][j]);
printf("\n");
}
return 0;
}
#include <stdio.h>
int main()
{
int i,j;
int array1[2][2],array2[2][2];
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&array1[i][j]);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
scanf("%d",&array2[i][j]);
for(i=0;i<2;i++)
{ for(j=0;j<2;j++)
printf("%d ",array1[i][j]+array2[i][j]);
printf("\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2楼不用函数的解法虽然正确,但不符合程序设计模块化设计的思想,初学编程最好学习养成有全局的整体规划(我要实现的完整功能)和局部函数模块化设计(功能分一化)的思想,这是很重要的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void input(int arrar[2][2])
{
int i,j;
printf("input:");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",&arrar[i][j]);
}
}
}
void sum(int b[2][2])
{
int i,j;
int arr1[2][2],int arr2[2][2];
input(arr1);
input(arr2);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
b[i][j]=arr1[i][j]+arr2[i][j];
}
}
}
void main()
{
int b[2][2],s,i,j;
sum(b);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%4d",b[i][j]);
}
}
printf("\n");
}
void input(int arrar[2][2])
{
int i,j;
printf("input:");
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
scanf("%d",&arrar[i][j]);
}
}
}
void sum(int b[2][2])
{
int i,j;
int arr1[2][2],int arr2[2][2];
input(arr1);
input(arr2);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
b[i][j]=arr1[i][j]+arr2[i][j];
}
}
}
void main()
{
int b[2][2],s,i,j;
sum(b);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%4d",b[i][j]);
}
}
printf("\n");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本意很好,原本想用二维数组作为形参,又想返回返回一个数组,再打印出来。
学了后面的指针,这些问题才能解决。
学了后面的指针,这些问题才能解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询