- 计算二维数组的最大值,最大值行列下标,最小值,最小值行列下标。
//计算二维数组的最大值,最大值行列下标,最小值,最小值行列下标 #include<stdio.h> int main() { int a[2][3]={8,5,4,9,4,1},i,j,min,max; int mini,minj,maxi,maxj; for(i=0;i<2;i++) { for(j=0;j<3;j++) { if(i==0&&j==0) { min=max=a[i][j]; } if(min>=a[i][j]) { min=a[i][j]; mini=i+1; minj=j+1; } if(max<=a[i][j]) { max=a[i][j]; maxi=i+1; maxj=j+1; } } } for(i=0;i<2;i++) { for(j=0;j<3;j++) { if(a[i][j]==min) { printf("最小值:a[%d][%d]=%d\n",mini,minj,min); } if(a[i][j]==max) { printf("最大值:a[%d][%d]=%d\n",maxi,maxj,max); } } } return 0; }
结果为:
2.对数组 int arr[]={12,32,45,56,2}中的偶数,用冒泡排序升序(不保留偶数)
//对数组 int arr[]={12,32,45,56,2}中的偶数,用冒泡排序升序(不保留偶数)
#include<stdio.h>
int main()
{
int arr[]={12,32,45,56,2},i,j,t,b;
int n=sizeof(arr)/sizeof(arr[0]);
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(arr[j]>=arr[j+1])
{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
if(arr[i]%2==0)
{
b=arr[i];
printf("%d ",b);
}
}
printf("\n");
return 0;
}
结果为:
3. 对数组 int arr[]={12,32,45,56,2,45,23,67,43,7} 通过简单选择排序 实现升序
//对数组 int arr[]={12,32,45,56,2,45,23,67,43,7} 实现简单选择升序
#include<stdio.h>
int main()
{
int arr[]={12,32,45,56,2,45,23,67,43,7},i,j,t;
int n=sizeof(arr)/sizeof(arr[0]);
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(arr[i]>arr[j])
{
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}
结果为:
4.实现一维数组中最大值和最小值的交换。
//实现一维数组中最大值和最小值的交换
#include<stdio.h>
int main()
{
int a[100],max,min,i,t;
int n,maxi,mini;
printf("您想输入的数组个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("第%d个数字:",i+1);
scanf("%d",&a[i]);
if(i==0)
{
max=min=a[0];
}
if(max<=a[i])
{
max=a[i];
maxi=i;
}
if(min>=a[i])
{
min=a[i];
mini=i;
}
}
t=a[mini];
a[mini]=a[maxi];
a[maxi]=t;
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
结果为: