#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. 使用JMeter创建FTP测试计划

    FTP服务主要提供上传和下载功能.有时间需要我们测试服务器上传和下载的性能.在这里我通过JMeter做一个FTP测试计划的例子. 当然,JMeter官方网站的用户手册也有例子,但由于版本较早,我也算是 ...

  2. SQL Server 2005 不允许远程连接解决方法

    刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:“在连接到 SQL Server 2005 时,在默认的设 置下 SQL Server 不允许进行远程连接可能会导致此失 ...

  3. [FlashPlyaer] FP版本20.0.267对Win10的64位系统的不兼容问题

    Win10近日推送了一个新的升级补丁KB3132372,它专门用来修复Adobe Flash Player里的安全漏洞.但是很多用户反映升级了这个补丁之后导致浏览器上网时出现崩溃.卡死.空白等现象,尤 ...

  4. Oracle中对表的操作

    表的创建与管理 创建表: CREATE TABLE TABLE_NAME ( COLUMN_NAME TYPE [DEFAULT VALUE], COLUMN_NAME TYPE [DEFAULT V ...

  5. RDLC报表分页显示标题

    将报表以 XML的方式打开,搜索找到“详细信息” 在这个位置 <TablixRowHierarchy> <TablixMembers> <TablixMember> ...

  6. Maven项目中,编译proto文件成Java类

    新建Maven项目 新建一个 Maven 项目: pom定义了最小的maven2元素,即:groupId,artifactId,version. groupId:项目或者组织的唯一标志,并且配置时生成 ...

  7. c# WinForm加载焦点

    1.c# WinForm在加载时把焦点设在按钮上 this.AcceptButton = button1; 这样在WinForm窗口中, 按钮的状态会变成窗口的默认按钮, 只要按下Enter键,就会触 ...

  8. mssqlserver 批量插入示例

    public bool DoQuestionSqlBulkCopy(DataTable dtDoQuestion,             string DoQuestionName,         ...

  9. POJ 2396 Budget【网络流】

    题意: cas           //测试数据组数 n m         //行数 列数 a1 a2 ... an    //每行的和 b1 b2 ... bn   //每列的和 q       ...

  10. unix环境C编程之日期时间转换

    1.理清概念 1.1.日历时间:   含义:国际标准时间1970年1月1日00:00:00以来经过的秒数.   数据类型:time_t.实际上是long的别名. 1.2.tm结构时间:   含义:结构 ...