定义一个4*3的二维数组,从键盘输入各元素值,按行列格式输出此数组 10
2题
改错.程序功能为:输入两个正整数m和n(m和n应≥1且≤6),然后输入该m行n列二维数组a中的元素,分别求出各行元素之和,并输出。
有错的源程序
#include <stdio.h>
int main( )
{
int a[6][6], i, j, m, n, sum;
printf("input m, n:");
scanf("%d%d",&m,&n);
printf("input array:\n");
for(i=0;i<m;i++) //断点1
for(j=0;i<n;j++)
scanf("%d",&a[i][j]);
sum=0; //断点2
for(i=0;i<m;i++){
for(j=0;j<n;j++)
sum=sum+a[i][j];
printf("sum of row %d is %d\n",i,sum); //断点3
}
return 0; 展开
#include<iostream>
usingnamespacestd;
intmain()
{
inta[4][3];
intMax=0;//赋值之前需要先置为0
cout<<"pleaseinput12numbers:"<<endl;
for(inti=0;i<4;i++)//嵌套循环,用于向二维数组中输入内容
{
for(intj=0;j<3;j++)
{
cin>>a[i][j];
}
}
for(intm=0;m<4;m++)//用于判断数组中的最大元素是多少
{
for(intn=0;n<3;n++)
{
if(a[m][n]>=Max)
{
Max=a[m][n];
}
}
}
cout<<"thebiggestnumberis"<<Max<<endl;
for(intp=0;p<4;p++)//用于判断最大元素所在的位置
{
for(intq=0;q<3;q++)
{
if(Max==a[p][q])
{
cout<<"它在第"<<p+1<<"行,"<<"第"<<q+1<<"列"<<endl;
}
}
}
return0;
}
扩展资料:
main函数,经常带有参数argc,argv,如下:intmain(intargc,char**argv)intmain(intargc,char*argv[])这两个参数的作用是;
argc是指命令行输入参数的个数,argv存储了所有的命令行参数。假如你的程序是hello.exe,如果在命令行运行该程序,(首先应该在命令行下用cd命令进入到hello.exe文件所在目录)
运行命令为:hello.exeShiqiYu那么,argc的值是3,argv[0]是"hello.exe",argv[1]是"Shiqi",argv[2]是"Yu"。
下面的程序演示argc和argv的使用:#include<stdio.h>intmain(intargc,char**argv){inti;for(i=0;i<argc;i++)printf("Argument%dis%s.\n",i,argv[i]);return0;}
假如上述代码编译为hello.exe,那么运行hello.exeabcde将得到Argument0ishello.exe.Argument1isa.Argument2isb.Argument3isc.Argument4isd.Argument5ise.
运行hello.exelena.jpg将得到Argument0ishello.exe.Argument1islena.jpg.
第一个
#include <stdio.h>
int main( )
{
int a[4][3], i, j;
printf("input array:\n");
for(i=0;i<4;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
第二个
#include <stdio.h>
int main( )
{
int a[6][6], i, j, m, n, sum;
printf("input m, n:");
scanf("%d%d",&m,&n);
printf("input array:\n");
for(i=0;i<m;i++) //断点1
for(j=0;j<n;j++)//修改i<n为j<n
scanf("%d",&a[i][j]);
for(i=0;i<m;i++){
sum=0; //断点2 //将sum=0移到循环内
for(j=0;j<n;j++)
sum=sum+a[i][j];
printf("sum of row %d is %d\n",i+1,sum); //断点3 //这里不算有什么问题,只不过是第0行开始,既然加了断点,那么改成从1计数好了
}
return 0;
}