【风马一族_C】c语言版,在2到n中寻找出所有的素数
#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中寻找出所有的素数的更多相关文章
- 【风马一族_C】进制转化
#include "stdio.h" #include "Math.h" #define number 50 //设置数组的长度 int num10; //十进 ...
- 【风马一族_php】NO5_php基础知识_数组
原文来自:http://www.cnblogs.com/sows/p/6032570.html (博客园的)风马一族 侵犯版本,后果自负 回顾 匿名函数 定义: 变量 = function [参数列表 ...
- 【风马一族_php】NO2_php基础知识
原文来自:http://www.cnblogs.com/sows/p/5995763.html (博客园的)风马一族 侵犯版本,后果自负 回顾 什么是php以及php的发展史 搭建web服务器 apa ...
- 【风马一族_php】NO1_用php发出一声 Hi
原文来自:http://www.cnblogs.com/sows/p/5990157.html (博客园的)风马一族 侵犯版本,后果自负 第一步 安装WEB服务器 http://www.cnblog ...
- 【风马一族_php】NO0_搭建web服务器
原文来自:http://www.cnblogs.com/sows/p/5977996.html (博客园的)风马一族 侵犯版本,后果自负 安装apache apache是一种B/S结构的软件,apa ...
- 【风马一族_Android】通过菜单的点击,跳转到不同界面
---恢复内容开始--- 布局的代码:activity_main.xml <?xml version="1.0" encoding="utf-8"?> ...
- 【风马一族_xml】xmlp之dtd1
什么是XML约束? 在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为xml约束 2. 为什么要使用xml约束? 参看提示栏 3. xml约束的作用? 约束xml的写法 对xml进行 ...
- 【风马一族_git_github】使用Github搭建个人网站
个人网站 访问 https://用户名.github.io ( 风马一族的Github网站 ) 搭建步骤 1)创建个人站点-->新建仓库(注:仓库名必须是[用户名.github.io]) 2) ...
- 【风马一族_Android】无线连接|调试Android手机
原文来自:http://www.cnblogs.com/sows/p/6269396.html (博客园的)风马一族 侵犯版本,后果自负 2017-01-10 15:03:31 准备阶段 1. 软 ...
随机推荐
- C# 导出 Excel 和相关打印设置
源地址:http://blog.csdn.net/wanmingtom/article/details/6125599 Excel.Application myExcel = new Excel.Ap ...
- 基于nginx和uWSGI在Ubuntu上部署Djan
http://www.jianshu.com/p/e6ff4a28ab5a 文/Gevin(简书作者)原文链接:http://www.jianshu.com/p/e6ff4a28ab5a著作权归作者所 ...
- (转)Combobox出现System.Data.DataRowView的原因,以及指定ValueMember的时机问题
原文地址 http://blog.csdn.net/lubiaopan/article/details/5915774 当使用Combobox控件时,出现SelectedValue的值为“System ...
- Oracle Profile 使用详解--zhuanzai
一.目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该prof ...
- python3 AttributeError: 'NoneType' object has no attribute 'split'
from wsgiref.simple_server import make_server def RunServer(environ, start_response): start_response ...
- php实例根据ID删除mysql表中的数据
在动态网站开发中,我们经常要根据ID删除表中的数据,例如用户删除帖子,就需要根据ID删除帖子.本文章向大家介绍php根据ID删除表中数据的实例,需要的朋友可以参考一下本文章的实例. php实例根据ID ...
- 关于WinCE流接口驱动支持10以上的端口号(COM10)
一般情况下,WinCE流驱动的索引为0~9.应用程序中,通过CreateFile(_T("XXXN:"),…)打开对应的驱动,N也为0~9.这样看来,似乎在WinCE下同名流驱动个 ...
- HDU 4292 Food
Food Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 移动开发 android 入门开发 阶段视频
一直想把 android 的开发学习录制成视频,这里录制了一部分供大家学习. http://www.chuanke.com/s5402069.html 到这里,文档,源码,视频基本就全了,祝愿大家能够 ...
- python写入中文到文件乱码的问题
file = open(filename,'a',encoding='utf8')#指定写入编码为utf8,否则写入中文会乱码