ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:22.95KB ,
资源ID:8311135      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8311135.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言头文件.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言头文件.docx

1、C语言头文件/判一个整数是否为回文素数#include #include /判一个整数是否为回文数,是返回真否则返回假char isPlalindrome(long n);/判一个整数是否为素数,是返回真否则返回假char isPrime(long n);int main() puts(29999之间的回文素数如下:); for (long n=2;n=0?n:-n); n=s; while (s) m=m*10+s%10; s/=10; return (m=n);/判一个整数是否为素数,是返回真否则返回假char isPrime(long n) if (n2) return false; i

2、nt i,k=(int)sqrt(n); for (i=2;i=k;i+) if (n%i=0) return false; return true;/方法1:输出所有3位数的对称素数。例如:101、727都是素数并且是对称的。 #include #include /判n是否为素数,是返回真否则返回假int isPrime(long int n);int main() for (int i=100;i1000;i+) if (isPrime(i)&i%10=i/100) printf(%d是对称的素数n,i);/判n是否为素数,是返回真否则返回假int isPrime(long int n)

3、long int k=(long int)sqrt(n); for (long int i=2;i=k;i+) if (n%i=0) return false; return true;/方法2:输出所有3位数的对称素数。例如:101、727都是素数并且是对称的。 #include /判n是否为素数,是返回真否则返回假char isPrime(long int n);int main() for (int i=1;i=9;i+=2) for (int j=0;j=9;j+) int k=101*i+10*j; if (isPrime(k) printf(%d是对称的素数n,k); /判n为素数

4、,是素数返回真否则返回假char isPrime(long n) if (n2) return false; if (n=2) return true; if (n%2=0) return false; for (long i=3;i*i=n;i+=2) if (n%i=0) return false; return true;/*/功能:演示如何建立一个简单的菜单/编写者:王灿辉,版本号:1.0,编写时间:2011-1-6*/#include #include /toupper#include /strchr#include /getche#define S_NUM 35 /选择菜单表头的星

5、号数目#define MAX_MENU 255 /功能选择菜单的最大行数/显示表头的n个字符(ch)inline void show_table_head(int n,char ch);/显示功能选择菜单/入口参数:存放允许用户选择的所有(大写)字符,格式形如:“A,B,C,D,Q”void show_menu(char *);/获得用户的选择。返回值:用户按下的字符(被转为大写)char get_choice(void);int main() char choice; /用户按下的字符(被转为大写) while (choice=get_choice()!=Q) switch (choice)

6、 case I: printf(an输入信息。nn); break; case O: printf(an输出信息。nn); break; case T: printf(an输出统计信息。nn); break; case F: printf(an查找并输出信息。nn); break; case D: printf(an查找并删除信息。nn); break; /显示表头的n个字符(ch)inline void show_table_head(int n,char ch) if (n1) return; for (int i=0;in;i+) putchar(ch); putchar(n);/显示功

7、能选择菜单/入口参数:存放允许用户选择的所有(大写)字符,格式形如:“A,B,C,D,Q”void show_menu(char *select_str) /存放功能选择菜单,要求:每行的第一个字符必须为选择字符,最后一行一般是“Q:退出系统”! const static char *menu= I:输入信息, O:输出信息, T:输出统计信息, F:查找并输出信息, D:查找并删除信息, Q:退出系统 ; show_table_head(S_NUM,*); /显示E_NUM个* for (int i=0,j=0;i0) select_strj+=,; select_strj+=toupper

