1.终端循环输入几个数赋值给二维整形数组arr,求最大值以及所在行 列
#include<stdio.h>
int main(int argc, const char *argv[])
{
int m,n,i,j,maxi,maxj;
int max=0;
printf("输入数组行列:");
scanf("%d %d",&m,&n);
int arr[m][n];
printf("向数值输入数据:");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
maxi=i+1;
maxj=j+1;
}
}
}
printf("最大值为%d,在第%d行,%d列",max,maxi,maxj);
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 l;
int i;
l=sizeof(a)/sizeof(int);
printf("数组长度为%d\n",l);
for(int i = 0;i<l;i++)
{
if(i%2 == 0)
{
a[i] += 2;
}
else
{
a[i] *= 3;
}
}
for(int i = 0;i<l;i++)
{
printf("a[%d] = %d\n",i,a[i]);
}
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 m,i;
printf("输入一维数组列数:");
scanf("%d",&m);
int arr[m];
printf("输入数据:");
for(i=0;i<m;i++)
{
scanf("%d",&arr[i]);
}
for(i=0;i<=m;i++)
{
printf("%d\n",arr[m-i]);
}
return 0;
}
4.冒泡排序,int arr[8] = {88,22,33,66,11,66,101,2}.
#include<stdio.h>
int main(int argc, const char *argv[])
{
int arr[8] = {88,22,33,66,11,66,101,2};
int i,j;
int temp;
int l=sizeof(arr)/sizeof(int);
for(i=0;i<l;i++)
{
for(j=0;j<l-i-1;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("排列后的数据为\n");
for(i=0;i<l;i++)
{
printf("%d\n",arr[i]);
}
return 0;
}
该文包含四个C语言程序,分别实现了以下功能:1)输入二维数组并找到最大值及其位置;2)计算一维数组长度,对奇偶下标元素进行特定运算;3)反转一维数组;4)对整型数组进行冒泡排序。
3818

被折叠的 条评论
为什么被折叠?



