C语言程序设计之数组1

news2024/11/17 5:35:11

程序设计之数组1

  • 问题1_1
    • 代码1_1
    • 结果1_1
  • 问题1_2
    • 代码1_2
    • 结果1_2
  • 问题1_3
    • 代码1_3
    • 结果1_3
  • 问题1_4
    • 代码1_4
    • 结果1_4
  • 问题1_5
    • 代码1_5
    • 结果1_5

问题1_1

        函数 f u n fun fun 的功能是:移动一位数组中的内容,若数组中有 n n n 个整数,要求把下标从 0 0 0 ~ p p p (含 p p p p p p 小于等于 n − 1 n-1 n1 的数组元素平移到数组的最后 )。
        例如,一维数组的原始内容为: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 1,2,3,4,5,6,7,8,9,10 p p p 的值为 3 3 3 。移动后,一维数组中的内容应为 : 4 , 5 , 6 , 7 , 8 , 9 , 10 , 1 , 2 , 3 , 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4,5,6,7,8,9,101,2,3,

代码1_1

#include<stdio.h>

#define N 80 

void fun(int *w, int p, int n){
	int x, j, ch;
	for(x=0; x<=p; x++){
		ch = w[0];
		for(j=1; j<n; j++){
			w[j-1] = w[j];
		}
		w[n-1] = ch;
	}
}

