#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. tar.gz和rpm安装文件(转载)

    from:http://bbs.chinaunix.net/thread-2277750-1-1.html Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容 ...

  2. nginx 环境搭建(基于linux)

    Nginx是一种服务器软件,故而其最主要.最基本的功能当然是可以与服务器硬件结合,让程序员可以将程序放在Nginx服务器上,将程序发布出去,让成千上万的网民可以浏览.除此之外,Nginx是一种高性能的 ...

  3. flexbox弹性盒模型

    div { display:flex; } div a{ }

  4. Ubuntu 之 initramfs 报错解决之一

    问题出现: ubuntu 更新后,编辑文件提示权限不够,并提示更新错误,重启后进入 initramfs ,仔细看提示错误有: file system check of the root filesys ...

  5. Dubbo Multicast 注册中心即相关代码实现

    Dubbo 的 Multicast注册中心有下面特点: 不需要启动任何中心节点,只要广播地址一样,就可以互相发现 组播受网络结构限制,只适合小规模应用或开发阶段使用. 组播地址段: 224.0.0.0 ...

  6. Node.js发送邮件

    1.使用nodemailer模块 var nodemailer = require("nodemailer"); 2.代码如下 exports.send_email = funct ...

  7. 分布式消息队列的使用kakfa

    作用: 1.系统解耦 2.通过消息可以减少系统的处理压力,做一个缓冲 3.原理基于生存者消费者的模式 4.两种场景:队列(端对端 一对一).主题(一对多,广播模式) 5.消息:header.body构 ...

  8. mysql 使用说明-2

    3.3.4 Retrieving Information from a Table Select 命令从表格中取回信息 SELECT what_to_select FROM which_table W ...

  9. 002 The Variables In Csharp

    在介绍本章之前,我们先看一下C#的编译过程,如下图所示: 图片摘自:http://www.developingthefuture.net/compilation-process-and-jit-com ...

  10. Linux下程序对拍_C++

    此博客需要付费才阅读,因为该博客实用性十分强,且十分容易理解 若需购买请联系博主,联系方式戳这 http://www.cnblogs.com/hadilo/p/5932395.html 主要介绍如何在 ...