07 C语言数组

news2024/9/22 15:31:53

07 C语言数组

1、初试数组

image-20230309152855462

#include<stdio.h>

int main(int argc,char const *argv[]){
	double sum;
	int a[100];
	int i = 0;
	int cnt = 0;
	
	scanf("%d",&i);
	while(i != -1){
		sum += i;
		a[cnt++] = i;
		scanf("%d",&i);
	}
	if(cnt > 0){
		double average = sum / cnt;
		printf("average is %lf\n",average);
		for(i = 0;i < cnt;i++){
			if(a[i] > average){
				printf("%d\n",a[i]);
			}
		}	
	}
	return 0;
}

2、数组的定义和使用

数组是一种容器,特点为:

1、所有元素的数据类型都相等

2、一旦创建不可以改变大小

3、下标从0开始

4、越界访问会有很大问题

3、数组例子-统计个数

image-20230309155239559

#include<stdio.h>

int main(int argc,char const *argv[]){
	const int number = 10;
	int i,j;
	int a[number];
	scanf("%d",&i);
	
	for(j = 0;j < number;j++){
		a[j] = 0;
	}
	
	while(i!=-1){
		if(a[i] >= 0 && a[i] <= 9){
			a[i]++;
		}
		scanf("%d",&i);
	}
	for(j = 0;j < number;j++){
		if(a[j] > 0){
			printf("%d有%d个\n",j,a[j]);
		}
	}
	
	
	return 0;
}

思路:

1、定义数组大小

2、初始化数组

3、数组参与运算

4、遍历输出数组

4、数组运算

数组的初始化

1、直接用大括号,[]里面的值不用填写。

2、如果给定了数组大小,后面大括号没有足够的值,则自动填充0;a[100] = {0}可以自动完成初始化。

3、sizeof(a)/sizeof(a[0])获得数组的大小。

4、数组本身不可以赋值,将数组复制只能遍历逐个复制。

5、遍历数组:从0开始,<数组长度,并且遍历完后i是越界下标不可以再使用。

6、数组作为参数传值的时候,必须传递长度,sizeof无法在另一个函数里使用。

image-20230309164007901

5、数组例子:质数

image-20230309210835935

优化思路:

1、减少对比次数 -> sqar(i),排除偶数

2、构造质数表

#include<stdio.h>
#include<math.h>
int isPrime(int x);
int main(int argc,char const *argv[]){
	int maxNumber,i = 0,j = 0;
	scanf("%d",&maxNumber);
//	maxNumber = 25;
	int prime[maxNumber];
	for(i = 0;i < maxNumber;i++){
		prime[i] = 1;
	}
	for(i = 2;i < maxNumber;i++){
		if(isPrime(i)){
			for(j = 2;(j * i) < maxNumber;j++){
				prime[j * i] = 0;
			}
		}
	}
	for(i = 2;i < maxNumber;i++){
		if(prime[i] == 1){
			printf("%d\n",i);
		}
	}
	
	return 0;
}
int isPrime(int x){
	int i,ret = 1;
	if(x == 1){
		ret = 0;
	}else{
		for(i = 2;i < sqrt(x);i++){
			if(x % i == 0){
				ret = 0;
				break;
			}
		}
	}
	return ret;
}

思路,构建一个数组,然后数组下标对应的值就是下标是否就是质数。

如果下标是质数,则将质数所有的倍数都标记为否。

6、二维数组

列数必须给定,行数可以让编译器来数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/401137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入堆空间

堆空间用来干嘛的&#xff1f;我们知道基础类型的变量、对象的引用既可以在栈也可以在堆上&#xff0c;但是对象一定是在堆空间的。堆上存储的是从GC Root可达的活跃对象。什么是GC Root&#xff1f;垃圾回收器在判断哪些对象该回收的时候&#xff0c;需要一个标准&#xff0c;…

初识项目管理

项目的特性 项目是一项 临时性 的工作&#xff0c;即所有的项目都有确定的开始和结束时间。项目的目的是创造 独特 的产品、服务或成果。项目具有 渐近明细性&#xff0c;即项目随着时间的推移&#xff0c;相关信息逐渐清晰。 项目举例 万事皆项目&#xff1a; 开发信息系统…

川农机械专业小伙转行Java开发,年薪20w

本期学员就业故事&#xff0c;知了姐邀请到一位“特别”的同学&#xff0c;一位从知了堂就业成功近两年的学员再度接受我们的采访。 来自四川农业大学的曾同学&#xff0c;一个本来学机械开挖掘机的粗犷男人&#xff0c;因为不断地努力学习编程&#xff0c;最终成为一个性格闷…

轻松掌握C++的模板与类模板,将Tamplate广泛运用于我们的编程生活

C提高编程 本阶段主要针对C泛型编程和STL技术做详细讲解&#xff0c;探讨C更深层的使用 泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。 模板 1.模板的概念 模板就是建立通用的模具&#xff0c;大大提高复用性 例如&#xff1a; 2.函数模板 C另一种编程思想称…

【二分查找】数的范围

数的范围思路二分查找左边界右边界代码实现思路 题目主要的意思在一个升序也就是有序的数组中 找到一段相同数组的起始位置和最终位置 也就是查找两个数的问题 题目给的是升序数列让人很容易想到二分查找来查找两个数 二分查找 我们此时的问题就转化为查找到这段序列的起始位…