8、(menui0); select_strj+=0; show_table_head(S_NUM,*); /显示E_NUM个* printf(请选择(%s):,select_str);/获得用户的选择。返回值:用户按下的字符(被转为大写)char get_choice(void) char select_strMAX_MENU*2; /存放允许用户选择的所有(大写)字符,格式形如:“A,B,C,D,Q” char choice; while (1) show_menu(select_str); /显示功能选择菜单 choice=toupper(getche(); /非缓冲有回显输入 putcha

9、r(n); if (strchr(select_str,choice)&choice!=,) break; printf(an选择错误,请重新选择.nn); return choice;/*给定整数N(2=N=8),产生所有其前任意位都是质数的N位质数。如:7331就是一个这样的4位质数,因为7、73、733都是质数。要求:按升序输出所有符合要求的质数。例如:输入N=2,则必须按序输出下面的9个质数:23 29 31 37 53 59 71 73 79*/#include /判n是否为质数,是返回真否则返回假。int isPrime(long int n) if (n2) return fal

10、se; for (long int i=2;i*i=n;i+) if (n%i=0) return false; return true;int main() int n=0; printf(请输入一个28之间的整数:); scanf(%d,&n); if (n8) puts(输入的整数不在28之间!); return -1; /计算下界(10n-1)和上界(10n) long int i=0,down=10; for (i=n-1;i1;i-) down*=10; long int up=down*10; int count=0; /符合要求的质数的数目 for (i=down;i=10;j

11、/=10) if (!isPrime(prime/j) break; if (j10) /其前任意位都是质数 printf(%dt,i); /输出 count+; printf(n符合要求的%d位质数共有%d个。n,n,count); return 0;/产生伪随机数的函数及其测试程序#include static unsigned long int next=1; /种子int rand1(void) /产生伪随机数的魔术般的公式 next*=1103515245+12345; return (unsigned int)(next/65536)%32768;void srand1(unsig

12、ned int seed) next=seed;/跳过本行剩余的其他字符和键inline void eatline(void) while (getchar()!=n) continue;int main(void) unsigned int seed; printf(请输入你选定的种子:); while (scanf(%u,&seed)=1) srand1(seed); /重置种子 for (int i=0;i8;i+) printf(%hdt,rand1(); eatline(); printf(n请输入下一个种子(按q退出):); /“打鱼还是晒网”。某人从2000年1月1日20岁开始“

13、三天打鱼两天晒网”,问某天该人在打鱼还是在晒网。#include/从那一年开始“三天打鱼两天晒网”#define YEAR 2000 /开始“三天打鱼两天晒网”的年龄#define AGE 20/可以“三天打鱼两天晒网”的最大年龄#define MAX_AGE 100/判指定年份(year)是否为闰年?inline bool isLeapYear(int year);/获得指定年(year)、月(month)对应的天数,如:2011年5月有31天/错误条件:如果月份错误则返回-1int getDaynumOfMonth(int year,int month);int main() int i,

14、y,m,d; while (1) printf(请输入日期(年.月.日),用q退出:); if (scanf(%d.%d.%d,&y,&m,&d)!=3) break; while (getchar()!=n); /跳过该行的其他输入和键 if (yYEAR-AGE) puts(那一年他还没有出生!); continue; if (yMAX_AGE) printf(他已经超过%d岁,还能打鱼?n,MAX_AGE); continue; if (m12) puts(月份只能在112之间); continue; if (ddays) printf(%d年%d月只有%d天!n,y,m,days);

15、continue; days=d; /加上前面几年的天数,每年365天或366天(闰年) for (i=y-1;i=YEAR;i-) days+=365+isLeapYear(i); /加上前面几个月的天数 for (i=m-1;i=1;i-) days+=getDaynumOfMonth(y,i); days %= 5; if (days=1|days=2|days=3) puts(他正在打鱼.); else puts(他正在晒网.); return 0;/判指定年份(year)是否为闰年?inline bool isLeapYear(int year) return (year%4=0 &

16、 year%100!=0)|(year%400=0);/获得指定年(year)、月(month)对应的天数,如:2011年5月有31天/错误条件:如果月份错误则返回-1int getDaynumOfMonth(int year,int month) static const int day_num=31,-1,31,30,31,30,31,31,30,31,30,31; if (month12) return -1; /月份错误 if (month!=2) return day_nummonth-1; else return (isLeapYear(year)?29:28);/*程序的运行过程

17、和输出结果如下:请输入日期(年.月.日),用q退出:1977.7.7那一年他还没有出生!请输入日期(年.月.日),用q退出:1988.8.8那一年他还没有开始打鱼!请输入日期(年.月.日),用q退出:2111.1.1他已经超过100岁,还能打鱼?请输入日期(年.月.日),用q退出:2000.0.1月份只能在112之间请输入日期(年.月.日),用q退出:2000.1.0日期必须大于0!请输入日期(年.月.日),用q退出:2000.2.302000年2月只有29天!请输入日期(年.月.日),用q退出:2000.1.1他正在打鱼.请输入日期(年.月.日),用q退出:2000.1.3他正在打鱼.请输入

18、日期(年.月.日),用q退出:2000.1.4他正在晒网.请输入日期(年.月.日),用q退出:2000.1.5他正在晒网.请输入日期(年.月.日),用q退出:2000.1.6他正在打鱼.请输入日期(年.月.日),用q退出:2000.2.1他正在打鱼.请输入日期(年.月.日),用q退出:2000.2.3他正在晒网.请输入日期(年.月.日),用q退出:2001.1.1他正在打鱼.请输入日期(年.月.日),用q退出:2001.1.2他正在打鱼.请输入日期(年.月.日),用q退出:2001.1.3他正在晒网.请输入日期(年.月.日),用q退出:2001.1.5他正在打鱼.请输入日期(年.月.日),用q

19、退出:2011.10.10他正在打鱼.请输入日期(年.月.日),用q退出:q*/利用全局变量实现swap函数。演示全局变量(外部变量)的定义、声明(说明)和使用/全局变量(外部变量)是实现函数之间数据通讯的有效手段,但绝不是一种好的手段。/外部变量可加强函数模块之间的数据联系,但是又使函数要依赖这些变量,/本例中的函数main、swap均依赖于(外部)全局变量x和y,因而使得函数的独立性降低#include int x,y;/(外部)全局变量(的定义),初值为0void swap(void) /在函数前定义的全局变量,在该函数内使用可不再加以说明 int t=x; x=y; y=t; retu

20、rn;int main() extern int x,y; /该声明可省略,但明确写出来,可以知道这里有访问全局变量,这是一个好的习惯! x=3; y=5; printf(交换前全局变量x=%d,y=%dn,x,y); swap(); /利用全局变量实现值交换 printf(交换后全局变量x=%d,y=%dn,x,y); return; /可以省略,但最好写出来!/输入任意一个整数,输出不小于该整数的一对孪生素数。/孪生素数即相差2的一对素数。例如3和5 ,5和7,11和13,10016957和10016959等等都是孪生素数。 #include #include /判n是否为素数,是返回真否

21、则返回假int isPrime(long int n);int main() long int n; printf(请输入一个整数:); scanf(%ld,&n); while (!isPrime(n)|!isPrime(n+2) n+; printf(%ld,%ld是一对孪生素数n,n,n+2);/判n是否为素数,是返回真否则返回假int isPrime(long int n) long int k=(long int)sqrt(n); for (long int i=2;i=k;i+) if (n%i=0) return false; return true;#include /判一个整

22、数是否为回文数char isPlalindrome(long n);int main() for (long n=-999;n=0?n:-n); n=s; while (s) m=m*10+s%10; s/=10; return (m=n);/全局变量和局部变量#include static int x;/仅在本文件可以使用的全局变量int y=1;/在本程序(其他文件的函数)中都可以使用的全局变量int main() extern int x; /引用全局变量,该语句可以省略,但明确写出来是更好的习惯 /声明该变量在函数外部定义,不能进行初始化,也不能在该函数中再定义。 /extern in

23、t y; 如果有该语句则下面的int y=2;将报告重定义错误! printf(x=%dty=%dn,x,y); /输出(全局变量)x=0(未初始化的全局变量被自动初始化为0)和y=1 x=1; /修改全局变量的值 int y=2; /新定义的局部变量并初始化,将覆盖掉全局变量 printf(x=%dty=%dn,x,y); /输出x=1(全局变量)和y=2(局部变量)/输出130000之间的所有亲密数。/一个数A的所有因子之和为B,而B的所有因子之和正好是A,则称A和B是亲密数/如果A又正好等于B,则称A为“完数”,如:6=1+2+3则为“完数”。/220和284是亲密数。/220的所有因子

24、之和:1+2+4+5+10+11+20+22+44+55+110=284/284的所有因子之和:1+2+4+71+142=220#include #define MAX 30000/计算给定正整数的所有因子之和unsigned int func(unsigned int n) for (unsigned int s=0,i=1;i=n/2;i+) if (n%i=0) s+=i; return s;int main() for (unsigned a=1;a=MAX;a+) if (func(func(a)=a) printf(%dt%dn,a,func(a); /输出2-N之间的所有完数,即:一个数正好等于其因子之和,如:6=1+2+3#include /判给定的正整数是否是完数char func(int n) for (int s=0,i=1;i=2) : ); scanf(%d,&n); if (n=2) for (i=2;i=n;i+) if (func(i) printf(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1