12/30作业

该文包含四个C语言程序,分别实现了以下功能:1)输入二维数组并找到最大值及其位置;2)计算一维数组长度,对奇偶下标元素进行特定运算;3)反转一维数组;4)对整型数组进行冒泡排序。

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;	 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值