首页 > 其他分享 >学习C语言的第四天

学习C语言的第四天

时间:2023-04-02 22:22:23浏览次数:37  
标签:arr min int float C语言 学习 数组 第四天 include

继续进行上一次的数组。

一,数组

1.1数组作为函数的参数  

#include<stdio.h>

void printArr(int arry[3])    //形参中不存在数组的概念,即便中括号约定了数组的大小,也无效
                            //传递是一个地址,是数组的首地址
{
    int i;
    for(i=0;i<3;i++){
        printf("%d ",arry[i]);
    }
}

int main()
{
    int arry[3]={1,3,5};
    printArr(arry);  //实参
    return 0;
}            

数组作为形参时,传递的是地址。编程案例,有两个班的同学,分别是10个人和5个人,分别求这两个班的平均分。

#include<stdio.h>

float twoClassAverage(int arr[],int len)
{
    int total = 0;
    for(int i=0;i<len;i++){
        total = arr[i] + total;
    }
    return total/(float)len;
}
int main()
{
    int arr1[5] = {50,56,90,39,31};
    int arr2[10] = {23,56,89,90,35,67,58,97,67,60};
    int arr1Len = sizeof(arr1)/sizeof(arr1[0]);
    int arr2Len = sizeof(arr2)/sizeof(arr2[0]);
    
    printf("一班的平均成绩为:%.2f",twoClassAverage(arr1,arr1Len));
    printf("二班的平均成绩为:%.2f",twoClassAverage(arr2,arr2Len));
    
    return 0;
}

1.2二维数组作为函数的参数

  形参怎么写  注意列,可以不注意行 正确写法 int[2][3];

                   int[][3];

                   错误写法int[][];

#include<stdio.h>

void printArryDouble(int arr[][3])
{
    int i;
    int j;
    for(i=0;i<2;i++){
        for(j=0;j<3;j++){
            printf("%d ",arr[i][j]);
        }    
        putchar('\n');
    }
}

int main()
{
    int arr[2][3] = {{1,4,7},{8,20,7}};
    printArryDouble(arr);
    
    return 0;
}

练习:有3*4矩阵,初始化它并输出,然后求最大值并输出

#include<stdio.h>

void printArryDouble(int arr[][4],int hang,int lie)
{
    int i;
    int j;
    for(i=0;i<hang;i++){
        for(j=0;j<lie;j++){
            printf("%d ",arr[i][j]);
        }    
        putchar('\n');
    }
}
void initArryDouble(int arr[][4],int hang,int lie)
{
    int i;
    int j;
    for(i=0;i<hang;i++){
        for(j=0;j<lie;j++){
            printf("请输入%d行,第%d列的数据",i+1,j+1);
            scanf("%d",&arr[i][j]);
        }    
    }
}
int getMaxDataFromArryDouble(int arr[][4],int hang,int lie)
{
    int i;
    int j;
    int max = arr[0][0];
    for(i=0;i<hang;i++){
        for(j=0;j<lie;j++){
            if(max < arr[i][j]){
                max = arr[i][j];
            }
        }    
    }
    return max;
}

int main()
{
    int arr[3][4];
    initArryDouble(arr,3,4);
    printArryDouble(arr,3,4);
    printf("最大值为%d",getMaxDataFromArryDouble(arr,3,4));
    
    return 0;
}

1.3全局变量

案例:班上10个学生,封装一个函数,调用该函数后获得班上的平均分,最高分,最低分

#include<stdio.h>

int max;
int min;

float getAverage(int arr[],int len)
{
    int sum = 0;
    max = arr[0];
    min = arr[0];
    
    for(int i=0;i<len;i++){
        sum = sum + arr[i];
        if(max < arr[i]){
            max = arr[i];
        }
        if(min > arr[i]){
            min = arr[i];
        }
    }
    return (float)sum/len;
}

int main()
{
    int scores[] = {89,67,45,67,80,67,45,23,56,78};
    float average;
    
    average = getAverage(scores,sizeof(scores)/sizeof(scores[0]));
    printf("平均分数为%.2f,最高分为%d,最低分为%d",average,max,min);
    
    
    return 0;
}

 

标签:arr,min,int,float,C语言,学习,数组,第四天,include
From: https://www.cnblogs.com/Lynchteacher/p/17281573.html

相关文章

  • 第七周学习记录
     一、传统开发模式和微服务的区别先来看看传统的web开发方式,通过对比比较容易理解什么是MicroserviceArchitecture。和Microservice相对应的,这种方式一般被称为Monolithic(单体式开发)。所有的功能打包在一个WAR包里,基本没有外部依赖(除了容器),部署在一个JEE容器(Tomcat,J......
  • C++学习笔记
    char和string的区别字符串string:C++string详解,C++字符串详解(biancheng.net)string是字符串类型,是在C的基础上对字符数组做封装,是一个类,有自己的函数,存的是一个完整的字符串,确实是由字符组成的,但不能认为里面是一个个char数据类型组成的。因而单拎出来里面的字符不能认为是cha......
  • Java学习笔记14
    1.Arrays类​ Arrays类包含用于操作数组的各种方法(如排序和搜索)。该类没有构造函数,直接使用类名.方法名()的方法调用需要的方法。常用方法方法作用publicstaticStringtoString(数组)把数组拼接成一个字符串publicstaticintbinarySearch(数组,查找的元素)二......
  • 逆向——C语言的汇编表示之堆栈图 手把手示例 可以考虑在函数内部加一个局部变量来综
    课程概要来自:https://gh0st.cn/Binary-Learning/C%E8%AF%AD%E8%A8%80.html写得非常详细本章课程需要具备汇编语言基础,若无汇编语言基础是无法去理解课程中所讲的一些知识点和技术细节的;同时也表示本课程是以汇编语言来理解C语言,透过本质理解高级语言。关于本节课的环境:VC6,VC6......
  • 【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数
    前言......
  • C语言逆向分析——IF条件语句的反汇编,要熟悉各种if的姿势以及与或非表达式组合
    第四课IF语句的反汇编判断  第四课练习1intplus(intY,intX){intN=t;if(X<Y)t=t+Y;//t=N+yC}voidmain(){plus(5,4);}第五课IF...ELSE...语句的反汇编判断IF…ELSE…语句的反汇编判断:  ......
  • css学习
    CSS的原理:我们知道,CSS写在不同的地方有不同的优先级,.css文件中的定义<元素style中的属性,但是如果使用!important,事情就会变得不一样。首先,先看下面一段代码:<!DOCTYPEHTML><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>测试C......
  • [每天例题]蓝桥杯 C语言 单词分析
    蓝桥杯C语言单词分析题目  题目要求1.寻找出现最多的字母和这个字母出现的次数。2.如果有多个字母出现的次数相等,输出字典序最小的那个。思路分析输入方法:方法一:1.可以通过数组来记录该单词,并为单词出现的每一个字母做上标记。2.可以采用for循环将字符串依次输......
  • 20230328 组会学习
    【3DV】RobustRGB-DFusionforSaliencyDetection两个创新点:LWA模块根据深度图和RGB图动态生成融合策略TSA模块解决了RGB图与深度图的对齐问题【ICLR2023】MoreConvNetsinthe2020s:ScalingupKernelsBeyond51×51usingSparsity两个创新点:采用轴......
  • 如何学习React
    选择教程最简单、最直接的方法,就是React官方文档,这是其他教程的源头。React官方文档,已重新设计,内容以Functioncomponent、Hook为主线,旧文档已不再推荐使用。React是什么React是一个JavaScript前端库,以组合(composition)的方式,描绘用户界面Learnonce,useanywhere,......