首页 > 其他分享 >34.c语言数组练习题(牛客网)

34.c语言数组练习题(牛客网)

时间:2024-04-22 21:13:54浏览次数:26  
标签:练习题 arr int ++ 34 牛客 数组 printf sizeof

先打个广告哈哈哈 牛客网练编程题 不错不错哦
image

冒泡排序 必须必须必须会
#include<stdio.h>

void sort(int arr[],int n){
    //外层循环
    for (int i = 0; i < n-1; ++i) {
        int flag=1;  //假设flag=1 就是已经排序好的
        //内层循环
        for (int j = 0; j < n-1-i; ++j) {
            //判断升序 赋值
			//如果是降序的话 把> 改成<即可
            if(arr[j]>arr[j+1]){
                int tem=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tem;
                //如果进行了元素交换 就说明没有排序好
                flag=0;
            }
        }
        if(flag==1){
            break;
        }
    }
}
int main(){
//实现冒泡排序(升序)
// n个元素 外层需要n-1趟  内层n-1-i次比较
int arr[]={9,7,5,4,1,3,2,8};

//第二种情况 假设给的数组已经排好序了 这样再去调用函数 进行两两对比 造成浪费 运用一个flag判断
//    int arr[]={1,2,3,4,5,7,8,9};
int n =sizeof(arr)/sizeof(arr[0]);

//arr数组传参时 传递过去的是arr首元素的地址 &arr[0]
sort(arr,n);
    for (int i = 0; i < n; ++i) {
        printf("%d\t",arr[i]);
    }
}
//键盘随机输入 6 个整数,将这些数据保存到数组中,获取数组中的最小值和最大值并输出 
//还是离不开冒泡排序
    int arr[6]={};
    for (int i = 0; i < 6; ++i) {
        printf("请输入数字:");
        scanf("%d",&arr[i]);
    }
    int n =sizeof(arr)/sizeof(arr[0]);

    for (int i = 0; i < n-1; ++i) {
        for (int j = 0; j < n-1-i; ++j) {
            //判断升序 赋值
            if(arr[j]>arr[j+1]){
                int tem=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tem;
            }
        }
}
    printf("最大值为:%d\n最小值为:%d",arr[5],arr[0]);
 //某公司按照季度和每个季度对应3个月份统计的数据如下:单位(万元)
    //第一季度:22,66,44
    //第二季度:77,33,88
    //第三季度:25,45,65
    //第四季度:11,66,99
    //请使用二维数组保存这些数据,并计算公司年销售总额
	//注意二维数组的行可以省略 列不能省略
    int aaa[][3]={22,66,44,77,33,88,25,45,65,11,66,99};
    //计算二维数组行数
    int a=sizeof(aaa)/sizeof(aaa[0]);
    //计算二维数组列数
    int b = sizeof(aaa[0])/sizeof(aaa[0][0]);
    int sum=0;
    for (int i = 0; i < a; ++i) {
        for (int j = 0; j < b; ++j) {
            sum+=aaa[i][j];
        }
    }
    printf("%d",sum);
//键盘随机输入 6 个整数,将这些数据保存到数组中,先将数组中元素按照格式输出,然后再将数组元素反转,最后按照格式再次输出数组元素
int bbb[6]={};
    for (int i = 0; i < 6; ++i) {
        scanf("%d",&bbb[i]);
    }
    int z=sizeof(bbb)/sizeof(bbb[0]);

    printf("[");
    for (int i = 0; i < z; ++i) {
        printf("%d",bbb[i]);
        if(i!=z-1){
            printf(", ");
        }
    }
    printf("]\n");

    printf("[");
    for (int i = z-1; i >= 0; --i) {
        printf("%d",bbb[i]);
        if(i!=0){
            printf(", ");
        }
    }
    printf("]");

注意注意
一维数组数= sizeof(array)/sizeof(array[0]);
二维数组行数 = sizeof(array)/sizeof(array[0]);
二维数组列数 = sizeof(array[0])/sizeof(array[0][0]);

