扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#includestdio.h
创新互联是一家专注于成都做网站、网站建设与策划设计,突泉网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:突泉等地区。突泉做网站价格咨询:18982081108
int main(int argc, const char * argv[])
{
int arr[3][4]={34,13,45,67,42,78,56,10,58,45,78,98};
int arr1[3][4];
for (int i=0; i3; i++)//输出所有元素
{
for (int j=0; j4; j++)
{
printf("%d\t",arr[i][j]);
}
printf("\n");
}
for (int i=0; i3; i++)//赋值操作,使其位置相同。
{
for (int j=0; j4; j++)
{
arr1[i][j]=arr[i][j];
}
}
//判断最大数
for (int i=0; i3; i++)
{
for (int j=0; j4; j++)
{
if (arr[0][0]arr[i][j])
{
int temp=arr[0][0];
arr[0][0]=arr[i][j];
arr[i][j]=temp;
}
}
}
printf("最大数:%d\n",arr[0][0]);
//判断最大数的位置
for (int i=0; i3; i++)
{
for (int j=0; j4; j++)
{
if (arr[0][0]==arr1[i][j])
{
printf("它在第%d行第%d列\n",i,j);
}
}
}
//判断最小数
for (int i=0; i3; i++)//判断最小数。
{
for (int j=0; j4; j++)
{
if (arr[0][0]arr[i][j])
{
int temp=arr[0][0];
arr[0][0]=arr[i][j];
arr[i][j]=temp;
}
}
}
printf("最小数:%d\n",arr[0][0]);
//判断最小数的位置
for (int i=0; i3; i++)
{
for (int j=0; j4; j++)
{
if (arr[0][0]==arr1[i][j])
{
printf("它在第%d行第%d列\n",i,j);
}
}
}
return 0;
}
扩展资料:
print用法
print(x,y)
等价于
import sys
sys.stdout.write(str(x)+''+str(y)+'\n')
从语法上讲,调用python3.0的print函数有如下的形式:
print([object,...][,seq=''][,end='\n'][,file=sys.stdout])
seq是在每个对象的文本之间插入一个字符串,如果没有桩底的话,它默认是一个单个空格,传递一个空字符串将会一直分隔符
end是添加在打印文本末尾的一个字符串,如果灭有传递的话,它默认的是一个\n换行字符。传递一个控制符串将会避免在打印的文本的末尾移动到下一个输入行-----下一个print将会保持添加到当前输出行的末尾。
file指定了文本将要发送到的文件、标准流或者其他类似文件的对象;如果没有传递的话,它默认的是sys.stdout。带有一个类似文件的write(string)方法的任何对象都可以传递,但真正的文件应该已经为了输出而打开。
#include stdio.h
void main()
{
int a[3][3]={{3,5,8},{12,5,81},{33,55,77}};
int i,j,max,k,n;
max=a[0][0];
for(i=0;i3;i++)
for(j=0;j3;j++)
{
if(a[i][j]max)
max=a[i][j];
k=i;n=j;
}
printf("%d\t%2d%2d",a[k][n],k,n);
}
输入时顺便判断一下就可以了:
#include "stdio.h"
int main(int argv,char *argc[]){
int a[4][4],t,i,j;
printf("任意16个整数:\n");
for(j=0;j4;j++)
for(i=0;i4;i++){
scanf("%d",a[i][j]);
if(i==0 j==0)//增加以下4行
t=a[0][0];
else if(ta[i][j])
t=a[i][j];
}
printf("The MAX is %d\n",t);//加上这一行
return 0;
}
运行样例:
思路和想法完全正确,仔细看应该是给b[]赋值没有写对位置,在往后一步,放在大括号外面,应该循环比较是两层循环加一个if比较,所以要把赋值在往后移动,等比较全部完成后再赋值给数组保存。
#includestdio.h
//首先指定M和N的值
#define M 3
#define N 3
int main()
{
printf("There are %d rows %d columns.\n", M, N); //输出到屏幕的提示信息
int a[M][N] = { 0 }; //声明一个M行N列的数组,并将全部元素赋初值为0
int i, j; //for循环中要用到
for (i = 0; i M; i++)
{
printf("input %d row's %d values: ", i + 1, N); //输出到屏幕的提示信息
for (j = 0; j N; j++)
scanf("%d", a[i][j]); //对第i行第j列的元素赋值
}
int maxArr[M] = { 0 }; //声明一个含有M个元素的一维数组来存储M个行最大值
for (i = 0; i M; i++)
{
int max = a[i][0]; //先将每一行的第一个数作为最大值
for (j = 1; j N; j++) //找出行最大值
if (max a[i][j])
max = a[i][j];
maxArr[i] = max; //将行最大值存入行最大值数组中
}
for (i = 0; i M; i++) //将每行最大的数输出
printf("%d ", maxArr[i]);
return 0;
}
扩展资料:
二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t
按“列优先顺序”存储时,地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t
存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节
参考资料来源:百度百科-二维数组
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流