首页 > 其他分享 >C语言数组的相关案例

C语言数组的相关案例

时间:2024-07-22 10:26:49浏览次数:11  
标签:arr int C语言 案例 length num 数组 sizeof

引导案例:

数组的遍历:这里需要注意的是我们在遍历数组时是使用for循环,这里则需要计算数组的长度

计算公式:sizeof(数组名) / sizeof(数组的数据类型)

#include<stdio.h>
int main() {

	int arr[] = { 1,2,3,4,5,6,7,8 ,9,10};
	int length = sizeof(arr) / sizeof(int);
	for (int i = 0; i < length; i++) {
		printf("%d\n", arr[i]);
	}
}

 

案例1:

给定一个数组求数组中的最大值

#include<stdio.h>

int main() {
	int arr[] = { 33,78,48,39,10 };
	int max = arr[0];
	int length = sizeof(arr) / sizeof(int);
	for (int i = 0; i < length; i++) {
		if (max < arr[i]) {
			max = arr[i];
		}
	}
	printf("最大值为:%d", max);

 在本代码中:将max < arr[i]  中的小于号换成大于号,求出来的则为最小值

 

案例2:

生成10个1-100之间的随机数存入数组,要求数组数不重复
(1)求出所有数据的和
(2)求所有数据的平均数
(3)统计多少个数据比平均值小

思路:本题主要重点是如何时数组不重复,也是本题首先要解决的问题

          因为每次向数组添加一个随机数时我们都需要检测一下数组中是否有元素与其重复

          所以我们需要创建一个函数用来检测元素是否重复,

          如下代码中的fun函数将要添加的随机数与数值中的每一个元素都比较一遍

          如果有相同的则返回1反之为0,这样当我们每次要添加元素时就可以通过

          if来判断如果fun函数返回0则将随机数添加给数组,反之则一直更换随机数直到

          fun函数返回0为止

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int fun(int arr[], int len, int num);   //声明函数
int main() {
	//设置种子
	srand(time(NULL));
	int arr[10] = {0};
	//求数组的长度
	int length = sizeof(arr) / sizeof(int);
	
	for (int i = 0; i < length; ) {
		int num = rand() % 100 + 1;   //生成0-100之间的随机数
		//判断新生成的随机数是否与数组中已经存储的元素重复,没有则继续添加
		int x = fun(arr, length, num);
		if (x==0) {
			arr[i] = num;       //如果检测无重复的元素就继续往下执行否则就一直跟换元素
			i++;                //直到元素不重复为止
		}
	}
	int sum = 0;
	for (int i = 0; i < length; i++) {          //求出所有数据的和
		sum += arr[i];                          
	}
	printf("所有数据的和为:%d\n", sum);

	//求所有数据的平均数
	int avg = sum / length;
	printf("所有数据的平均数为:%lf\n", avg);

	//统计多少个数据比平均值小
	int count = 0;  //用来记录有多少个数据比平均数小
	for (int i = 0; i < length; i++) {
		if (arr[i] < avg) {
			count++;
		}
	}
	printf("比平均数小的数有:%d\n", count);
	
}
int fun(int arr[], int len, int num) {    //检测数组中的元素是否有重复的有则输出1
	for (int i = 0; i < len; i++) {       //反之则输出0 .其中的num为生成的随机数
		if (arr[i] == num) {
			return 1;
		}
	}
	return 0;
  }

标签:arr,int,C语言,案例,length,num,数组,sizeof
From: https://blog.csdn.net/2401_83720143/article/details/140601918

相关文章

  • while进阶相关案例
    引导案例:键盘输入一个3位数控制台返回其反转后的数#include<stdio.h>intmain(){ intnum; printf("请输入一个整数:"); scanf("%d",&num); //思路:可以将这个数的个位十位百位将其分别求出来在倒着打印输出出来 intnum1=num%10;//个位 intnum2=num/10%......
  • 最新CSM客户成功 OKR 案例:以指导、激励和调整您的团队
    客户是任何企业的命脉,而客户服务是与客户接触的第一站,是实现目标和扩大组织规模是以保留客户和追加销售为前提的。客户成功CSM是一种商业方法,确保客户在使用你的产品/服务时达到他们想要的结果。客户成功是以关系为中心的客户管理,使客户和供应商的目标一致,以达到互利的结果。客......
  • 基于c语言的贪吃蛇小游戏附带源码
    #include<stdio.h>#include<conio.h>#include<windows.h>#include<time.h>#defineframex5#defineframey5#definewide20#definehigh20inti,j,a[2];//将光标移动到指定位置voidgotoxy(HANDLEhout,intx,inty){//COORD是WindowsAPI中定义......
  • Python - for循环不使用正则表达式附加数组
    以下代码从URL获取版本号,然后对于每个版本号,转到该版本号的页面并使用文件名的特定模式填充数组。生成的数组应包含每个版本号的文件名列表,但它似乎只包含早期版本(2.6)。使用print语句,我可以看到代码的工作原理是它获取sha256sums.asc文件-所有这些文件,所有版本。我猜......
  • 使用案例显示时在“.txt”文件中打印现有待办事项时出现名称错误
    我正在尝试使用以下代码中给出的案例显示将现有的待办事项保存在我的txt文件中:whileTrue:user_action=input("Typeadd,show:")user_action=user_action.strip()matchuser_action:case'add':todo=input("Enteranytodo:")+......
  • 深入浅出C语言指针(基础篇)
    目录引言一、认识指针指针是什么? 二、指针变量和地址1.取地址操作符2.指针变量3.解引用操作符 4.指针变量的大小 三、指针和指针类型1.指针的类型2.指针+-整数3.指针的解引用四、const修饰指针变量 1.const修饰指向的数据2.const修饰指针本身3.const同......
  • 学习C语言的第一二天
    今天学了C语言的核心语法,对它们有了初步的了解。1.首先是注释,它分为两类,一个是单行注释一个是多行注释。格式的话单行注释就是在所写的注释前加上//,多行注释的话就是用/和/把所需的多行内容框起来。当然了它也有快捷键ctrlk+ctrlc是我们的注释快捷键,而ctrlk+ctrlu是我们的注......
  • C语言-选择结构
    在C语言中,一共有三种程序结构:顺序结构、选择结构(分支结构)和循环结构。C语言提供2种类型的选择语句:if语句和switch语句。C语言由一个分号;隔开的就是一条语句。在C语言中0表示假,非0表示真。if语句可以是任何语句,也可以是有若干语句组成的一个语句组,在这种情况下,这组语句需要......
  • OA办公系统案例开发
    创建数据库创建名为oa的数据库,如下:创建oa数据库表,如下:SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructurefort_contact------------------------------DROPTABLEIFEXISTS`t_contact`;CREATETABLE`t_contac......
  • JavaWeb MyBatis案例
    JAVAWEBMyBatis视频学习笔记MyBatis案例1环境准备1.1数据库准备1.2准备一个Brand实体类1.3准备测试用例1.4安装MyBatisX插件2编写接口2.1编写查询所有2.1.1编写Mapper接口2.1.2编写SQL映射文件2.1.3编写测试语句完成测试2.1.4BugFix2.2查看详情2.2.1编......