标签:练习题,arr,int,++,34,牛客,数组,printf,sizeof
From: https://www.cnblogs.com/gaodiyuanjin/p/18151544

相关文章

  • rhce练习题容易错的地方
    rhce练习题里容易错的地方使用导航器的时候,ssh连接因为导航器是一个工具,生成一个容器,在容器里面运行playbook安装软件包的时候,多个软件包使用循环looploop的格式-hosts:NODE1tasks:-name:installphpansible.builtin.yum:name:"{{ite......
  • 牛客小白月赛91 题解
    A.Bingbong的化学世界签到题意:给你苯环的结构,判断类型。思路:按照区别特判即可。代码:#include<bits/stdc++.h>usingnamespacestd;#definefffirst#definesssecond#definepbpush_back#defineall(u)u.begin(),u.end()#defineendl'\n'#definedebug(x)c......
  • 34天【代码随想录算法训练营34期】第八章 贪心算法 part03 (● 1005.K次取反后最大化
    1005.K次取反后最大化的数组和classSolution:deflargestSumAfterKNegations(self,nums:List[int],k:int)->int:nums.sort(key=lambdax:abs(x),reverse=True)foriinrange(len(nums)):ifnums[i]<0andk>0:......
  • 32天【代码随想录算法训练营34期】第八章 贪心算法 part02 (● 122.买卖股票的最佳时
    122.买卖股票的最佳时机IIclassSolution:defmaxProfit(self,prices:List[int])->int:result=0foriinrange(len(prices)-1):ifprices[i+1]-prices[i]>0:result+=prices[i+1]-prices[i]return......
  • 【专题STM32F103】移植STemWin5.44+ ILI9341显示无触摸屏 + cubemx+野火霸道V2
    在已经做好LCD_ ILI9841的基础上,进行移植,不考虑触摸屏。 一、无操作系统移植第一步:找到STemWin5.44库文件。 第二步:将相关文件放在Project文件夹内,设置项目相关参数。添加:GUI_X.c  GUI_config.c  LCDConf_FlexColor_Template.c 和 STemWin_CM3_wc16_ARGB.a(无OS) ......
  • T434199 「LAOI-4」Mex Tower (Hard ver.)
    /* 和上题一样只不过,是换成了检验答案,还是找规律, 自己看看吧awa*///O(n)#pragmaGCCoptimize(2)#include<iostream>#include<algorithm>#include<cstring>#include<ctime>usingnamespacestd;intn,m;strings;charget(chara,charb){ints......
  • 牛客小白月赛91 (小白被虐记)
    A.Bingbong的化学世界(签到题)思路: 你会发现当a[1][4]=='.'是是o-甲乙苯 a[6][4]=='|'是是p-甲乙苯另外则是m-甲乙苯 Code:#include<bits/stdc++.h>usingnamespacestd;constintN=10;chara[N][N];intmain(){ios::sync_with_std......
  • ABC349F题解
    思想看到LCM想到质因数分解。首先,我们先把\(M\)质因数分解了,根号复杂度刚好1e8级别。然后我们发现一个很显然的性质:如果一个数不是\(M\)的因数那他肯定没用。所以此处我们就把不是因数地踢掉。我们惊奇地发现因为\(M\)的质因数分解最多\(13\)个不同的质数,然后我......
  • L2-034 口罩发放
    原题链接题解1.身份证号长度必须为18,且均为数字2.如果申请人身份证合法,且身体状况为1,就把他放进ans2,(申请顺序)3.身份证一定不同,姓名可能相同4.得到口罩的输出是发放顺序code#include<bits/stdc++.h>usingnamespacestd;map<string,int>exist;map<string,string>fa;m......
  • 31天【代码随想录算法训练营34期】第八章 贪心算法 part01(● 理论基础 ● 455.分发
    贪心算法就是先选局部最优,再推全局最优没有套路将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解●455.分发饼干classSolution:deffindContentChildren(self,g:List[int],s:List[int])->int:g.s......