目录
1. 终端循环输入几个数赋值给二维整形数组arr,求最大值以及所在行列
#include <stdio.h>
int main()
{
int arr[2][3] = {0};
int num;
int i,j;
//循环输入数组数据
printf("请输入数组对应的数据:\n");
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
printf("请输入第%d行第%d列数据:",i,j);
scanf("%d",&arr[i][j]);
}
}
//输出刚才的数组
printf("您刚才输入的二维数组为:\n");
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d\t",arr[i][j]);
}
printf("\n");
}
//求最大值以及所在的行列
int max = 0;
int row=0,column=0;
for(i = 0; i < 2; i++)
{
for (j = 0;j < 3; j++)
{
if (max <= arr[i][j])
{
max = arr[i][j];
//此时的行列
row = i;
column = j;
}
}
}
printf("最大值在%d行%d列\n",row+1,column+1);
return 0;
}
2. 定义一个一维数组 int a[]= {1,2,3,4,5,6,7,8},
(1) 求一维数组的长度
(2) 并将所有奇数下标元素自乘3,偶数下标元素自增2.输出变化后的数组
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[]= {1,2,3,4,5,6,7,8};
//该数组的长度
int len = sizeof(a) / sizeof(int);
printf("该数组的长度为:%d\n",len);
for (int i = 0; i < len; i++)
{
if (i % 2 == 0) //偶数
{
a[i] += 2;
}
else
{
a[i] *= 3;
}
}
//变化后的数组
for (int j = 0; j < len; j++)
{
printf("%d\t",a[j]);
}
return 0;
}
3. 一维整形整形数组逆置,例如: arr[5] ={1,2,3,4,5} 输出 {5,4,3,2,1}
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[5] = {1,2,3,4,5};
int arr1[5];
int temp = 0;
for (int i = 0; i < 5; i++)
{
arr1[i] = arr[5 - 1 - i];
}
for (int j = 0; j < 5; j++)
{
printf("%d\t",arr1[j]);
}
return 0;
}
4. 冒泡排序,int arr[8] = {88,22,33,66,11,66,101,2}
#include <stdio.h>
int main()
{
int arr[8] = {88,22,33,66,11,66,101,2};
int len = sizeof(arr)/sizeof(int);
int i;
int temp;
for (int i = 0;i < len-1; i++)
{
for (int j = 0; j < len - 1 - i; j++ )
{
if (arr[j] > arr[j+1])
{
//交换两个数据
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (i = 0; i <= len-1; i++)
{
printf("%d\t",arr[i]);
}
printf("\n");
return 0;
}