栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PTA1005 继续(3n+1)猜想 (25 分)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PTA1005 继续(3n+1)猜想 (25 分)

题目及要求如下图所示: 

代码如下: 

#include
void bubble_sort(int arr[],int n){//冒泡排序发法 
	int i,j,temp;
	for(i=0;iarr[j]){
				temp=arr[i];
				arr[i]=arr[j];
				arr[j]=temp;
			}
		}
	}
}

void show(int arr[],int n){//输出函数,不输出数组中值为0的 项 
	int i;
    printf("%d",arr[0]);//输出第一个数
	for(i=1;i1){
			if(num%2==0){
				num=num/2;
			}
			else{
				num=(num*3+1)/2;
			}
			sign[num]=1;
		}
	}
	for(i=0;i 

1.  eg:当输入的n为3时,while循环中计算了3,5,8,4,2,1,sign[5],sign[8],sign[4],sign[2]都被标记为1。当我们在输入 nums[i]的值为5,8,4,2时,这些值已经被sign数组标记,直接把0赋给他,且不输出。这样就只输出了关键数字。

2.  数组sign用来记录被标记的数 ,数字定义大一点,定义小了,例如sign[100]题目不给过。

3.冒泡排序法可以用C语言函数库中qsort()方法。

#include    //使用qsort()需要引入的头文件
void qsort(
     void *buf, 
     size_t num, 
     size_t size, 
     int (*compare)(const void *, const void *) );

函数功能:对指向的数据进行排序,数组中有num个元素,每个元素的大小为size。
buf:指向数组的起始地址,通常传入数组名即可
num:数组的元素个数
size:数组中每个元素的大小(字节数)
(*compare)(const void *, const void *) 指向比较函数的函数指针,指定排序规则。
函数返回值:void

4.注意题目输出要求,第一个输出前和最后一个输出后没有空格。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312404.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号