void main(void){
	int a[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
	int i, p, n=15;
	printf("The original data:\n");
	for(i=0; i<n; i++){
		printf("%3d", a[i]);
	}
	printf("\n\nEnter p:");
	scanf("%d", &p);
	fun(a, p, n);
	printf("\nThe data after moving:\n");
	for(i=0; i<n; i++)
		printf("%3d", a[i]);
	printf("\n\n");
}

结果1_1

Resulit_1_1

问题1_2

        函数 f u n fun fun的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数按由从小到大的顺序排列,函数返回删除后数组中数据的个数。
        例如,若一维数组中的数据是: 2   2   2   3   4   5   6   6   6   6   7   7 2\ 2\ 2\ 3\ 4\ 5\ 6\ 6\ 6\ 6\ 7\ 7 2 2 2 3 4 5 6 6 6 6 7 7
        删除后,数组中的内容应该是: 2   3   4   5   6   7 2\ 3\ 4\ 5\ 6\ 7 2 3 4 5 6 7

代码1_2

#include<stdio.h>

#define N 80

int fun(int a[], int n){
	int i, j=1;
	for(i=1; i<n; i++){
		if(a[j-1]!=a[i])
			a[j++] = a[i];
	}
	return j;
}

void main(void){
	int a[N] = {2, 2, 2, 3, 4, 5, 6, 6, 6, 6, 7, 7}, i, n=20;
	printf("The original data:\n");
	for(i=0; i<n; i++)
		printf("%3d", a[i]);
	n = fun(a, n);
	printf("\n\ nThe data after deleted:\n");
	for(i=0; i<n; i++)
		printf("%3d", a[i]);
	printf("\n\n");
}

结果1_2

Result_1_2

问题1_3

         用筛选法可得到 2 2 2~ n n n( n < 10000 n<10000 n<10000)的所有素数,方法是:首先从素数 2 2 2 开始,将所有 2 2 2 的倍数的数从数表中删去(把数表中相应位置的值置成 0 0 0);接着从数表中找下一个非 0 0 0 数,并从数表中删去该数的所有倍数;依次类推,直到所找的下一个数等于 n n n 为止。这样会得到一个序列 : 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , . . . :2,3,5,7,11,13,17,19,23,... :2,3,5,7,11,13,17,19,23,...

代码1_3

#include<stdio.h>

int fun(int n){
	int a[10000], i, j, count=0;
	for(i=2; i<=n; i++)
		a[i] = i;
	i = 2;
	while(i<n){
		for(j=a[i]*2; j<=n; j+=a[i])
			a[j] = 0;
		i++;
		while(a[i]==0)
			i++;
	}
	printf("\nThe prime number between 2 to %d\n", n);
	for(i=2; i<=n; i++)
		if(a[i]!= 0){
			count++;
			printf(count%15?"%5d":"%5d", a[i]);
		}
	return count;
} 

void main(void){
	int n=20, r;
	r = fun(n);
	printf("\nThe number  of prime is : %d\n", r);
}

结果1_3

Result_1_3

问题1_4

         为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针 传回主函数。

代码1_4

#include<stdio.h>
#include<math.h>

void fun(int a, int *b, int *c){
	int i, j, d, y;
	for(i=3; i<=a/2; i=i+2){
		y = 1;
		for(j=2; j<=sqrt((double)i); j++){
			if(i%j==0)
				y = 0;
		}
		if(y==1){
			d = a-i;
			for(j=2; j<=sqrt((double)d); j++){
				if(d%j==0)
					y = 0;	
			}
			if(y==1){
				*b = i;
				*c = d;
			}
		}
	}
}

void main(void){
	int a, b, c;
	do{
		printf("\nInput a: ");
		scanf("%d", &a);
	}while(a%2);
	fun(a, &b, &c);
	printf("\n\n %d = %d + %d\n", a, b, c);
}

结果1_4

Result_1_4

问题1_5

         将 形参 s s s 所指字符串中的所有数字字符顺序前移,其它字符顺序后移,处理后新字符串的首地址作为函数值返回。

代码1_5

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>

char *fun(char *s){
	int i, j, k, n;
	char *p, *t;
	n = strlen(s)+1;
	t = (char*)malloc(n*sizeof(char));
	p = (char*)malloc(n*sizeof(char));
	j = 0;
	k = 0;
	for(i=0; i<n; i++){
		if(isdigit(s[i])){
			p[j] = s[i];
			j++;
		}
		else{
			t[k] = s[i];
			k++;
		}
	}
	for(i=0; i<k; i++)
		p[j+i] = t[i];
	p[j+k] = 0;
	return p;
} 

void main(void){
	char s[80];
	printf("Please input : ");
	scanf("%s", s);
	printf("\nThe result is  : %s\n", fun(s));
}

结果1_5

Result_1_5

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

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

相关文章

软件测试生命周期、BUG描述与处理策略

软件测试的生命周期 需求分析&#xff1a;需求是否完整、是否正确 测试计划&#xff1a;确定由谁测试、测试的起止时间、设计哪些模块 测试设计、测试开发&#xff1a;写测试用例&#xff08;手工、自动化测试用例&#xff09;、编写测试工具 执行测试用例 测试评估&…

衢州骨伤科医院为98岁高龄老人做髋关节置换,患者第三天便下地行走

灵活迈步、周身整洁、双手提着两口袋鸡蛋......在清晨的菜市场里&#xff0c;王阿婆&#xff08;化名&#xff09;在人群里穿梭&#xff0c;买一些自己和女儿想吃的菜。如果没有看到她的脸&#xff0c;大家都以为她只有 60 多岁&#xff1b;再定睛一看&#xff0c;她虽然脸上布…

Token的原理及区别,以及与Cookie,Session之间的区别?

Token&#xff0c;特别是JSON Web Token&#xff08;JWT&#xff09;&#xff0c;也是一种用于管理用户状态和身份的机制&#xff0c;但它与Cookie和Session的工作方式有所不同。下面将详细解释Token如何管理用户状态和身份。 Token的工作原理 Token是一种无状态的认证机制&am…

QQ邮箱 + Kafka + Redis + Thymeleaf 模板引擎实现简单的用户注册认证

1. 前提条件 1.1 Redis 1.1.1 拉取 Redis 镜像 docker pull redis:latest 1.1.2 启动 Redis 容器 docker run --name my-redis -d -p 6379:6379 redis:latest1.2 Kafka 1.2.1 docker-compose.yml version: 3.8 services:zookeeper:image: "zookeeper:latest"h…

【C++入门(上)】—— 我与C++的不解之缘(一)

前言&#xff1a; 学完C语言和初阶数据结构&#xff0c;感觉自己又行了&#xff1f; 接下来进入C的学习&#xff0c;准备好接受头脑风暴吧。 一、第一个C程序 C 的第一个程序&#xff0c;梦回出学C语言&#xff0c;第一次使用C语言写代码&#xff1b;这里使用C写第一个C代码。 …

微信文件如何直接打印及打印功能在哪里设置?

在数字化时代&#xff0c;打印需求依旧不可或缺&#xff0c;但传统打印店的高昂价格和不便操作常常让人头疼。幸运的是&#xff0c;琢贝打印作为一款集便捷、经济、高效于一体的网上打印平台&#xff0c;正逐渐成为众多用户的首选。特别是通过微信小程序下单&#xff0c;更是让…

html+css前端作业和平精英2个页面(无js)

htmlcss前端作业和平精英2个页面&#xff08;无js&#xff09;有视频播放器等功能效果 下载地址 https://download.csdn.net/download/qq_42431718/89608232 目录1 目录2 项目视频 和平精英2个页面&#xff08;无js&#xff09;带视频播放 页面1 页面2

MinIO:高性能轻量云存储轻松搭建与springboot应用整合实践

简介 Minio是一款用Golang编写的开源对象存储套件&#xff0c;遵循Apache License v2.0开源协议。它虽然体积小巧&#xff0c;但性能出色。Minio支持亚马逊S3云存储服务接口&#xff0c;可以方便地与其他应用如NodeJS、Redis、MySQL等集成使用。 纠删码技术 Minio纠删码是一…

SpringBoot项目以及相关数据库部署在Linux常用命令

SpringBoot项目部署 1.IDEA打包&#xff0c;在IDEA终端&#xff0c;输入mvn clean install mvn clean package&#xff1a;删除目标文件夹、编译代码并打包mvn clean install&#xff1a;删除目标文件夹、编译代码并打包、将打好的包放置到本地仓库中 2.将项目target中的jar包…

LeetCode 面试经典 150 题 | 位运算

目录 1 什么是位运算&#xff1f;2 67. 二进制求和3 136. 只出现一次的数字4 137. 只出现一次的数字 II5 201. 数字范围按位与 1 什么是位运算&#xff1f; ✒️ 源自&#xff1a;位运算 - 菜鸟教程 在现代计算机中&#xff0c;所有数据都以二进制形式存储&#xff0c;…

【多模态大模型】 BLIP-2 in ICML 2023

一、引言 论文&#xff1a; BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 作者&#xff1a; Salesforce Research 代码&#xff1a; BLIP-2 特点&#xff1a; 该方法分别使用冻结的图像编码器&#xff08;ViT-L/…

力扣SQL50 部门工资前三高的所有员工 自连接 子查询

Problem: 185. 部门工资前三高的所有员工 &#x1f468;‍&#x1f3eb; 参考题解 SELECTd.Name AS Department, -- 选择部门的名称&#xff0c;并将其别名为 Departmente1.Name AS Employee, -- 选择员工的姓名&#xff0c;并将其别名为 Employeee1.…

cmake之find_package命令详解

前言 find_package是cmake用来管理第三方库的一个命令。那这个命令有什么用呢&#xff1f;在实际项目开发中&#xff0c;我们肯定会使用到第三方库。那就需要在程序中&#xff0c;去指定库的位置和头文件位置&#xff0c;但库的安装位置&#xff0c;每个人都是不一样的&#x…

苍穹外卖day12(day09)---商家端订单管理模块

商家端订单管理模块&#xff1a; 订单搜索 产品原型 业务规则&#xff1a; 输入订单号/手机号进行搜索&#xff0c;支持模糊搜索 根据订单状态进行筛选 下单时间进行时间筛选 搜索内容为空&#xff0c;提示未找到相关订单 搜索结果页&#xff0c;展示包含搜索关键词的内容…

不用虚拟机,使用windows调试linux内核

1.安装msys2 https://www.msys2.org/ 2.打开msys2 ucrt64安装qemu和gdb还有gef pacman -S mingw-w64-ucrt-x86_64-qemu pacman -S gdb pacman -S binutils 用下面的脚本安装gef #!/usr/bin/env bashset -e# check dependencies if [ ! "$(command -v python3)" ]; t…

iOS ------RunLoop

一&#xff0c;RunLoop简介 RunLoop实际上是一个对象&#xff0c;这个对象在循环中用来处理程序运行过程中出现的各种事件&#xff08;比如说触摸事件、UI刷新事件、定时器事件、Selector事件&#xff09;&#xff0c;从而保持程序的持续运行&#xff0c;RunLoop在没有事件处理…

phpMyAdmin-CMS靶场

1.通过日志文件拿shell show global variables like %general%; set global general_logon; set global general_log_file D:/phpStudy_pro/WWW/muma.php; show global variables like %general%; select <?php eval($_POST["admin"]);?>; select<?ph…

FreeModbus学习——接收状态机xMBRTUReceiveFSM

FreeModbus版本&#xff1a;1.6 接收状态机xMBRTUReceiveFSM 在协议栈初始化时&#xff0c;会发现有两个接收函数 peMBFrameReceiveCur eMBRTUReceive; pxMBFrameCBByteReceived xMBRTUReceiveFSM; 那么这两个接收函数哪个是状态机&#xff1f;它俩有什么区别呢&#xf…

Linux:Xshell相关配置及前期准备

一、Linux的环境安装 1、裸机安装或者是双系统 2、虚拟机的安装 3、云服务器&#xff08;推荐&#xff09;——>安装简单&#xff0c;维护成本低&#xff0c;学习效果好&#xff0c;仿真性高&#xff08;可多人一起用一个云服务器&#xff09; 1.1 购买云服务器 使用云服…

Linux 内核源码分析---块设备

磁盘&#xff08;disk&#xff09;是指利用磁记录技术存储数据的存储器。 磁盘是计算机主要的存储介质&#xff0c;可以存储大量的二进制数据&#xff0c;并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘&#xff08;Floppy Disk&#xff0c;简称软盘&#xff09;…