c语言第四天作业(一维数组二维数组)

 计算二维数组的最大值,最大值行列下标,最小值,最小值行列下标。

1 #include<stdio.h>
  2 int main(int argc, const char *argv[])
  3 {
  4     int a[3][4];
  5     int i,j,k,max,min,maxj,maxk,minj,mink;
  6     printf("请输入一个三行四列的数组:\n");
  7     for(i=0;i<3;i++)
  8     scanf("%d %d %d %d",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);
  9     for(j=0;j<3;j++)
 10     {
 11         for(k=0;k<4;k++)
 12         {
 13             if(j==0&&k==0)
 14             {
 15                 max=a[0][0];
 16                 min=a[0][0];
 17                 maxj=j;maxk=k;minj=j;mink=k;
 18             }
 19             if(max<a[j][k])
 20             {
 21                 max=a[j][k];
 22                 maxj=j;maxk=k;
 23             }
 24             if(min>a[j][k])
 25             {
 26                 min=a[j][k];
 27                 minj=j;mink=k;
 28             }                                                                                                                 
 29         }
 30     }
31 printf("最大值为%d,下标为%d,%d,最小值为%d,下标为%d,%d\n",max,maxj,maxk,min,minj,mink);
 32     return 0;
 33     }
 

       

对数组 int arr[]={12,32,45,56,2}中的偶数,实现冒泡排序。

1 #include<stdio.h>

  2 int main(int argc, const char *argv[])

  3 {

  4     int i,k,l,n,count,t;

  5     int j=0;

  6     int arr[]={12,32,45,56,2};                                

  7     int brr[4];

  8     for(i=0;i<5;i++)

  9     {

 10         if ((arr[i])%2==0)

 11         {

 12             j++;

 13             brr[j-1]=arr[i];

 14         }

 15     }

 16     for(k=1;k<4;k++)

 17     {

 18        count=0;

 19        for(l=0;l<3;l++)

 20        {

 21            if(brr[l]>brr[l+1])

 22            {

 23                t=brr[l];brr[l]=brr[l+1];brr[l+1]=t;

 24                count++;

 25            }

 26        }

 27        if(count==0)

 28            break;

 29     }

 30     for(i=0;i<4;i++)

 31         printf("%d\t",brr[i]);

 32

 33     return 0;

 34 }

对数组 int arr[]={12,32,45,56,2,45,23,67,43,7} 实现简单选择排序。

 1 #include<stdio.h>

  2 int main(int argc, const char *argv[])

  3 {

  4     int i,j,t,min;

  5     int arr[]={12,32,45,56,2,45,23,67,43,7};

  6     int n=sizeof(arr)/sizeof(arr[0]);

  7     for(i=0;i<n-1;i++){

  8         min=i;

  9         for(j=i+1;j<n;j++)

 10         {

 11             if(arr[min]>arr[j])

 12             {

 13                 min=j;

 14             }

 15         }

 16             if(min!=i)

 17             {

 18                 t=arr[min];arr[min]=arr[i];arr[i]=t;

 19             }

 20         }

 21     for(i=0;i<n;i++)

 22         printf("%d\t",arr[i]);

 23     return 0;

 24 }             

实现一维数组中最大值和最小值的交换。

 1 #include<stdio.h>

  2 int main(int argc, const char *argv[])

  3 {

  4     int a[]={13,26,10,1,9,25};

  5     int i,j,k,t,max,min;

  6     int n=sizeof(a)/sizeof(a[0]);

  7     for(i=0;i<n;i++)

  8     {

  9       if(i==0)

 10       {

 11       max=a[i];

 12       min=a[i];

 13       j=i;

 14       k=i;

 15       }

 16       if(max<a[i])

 17       {

 18       max=a[i];

 19       j=i;

 20       }

 21       if(min>a[i])

 22       {

 23       min=a[i];

 24       k=i;                                                                                                              

 25       }

 26     }

 27       t=a[j];

 28       a[j]=a[k];

 29       a[k]=t;

 30       for(i=0;i<n;i++)

 31           printf("%d\t",a[i]);

 32     return 0;

 33 }

 

 

 

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值