#include <iostream>
#include <stdio.h>
#include <math.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ //判断用户输入的数据是否大于2的正整数
bool isNaN(int number) {
if(number>)
return true;
else
return false;
} //输入数据的函数
int InNumber(){
int number;
printf("请输入一个大于2的正整数");
scanf("%d",&number);
if(isNaN(number))
return number;
else
//让用户重新输入
InNumber();
} //判断一个数字大于2的正整数是否为素数
bool prime(int number){ int numI=;
double sum=; do{
sum=number%numI;
if(sum==){
return true;
break;
}else{
++numI;
}
}while(numI<number); return false;
} //循环n次数
void more(int number){
int num[number];
int j=;
for(int i=;i<=number;++i){
if(prime(i)){
num[j]=i;
++j;
}
else{
}
} /*int numI=3;
bool bo=prime(numI);
int numPrime[number];
int i=0;
if(bo){
numPrime[i]=numI;
++i;
}else{
//放弃
} if(numI<number){
++numI;
more(numI);
} */
} int main(int argc, char** argv) { //1:输入数据
//1:确保数字大于2的正整数 isNaN()
//2:判断数据是否为素数
//1:使用for(),让程序提供n次检测的机会
//2:使用prime()判断每个数据是否为素数
//3:输出结果 int number=InNumber();
more(number);
return ;
}

------------------------------------------------------------------------------------

 #include <iostream>
#include <stdio.h>
#include <math.h> //判断用户输入的数据是否大于2的正整数
bool isNaN(int number) {
if(number>)
return true;
else
return false;
} //输入数据的函数
int InNumber() {
int number;
printf("请输入一个大于2的正整数");
scanf("%d",&number);
if(isNaN(number))
return number;
else
//让用户重新输入
InNumber();
} //判断一个数字大于2的正整数是否为素数
bool prime(int number) { int numI=;
double sum=; do {
sum=number%numI;
if(sum==) {
return true;
break;
} else {
++numI;
}
} while(numI<number); return false;
} //按每行最多10个元素的输出素数
void OutNumber(int num[],int primeJ){
int i=;
do{
printf("%d\t",num[i]);
++i; //当连续输出10个元素时,就跳行
if(i%==)
printf("\n");
}while(i<primeJ);
} //n次循环,处理每个数字,记录素数
void more(int number) {
int num[number];
int primeJ=; //记录素数的数量
for(int i=; i<=number; ++i) {
if(prime(i)) {
num[primeJ]=i;
++primeJ;
} else {
// 记录合数的数量
}
} OutNumber(num,primeJ);
} int main(int argc, char** argv) { //1:输入数据
//1:确保数字大于2的正整数 isNaN()
//2:判断数据是否为素数
//1:使用for(),让程序提供n次检测的机会
//2:使用prime()判断每个数据是否为素数
//3:输出结果 int number=InNumber(); //输入
more(number); //中间处理 //OutNumber(); //输出 return ;
}

---------------------------------------------------------------------------------------------------------------------

第三个方式

 #include <iostream>
#include <stdio.h>
#include <math.h> //判断用户输入的数据是否大于2的正整数
bool isNaN(int number) {
if(number>)
return true;
else
return false;
} //输入数据的函数
int InNumber() {
int number;
printf("请输入一个大于2的正整数");
scanf("%d",&number);
if(isNaN(number))
return number;
else
//让用户重新输入
InNumber();
} //判断一个数字大于2的正整数是否为素数
bool prime(int number) { int numI=;
double sum=; do {
sum=number%numI;
if(sum==) {
return true;
break;
} else {
++numI;
}
} while(numI<number); return false;
} //按每行最多10个元素的输出素数
void OutNumber(int num[],int primeJ){
int i=;
do{
printf("%d\t",num[i]);
++i; //当连续输出10个元素时,就跳行
if(i%==)
printf("\n");
}while(i<primeJ);
} //n次循环,处理每个数字,记录素数
int more(int number) {
int num[number];
int primeJ=; //记录素数的数量
for(int i=; i<=number; ++i) {
if(prime(i)) {
// 记录合数
} else {
num[primeJ]=i;
++primeJ;
}
} OutNumber(num,primeJ);
} int main(int argc, char** argv) { //1:输入数据
//1:确保数字大于2的正整数 isNaN()
//2:判断数据是否为素数
//1:使用for(),让程序提供n次检测的机会
//2:使用prime()判断每个数据是否为素数
//3:输出结果 /***************************************************
主支干上,
设计模式
函数接收外界的数据,使用完后,反馈数据
这种一进一去的函数设计方式,称之为 什么好呢!
分支干上,
用来辅助主支干的函数的需要
***************************************************
目的:变量的数据在函数内处理,函数外的数据由函数来处理
意料发现:这样全局变量就不用存在了
从函数来看:函数从外界获取数据,并向外界反馈数据
设计模式:略学了设计模式,不知道这种方式算什么方式 ******************************************************/
int number=InNumber(); //输入函数,函数使用完,返回数值
more(number); //中间处理, 可惜c无法直接返回数组,用指针的话,又说数组长度要用固定长度,
//需要用指针的话,或许可以让它返回数据 //OutNumber(); //输出 ,因为more(number)没有返回数据,此方法待定 return ;
}

