iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言练习之数组中素数交换
  • 122
分享到

C语言练习之数组中素数交换

2024-04-02 19:04:59 122人浏览 八月长安
摘要

目录题目要求总结题目要求 (1)在主函数中创建数组num,使用测试数据{108 4 19 7 23 66 49 13 33 35}对其初始化; (2)定义change函数,将num数

题目要求

(1)在主函数中创建数组num,使用测试数据{108 4 19 7 23 66 49 13 33 35}对其初始化;

(2)定义change函数,将num数组中的素数首尾交换,即第一个素数与最后一个素数交换,第二个素数与倒数第二个素数交换…,非素数保持位置不变;

(3)定义prime函数,用于素数的判断。


#include <stdio.h>
#include <math.h>
int prime(int num)
{
	int i,k;
	if(num>=2)
	{
		k=sqrt(num);
		for(i=2;i<=k;i++)
		{
			if(num%i==0)
				break;
		}
		if(i>=k+1)
			return 1;
		else
			return 0;
	}
	else
		return 0;
} 
void change(int* a,int* b){     //定义了类型为int*的指针a,b,指针指向的类型为int
	int tmp = *a;     //将指针a所指向的地址中的内容赋值给tmp
	*a = *b;   //将指针b所指向的地址中的内容赋值给指针b所指向的地址中的内容
	*b = tmp;  
}

int main()
{
	int a[10]={108,4,19,7,23,66,49,13,33,35};
	int i,j=0,t,p[10];
	printf("交换之前的数组:");
	for(i=0;i<10;i++)
	printf("%4d",a[i]);
	for(i=0;i<10;i++)
	{
		if(prime(a[i])==1)
		{
			p[j++]=i;
		}
	}
	for(i=0;i<j/2;i++)
	{
		change(a+p[i],a+p[j-i-1]);
	}
	printf("\n\n交换之后的数组:") ;
	for(i=0,j=0;i<10;i++)
	printf("%4d",a[i]);
	return 0;
}

输出结果:

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C语言练习之数组中素数交换

本文链接: https://www.lsjlt.com/news/159631.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言练习之数组中素数交换
    目录题目要求总结题目要求 (1)在主函数中创建数组num,使用测试数据{108 4 19 7 23 66 49 13 33 35}对其初始化; (2)定义change函数,将num数...
    99+
    2022-11-12
  • C语言算法练习之数组求素数
    目录一、问题描述二、算法实例编译环境三、算法实例实现过程3.1、包含头文件3.2、声明数组3.3、声明相关变量3.4、数组赋值3.5、 输出数组里面元素的值3.6、求素数、素数和、最...
    99+
    2022-11-13
  • C语言算法练习之数组元素排序
    目录一、问题描述二、算法实例编译环境三、算法实例实现过程3.1、包含头文件3.2、定义宏和声明数组3.3、声明相关变量3.4、随机生成十个数字赋值给数组3.5、输出随机生成的十个数字...
    99+
    2022-11-13
  • 如何进行C语言中的数组中素数交换
    如何进行C语言中的数组中素数交换,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。题目要求(1)在主函数中创建数组num,使用测试数据{108 4 19 7 23 66 49 13...
    99+
    2023-06-25
  • C语言每日练习之进制转换
    目录分析代码实现网上参考总结分析 我一开始的想法是通过输入整数形式八进制来转换成十进制输出,后来发现用字符数组输入更方便。我这里就讲讲我用整型数据输入的转换思路: 我们都知道二进制...
    99+
    2022-11-12
  • c语言学习之数组3
    #include <stdio.h>int main(){  char cArr[] = {'I', 'L', 'O', 'V', 'E', 'C'};  char sArr[] = "ilovec";  int i = siz...
    99+
    2023-01-31
    数组 语言
  • C语言新手练习之多维数组、结构体及函数
    1887 颜色精简 题目: 有一个颜色集合,里面有若干个颜色值(RBG系统表示)。现在有若干个颜色值需要映射到集合中的某个值。具体的映射方法是找到集合中和它的颜色距离最小的进行映射。...
    99+
    2022-11-12
  • C语言算法练习之抓交通肇事犯
    目录1. 问题描述2. 题目分析3. 算法设计4. 流程框架5. 代码实现6. 算法升级1. 问题描述 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记...
    99+
    2022-11-13
  • C语言算法练习之求二维数组最值问题
    目录一、问题描述二、算法实例编译环境三、算法实例实现过程3.1、包含头文件3.2、定义宏和声明数组3.3、声明相关变量3.4、输入数组(方阵)的阶3.5、输出 “输入的数...
    99+
    2022-11-13
  • C语言中函数练习题有哪些
    小编给大家分享一下C语言中函数练习题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第壹题 :字符串逆序(递归实现)方法一,非递归实现main主体部分数组名是...
    99+
    2023-06-29
  • 从头学习C语言之二维数组
    目录二维数组:语法:二维数组存放方式:二维数组的访问:二维数组的初始化:示例:总结二维数组: 引入一个想法: 一个变量:相当于一个点。 一维数组(也就是数组):点汇聚成为一条直线。 ...
    99+
    2022-11-13
  • c语言在数组中怎么互换元素位置
    在C语言中,可以通过以下方式互换数组中两个元素的位置:1. 使用中间变量进行互换```cvoid swap(int* array, ...
    99+
    2023-10-12
    c语言
  • 从头学习C语言之指针和数组
    目录指针和数组:示例:总结指针和数组: 数组名其实是数组第一个元素的地址。 %p用来打印地址,为十六进制 &:取址操作符 如果用一个指针指向数组,应该怎么做呢? char ...
    99+
    2022-11-13
  • C语言新手练习题之求第n个斐波那契数
    目录前言一、思路1.非递归2.递归二、源代码以及运行截图非递归:递归:总结前言 在C语言中,分别用递归和非递归两种方法实现求第n个斐波那契数 一、思路 首先分析一下关于斐波那契数列的...
    99+
    2022-11-13
    用c语言求斐波那契数列的第n项 C语言求斐波那契数列 第n个斐波那契数列
  • C语言--数字交换题目详解
    目录一、题目分析二、算法分析和设计心路历程位置分析分析交换算法回顾总结(问题核心)三、编写代码四、出现问题总结一、题目分析 大致题意就是通过交换把最小的数放到最前面,最大的数放最后...
    99+
    2022-11-12
  • c语言中怎么交换两个数的值
    在C语言中,可以使用几种方法来交换两个数的值。1. 使用第三个变量:```cint a = 5;int b = 10;int temp;temp = a;a = b;b = temp;```2. 使用加减法:```cint a = 5;...
    99+
    2023-08-11
    c语言
  • C语言每日练习之统计文本单词数及高频词
    作业1:统计出txt文本里面的单词数,并找出频率出现最高的单词是哪个? 运行结果: 上代码: using System; using System.Collections.Gene...
    99+
    2022-11-13
  • c语言一维数组中元素互换的方法是什么
    在C语言中,可以使用一个临时变量来交换数组中的两个元素。具体步骤如下:1. 定义一个临时变量temp。2. 将第一个元素的值赋给te...
    99+
    2023-10-12
    c语言
  • C语言怎么交换两个数的值
    本文小编为大家详细介绍“C语言怎么交换两个数的值”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么交换两个数的值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。使用临时变量以下实例演示了交换两个浮点数的值。...
    99+
    2023-06-17
  • C语言:传值与传址交换整数
    目录传值调用传址调用总结传值调用 要想交换两个整数的值,我们可以自定义一个函数,来实现这个过程。具体代码如下: #include <stdio.h> void Sw...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作