Python中变量的作用域精讲

文章目录前言一、局部变量二、全局变量前言 变量的作用域是指程序代码能够访问该变量的区域&#xff0c;如果超出该区域&#xff0c;再访问时就会出现错误。在程序中&#xff0c;一般会根据变量的 “有效范围” 将变量分为 “全局变量” 和 “局部变量”。 一、局部变量 局部变…

Linux——进程间通信1

目录 进程间通信目的 进程间通信标准 管道 匿名管道 管道实现进程间通信 管道的特点 进程池 ProcessPool.cc Task.hpp 习题 进程间通信目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件…

前端的浮点数计算问题

加 //加 export const add (num1, num2) > {var r1, r2, m, ctry {r1 num1.toString().split(.)[1].length} catch (e) {r1 0}try {r2 num2.toString().split(.)[1].length} catch (e) {r2 0}c Math.abs(r1 - r2)m Math.pow(10, Math.max(r1, r2))if (c > 0) {va…

Vue3通透教程【七】生命周期函数

文章目录&#x1f31f; 写在前面&#x1f31f; 生命周期钩子函数&#x1f31f; 组合式API生命周期&#x1f31f; 写在最后&#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更新 Vue3 的相关技术文章&am…

性能优化之前端项目性能优化的几种方案

加载优化&#xff0c;减少http请求一个完整的 HTTP 请求需要经历 DNS 查找&#xff0c;TCP 握手&#xff0c;浏览器发出 HTTP 请求&#xff0c;服务器接收请求&#xff0c;服务器处理请求并发回响应&#xff0c;浏览器接收响应等过程。Queueing: 在请求队列中的时间。Stalled: …

5.1 STM32学习 中断系统和EXTI外部中断

中断系统中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行。中断优先级&#xff1a;当…

框架篇-面试题6-说一下Vue2与Vue3的钩子函数

Vue钩子函数是在Vue实例从创建到销毁的过程中自动执行的函数&#xff08;在特定的阶段,能够自动自执行的函数&#xff09;钩子函数用来描述一个组件从引入(创建)到退出(销毁)的全过程中的某个过程Vue2生命周期钩子函数整个过程称为生命周期Vue钩子函数按照组件生命周期的过程分…

作为一名程序员少不了的软件

写在前面的话 就现今我自己接触的项目而言&#xff0c;我发现对于一名程序员来说有些软件是真的必不可少的&#xff0c;防止下次换电脑或者要换操作系统的时候用&#xff0c;特此记录一下。 一、最常使用的&#xff0c;JetBrain全家桶&#xff08;idea、pycharm、webstorm&…

【办公类-16-06-02】“2022下学期 总园活动室(沙水+建构)排班表(两周一次沙水)”(python 排班表系列)

作品展示&#xff1a;背景需求&#xff1a;上一篇批量制作了“7天轮回14班沙水每周固定建构”的活动室内排班表。一、时段冲突&#xff0c;调整单双周。保教主任抽空检查后&#xff0c;提到&#xff1a;“一个班、上午、下午都有自主游戏&#xff08;沙水、建构、表演、角色&am…

金三银四、金九银十 面试宝典 JAVASE八股文面试题 超级无敌全的面试题汇总(接近3万字的面试题,让你的JAVA语法基础无可挑剔)

JavaSE八股文 - 面试宝典 一个合格的 计算机打工人 &#xff0c;收藏夹里必须有一份 JAVA八股文面试题 &#xff0c;特别是即将找工作的计算机人&#xff0c;希望本篇博客对你有帮助&#xff01; 本文参考了诸多大佬的面试题帖子&#xff0c;ps&#xff1a;白大锅、哪吒、英雄…

从Linux内核中学习高级C语言宏技巧

Linux内核可谓是集C语言大成者&#xff0c;从中我们可以学到非常多的技巧&#xff0c;本文来学习一下宏技巧&#xff0c;文章有点长&#xff0c;但耐心看完后C语言level直接飙升。 本文出自&#xff1a;大叔的嵌入式小站&#xff0c;一个简单的嵌入式/单片机学习、交流小站 从…

机器看世界

博主简介 博主是一名大二学生&#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;c&#xff0c;Python&#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主&#xff0c;博主会继续更新的&#xff0c…

为什么红黑树如此受欢迎

平衡二叉查找树有很多&#xff0c;但是我们一提到平衡二叉查找树&#xff0c;常提及的就是红黑树&#xff0c;它的“出镜率”甚至要高于平衡二叉查找树。 红黑树是一种相对平衡的二叉查找树&#xff0c;不符合严格意义上平衡二叉查找树的定义。 目录 红黑树的插入 红黑树的验…

SAP ABAP WebService

第一步&#xff1a;SE37 创建一个远程函数&#xff08;Remote Function Module&#xff09;注意该函数需要将Remote Enable开启第二步&#xff1a;创建WebService首先&#xff1a;SE37 打开需要关联的函数在菜单 Utilities->More Utilities->Create Web Service->From…

二 Go的基本语法

1. 基本类型 boolstringint、int8、int16、int32、int64uint、uint8、uint16、uint32、uint64、uintptrbyte // uint8 的别名rune // int32 的别名 代表一个 Unicode 码float32、float64complex64、complex128 2. 三种声明变量 2.1 标准格式 var name type 其中&#xff0c;…