------------------------------------------------------------------------------

第四种方式,这是进一步的更新,增加 每次运行完后,提示用户是否想重新玩一次,

 #include <iostream>
#include <stdio.h>
#include <math.h> //判断用户输入的数据是否大于2的正整数
bool isNaN(int number) {
if(number>)
return true;
else
return false;
} //输入数据的函数
int InNumber() {
int number;
printf("请输入一个大于2的正整数");
scanf("%d",&number);
if(isNaN(number))
return number;
else
//让用户重新输入
InNumber();
} //判断一个数字大于2的正整数是否为素数
bool prime(int number) { int numI=;
double sum=; do {
sum=number%numI;
if(sum==) {
return true;
break;
} else {
++numI;
}
} while(numI<number); return false;
} //按每行最多10个元素的输出素数
void OutNumber(int num[],int primeJ) {
int i=;
do {
printf("%d\t",num[i]);
++i; //当连续输出10个元素时,就跳行
if(i%==)
printf("\n");
} while(i<primeJ);
} //n次循环,处理每个数字,记录素数
int more(int number) {
int num[number];
int primeJ=; //记录素数的数量
for(int i=; i<=number; ++i) {
if(prime(i)) {
// 记录合数
} else {
num[primeJ]=i;
++primeJ;
}
} OutNumber(num,primeJ);
} //运用完一次后,判断用户是否想重新再来一次
void EndlessLoop() { int number=InNumber(); //输入函数,函数使用完,返回数值
more(number); printf("\n\n你是否重新再来一次,请输入1,不要请输入其它字符: ");
int boNum;
scanf("%d",&boNum);
if(boNum==) {
EndlessLoop();
} else {
//退出 不处理
}
} int main(int argc, char** argv) { //1:输入数据
//1:确保数字大于2的正整数 isNaN()
//2:判断数据是否为素数
//1:使用for(),让程序提供n次检测的机会
//2:使用prime()判断每个数据是否为素数
//3:输出结果 /***************************************************
主支干上,
设计模式
函数接收外界的数据,使用完后,反馈数据
这种一进一去的函数设计方式,称之为 什么好呢!
分支干上,
用来辅助主支干的函数的需要
***************************************************
目的:变量的数据在函数内处理,函数外的数据由函数来处理
意料发现:这样全局变量就不用存在了
从函数来看:函数从外界获取数据,并向外界反馈数据
设计模式:略学了设计模式,不知道这种方式算什么方式 ******************************************************/
//int number=InNumber(); //输入函数,函数使用完,返回数值
//more(number); //中间处理, 可惜c无法直接返回数组,用指针的话,又说数组长度要用固定长度,
//需要用指针的话,或许可以让它返回数据 //OutNumber(); //输出 ,因为more(number)没有返回数据,此方法待定 EndlessLoop(); return ;
}

