C语言练习Day 4

  1. 计算二维数组的最大值,最大值行列下标,最小值,最小值行列下标。
    //计算二维数组的最大值,最大值行列下标,最小值,最小值行列下标
    #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;
}

结果为:

               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ck钉钉钉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值