终端循环输入几个数赋值给二维整形数组arr,求最大值以及所在行 列
定义一个一维数组 int a[]= {1,2,3,4,5,6,7,8}, (1) 求一维数组的长度 (2) 并将所有奇数下标元素自乘3,偶数下标*元素*自增2.输出变化后的数组
.维整形整形数组逆置,例如: arr[5] ={1,2,3,4,5} 输出 {5,4,3,2,1}
冒泡排序,int arr[8] = {88,22,33,66,11,66,101,2}.
第一题代码展示
用两个循环来输入数组,再通过两个for循环来对比数组数值大小,并将最大值存入max,将数组的行列存入row,col
#include <stdio.h>
int main(void)
{
int arr[5][5];
int max,row,col;
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
scanf("%d",&arr[i][j]);
}
}
max=arr[0][0];
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
if(arr[i][j]>max)
{
max=arr[i][j];
row=i;
col=j;
}
}
}
printf("最大值以及下标为:");
printf("%d %d %d\n",max,row,col);
return 0;
}
第二题代码展示
通过sizeof计算出数组长度,在遍历数组,对数组的每一个元素进行操作,然后输出数组
#include <stdio.h>
int main(void)
{
int arr[]={1,2,3,4,5,6,7,8};
int length;
length=sizeof(arr)/sizeof(int);
for(int i=0;i<length-1;i++)
{
if(i%2==0)
{
arr[i]=arr[i]*i+2;
}
else
{
arr[i]=arr[i]*3;
}
}
printf("数组长度为:");
printf("%d\n",length);
for(int i=0;i<length-1;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}
第三题代码展示
定义两个同大小的数组,通过数组对地位和数组最高位进行赋值,最后可以得到逆序数组
#include <stdio.h>
int main(void)
{
int arr[5]={1,2,3,4,5},brr[5];
for(int i=0;i<5;i++)
{
brr[4-i]=arr[i];
}
for(int i=0;i<5;i++)
{
printf("%d ",brr[i]);
}
return 0;
}
第四题代码展示
用冒泡排序实现数组的输出,通过两个for循环和一个中间变量,实现数组的排序
#include <stdio.h>
int main(void)
{
int arr[8]={88,22,33,66,11,66,101,2};
int i,j;
int temp;
for(i=0;i<8;i++)
{
for(j=0;j<7-i;j++)
{
if(arr[j]<arr[j+1])
{
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
printf("冒泡后的数组:");
for(i=0;i<8;i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/a19f3cece7d603e6763ca50fbc3f0830.png)