【风马一族_C】c语言版,在2到n中寻找出所有的素数的更多相关文章

  1. 【风马一族_C】进制转化

    #include "stdio.h" #include "Math.h" #define number 50 //设置数组的长度 int num10; //十进 ...

  2. 【风马一族_php】NO5_php基础知识_数组

    原文来自:http://www.cnblogs.com/sows/p/6032570.html (博客园的)风马一族 侵犯版本,后果自负 回顾 匿名函数 定义: 变量 = function [参数列表 ...

  3. 【风马一族_php】NO2_php基础知识

    原文来自:http://www.cnblogs.com/sows/p/5995763.html (博客园的)风马一族 侵犯版本,后果自负 回顾 什么是php以及php的发展史 搭建web服务器 apa ...

  4. 【风马一族_php】NO1_用php发出一声 Hi

    原文来自:http://www.cnblogs.com/sows/p/5990157.html  (博客园的)风马一族 侵犯版本,后果自负 第一步 安装WEB服务器 http://www.cnblog ...

  5. 【风马一族_php】NO0_搭建web服务器

    原文来自:http://www.cnblogs.com/sows/p/5977996.html  (博客园的)风马一族 侵犯版本,后果自负 安装apache apache是一种B/S结构的软件,apa ...

  6. 【风马一族_Android】通过菜单的点击,跳转到不同界面

    ---恢复内容开始--- 布局的代码:activity_main.xml <?xml version="1.0" encoding="utf-8"?> ...

  7. 【风马一族_xml】xmlp之dtd1

    什么是XML约束? 在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为xml约束 2. 为什么要使用xml约束? 参看提示栏 3. xml约束的作用? 约束xml的写法 对xml进行 ...

  8. 【风马一族_git_github】使用Github搭建个人网站

    个人网站 访问 https://用户名.github.io  ( 风马一族的Github网站 ) 搭建步骤 1)创建个人站点-->新建仓库(注:仓库名必须是[用户名.github.io]) 2) ...

  9. 【风马一族_Android】无线连接|调试Android手机

    原文来自:http://www.cnblogs.com/sows/p/6269396.html   (博客园的)风马一族 侵犯版本,后果自负 2017-01-10 15:03:31 准备阶段 1. 软 ...

随机推荐

  1. 容易导致outofmemoryException内存泄漏异常的编码问题

    1.System.Drawing方面的类使用问题 System.Drawing用到了很多系统的资源和非托管代码,所以使用的时候要特别小心,注意内存泄漏(Memory Leak) 2.new byte[ ...

  2. Liferay中SQL打印参数

      XX\tomcat-7.0.42\webapps\ROOT\WEB-INF\classes\log4j.properties log4j.rootLogger=INFO, CONSOLE log4 ...

  3. EDE,DEDE网站搬家,DEDECMS搬家教程,一看就会

    无聊做个小教程:DEDE搬家,本人提供搬家 先来说下DEDE 大家会安装吧,不多说,看图 一.进入织梦DedeCms的后台备份数据库 步骤:系统 –> 数据库备份/还原 -> 全选有所织梦 ...

  4. C++学习33 函数模板

    在<C++函数重载>一节中,为了求三个数的最大值,我们通过函数重载定义了三个名字相同.参数列表不同的函数,如下所示: //求三个整数的最大值 int max(int a, int b, i ...

  5. Java SE 第二十一讲----抽象类

    1.抽象类(abstract class):使用了abstract关键字修饰的类叫做抽象类,抽象类无法实例化,也就是说,不能new出来一个抽象类的对象. 2.抽象方法(abstract method) ...

  6. Java SE 第十六讲----方法重载

    1.方法重载(Overload):表示两个或多个方法名字相同,但方法参数不同 不同:1)参数个数不同: 2)参数类型不同: 注意:方法的返回值对重载没有任何影响 2.构造方法重载,只需看参数即可.如果 ...

  7. hbase的regionserver宕机

    错误日志: regionserver.HRegionServer: Failed deleting my ephemeral node zookeeper.RecoverableZooKeeper: ...

  8. DP编辑距离

    俄罗斯科学家Vladimir Levenshtein在1965年提出了编辑距离概念. 编辑距离,又称Levenshtein距离,是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数.许可的三种编 ...

  9. 初探接口测试框架--python系列2

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  10. Begin using git

    First thing first, you can easily install git in all 3 mainstream OS, Windows, Linux, OSX. Get windo ...