【风马一族_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. 软 ...
随机推荐
- ssh-keygen+ssh-copy-id无密码登录远程LINUX主机(转载)
From:http://blog.163.com/lgh_2002/blog/static/44017526201011333227161/ 1.创建公钥和私钥 ligh@local-host$ ss ...
- gridview转成EXCEL文件保存(多页)
CompositeLink complink = new CompositeLink(new PrintingSystem()); PrintableComponentLink link = new ...
- gridView自动列宽代码
gridView1.OptionsView.ColumnAutoWidth = false; for (int I = 0; I < gridView1.Columns.Count; I++) ...
- 使用k-近邻算法改进约会网站的配对效果
---恢复内容开始--- < Machine Learning 机器学习实战>的确是一本学习python,掌握数据相关技能的,不可多得的好书!! 最近邻算法源码如下,给有需要的入门者学习, ...
- SOAP: java+xfire(web service) + php客户端
作者: 吴俊杰 web service这项技术暂不说它有多落伍,但是项目中用到了,没法逃避! xml和json各有各的好处,但是JSON无疑是当今数据交互的主流了.客户soap服务器端用的是 j ...
- 20145305 《Java程序设计》第9周学习总结
教材学习内容总结 1.厂商在操作JDBC驱动程序时,依方式可将驱动程序分为4种类型: JDBC-ODBC Bridge Driver Native API Driver JDBC-Net Driver ...
- Oracle中对表的操作
表的创建与管理 创建表: CREATE TABLE TABLE_NAME ( COLUMN_NAME TYPE [DEFAULT VALUE], COLUMN_NAME TYPE [DEFAULT V ...
- 荣耀6 Plus 的屏幕大小pt计算方法
使用 gomobile 检测 华为荣耀 6 Plus 的屏幕大小为: 1080*1776 px ; 162pt*266.40pt ; 每pt像素个数:6.666665个. 而实际的数据是: 主 ...
- go 使用模板函数的例子
代码: package main import ( "bytes" "fmt" "text/template" ...
- Node.js发送邮件
1.使用nodemailer模块 var nodemailer = require("nodemailer"); 2.代码如下 exports.send_email = funct ...