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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C算法列子Word文档格式.docx

1、n+) s=s+n; if(s1000) break;n=%dn,n-1);解2: int k,n,s; n=1; while(s k=n; n+;,k);4. 求1+22+32+42+102。=10; s=s+n*n;s=%dn,s);5. 求1+(1+2)+(1+2+3)+(1+2+3+10)的值。解法1(用双循环)main() int i,t,s; s=0; for(i=1;=5;i=i+1) t=0; for(j=1;j=1e-6) pi=pi+t; n=n+2; t=s/n; pi=pi*4;pi=%10.6fn,pi);解:用语句:s=-s,控制各项和符号。10. 求1+3/5+5

2、/9+7/13+97/193的值。 float i,t,s; s=1; for(i=3;=97; s=s+i/(2*i-1);11. 求1-3/5+5/9-7/13+-97/193的值。 float i,p,t,s; s=-s; p=p+s*i/(2*i-1);12. 求121222324263之值。math.h /*求幂pow( ),要用此头函数*/ int i; double s;=63; s=s+pow(2,i);%en double n,s; n=n*2;13. 求11/31/32/51/32/53/71/33/74/9前10项之和。 double a,b,t,s; a=0,b=1;

3、t=1; a=a+1; b=b+2; t=t*a/b;%lfn14. 求用下列级数的前21项之和计算自然对数之底的近似值。1,1/1!,1/2!,1/3!,1/(N-1)! double t,s; /*第一项赋为初值*/=20; t=t*i; /*分母连乘*/ s=s+1/t;15. 求11223448n2n-1前10项之和。 int i,s; s=s+i*pow(2,i-1); int i,n,s; s=s+i*n;16. 求10! 的值。int i; long t; /求i的阶乘%ldn,t);17. 编一程序求1!+3!+5!+7!+9!。 int i,j;long t,s;=9;i=i

4、+2) t=1; for(j=1;j+) /求i的阶乘 t=t*j; s=s+t; /累加i的阶乘18. 求1!+2!+20!的值。解法1(用单循环): t=t*i;解法2(用双循环):int i,j; for(j=1;j+)/求i的阶乘 19. 求1+1/2!+1/3!+1/4!+,前10项之和。 s=s+1/t; /累加i的阶乘的倒数20. 求a+aa+aaa+aaaa+aaaaa+的值,其中a和项数由自己确定。 int a,n,s=0,t=0,k=1;input a,n:); scanf(%d,%d,&a,&n); while(k=n) t=t*10+a; k+;a=%d,n=%dn,a

5、,n);a+aa+aaa+aaaa.=%dn21. 求分数序列2/1,3/2,5/3,8/5,13/8,前20项之和。(后一项的分子,等于前一项分子与分母之和) int n,t; float a=2,b=1,s=0; s=s+a/b; t=a; /*先把分子a赋给t暂时保存*/ a=a+b; /*把a+b赋给后一个分子a*/ b=t; /*再把暂存的前一个分子,赋给后一个分母*/22. 求分数序列1/2,2/3,3/5,5/8,8/13,前20项之和。(后一项的分母,等于前一项分子与分母之和) float a=1,b=2,s=0; t=b; /*先把分母赋给t暂时保存*/ b=a+b; /*把

6、a+b赋给后一个分母b*/ a=t; /*再把暂存的前一个分母,赋给后一个分子*/23. 判断输入的一个整数是否能被3或7整除,若能整除输出“YES”否则输出“NO”int k; printf(Enter a int number: scanf(%dk); if( k%3= =0|k%7= =0 )YESn else NOn24. 一个数用3除余2,用5除余3,用7除余5,求出其中最小的一个数。 long n; while(1) if(n%3=2&n%5=3&n%7=5)n=%ldn,n);25. 求出1000以内的3除余2,5除余3,7除余2的数。int n;n%7=2)26. 下面程序从读

7、入的整数数据中,统计大于0的整数个数i和小于0的整数个数j,当输入0时,程序运行结束。 #include0) i= i+1 ; if (n0) j= j+1 ; scanf(“%d”,& /*继续输入下一个数*/printf(“i=%d,j=%dn”,i,j );27. 下面程序输入一个学生的生日(年:y0,月:m0,日:d0),并输入当前日期(年:y1,月:m1,日:d1)。求出该学生的实足年龄。 #include m1 ) age-; /如果出生月份当前月份,年龄减1岁 if ( m0 = = m1 )&( d0 d1 ) age-;/*如果出生月份=当前月份,但出生日当前日,年龄减1岁*

8、/age=%3dn,age);28. /*若输入2003年3月5日,则输出是2003年第64天*/*反过来,若输入2003年第64天,则输出3月5日*/int day_tab13= 0,31,28,31,30,31,30,31,31,30,31,30,31, 0,31,29,31,30,31,30,31,31,30,31,30,31, ;void main(void) int day_of_year(int year,int month,int day); int month_day(int year,int yearday); int y,m,d;Input year,month,day:y

9、,&m,&d);%d年第%d天n,y,day_of_year(y,m,d); /*打印天数*/Input year,dayth: month_day(y,d); /*求月份数、当月第几天*/int day_of_year(int year,int month,int day)/*输入年、月、日,求是该年第几天*/ int i,leap; /*闰年leap=1,非闰年leap=0*/ leap=year%4=0&year%100=0|year%400=0;month;i+) /*i从1开始,不用第0月*/ day+=day_tableapi; /*若是2003年3月5号,则累加1月、2月的天数*

10、/ return(day);int month_day(int year,int yearday)/*输入年、天数,求是该年几月几日*/year%100!=0|year%400=0;yeardayday_tableapi; yearday-=day_tableapi; /*若是2003年第64天,则减去1月,2月的天数*/ /*i是月份数,剩下的yearday是当月天数*/%d月,i); /*打印月份*/%d日n,yearday); /*打印天数*/*运行情况:2003,3,52003年第64天2003,643月5日*/29. 二、枚举法1. (枚举法)求解百鸡问题。鸡翁一,值钱五,鸡母一,值

11、钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、母、雏各几何?int x,y,z; for(x=1;x18;x+) for(y=1;y31;y+) z=100-x-y; if(5*x+3*y+z/3.0=100) /C语言中不能除以3cock=%d,hen=%d,chick=%dn,x,y,z);2. (枚举法)求满足ijk+kji=1333的i,j,k的值(i,j,k均是一位数)。此问题实际是:一个三位数,三位数字顺排倒排组成的两个三位数之和等于1333,求这个三位数的三位数字。 int i,j,k; for(j=0; for(k=1;kk+) if(i*100+j*10+k)+(k*100+j*

12、10+i)=1333) printf(i=%d,j=%d,k=%dn,i,j,k);3. 4. 三、排序1. 以下程序不用第三个变量,实现将两个数进行对调的操作。#include “stdio.h”int a,b; scafn(“%d%d”,&b); printf(“a=%d,b=%dn”,a,b);b=a-b;a=a-b;2. 选择法排序#include ak) k=j; if(k!=i) t=ai;ai=ak;ak=t;%d ,ai);n3. 冒泡法排序 int a11; /*不用0下标,故定义a11*/ int i,j,t;Input 10 numbers:11;j+) /*控制比较的轮

13、数为9轮*/=10-j;i+) /*从第1个元素开始,往下进行比较*/ if(aiai+1) /*若上面元素大于下面的元素,则交换*/ t=ai;ai=ai+1;ai+1=t;The sortted numbers: getch();4. D5. 四、数组1. (最大数、最小数)求出十个数中的最大数,最小数及其序号。 int a10=1,-3,-7,9,11,0,4,32,25,10; int i,max,min,n1,n2;array a: 9;%d, /*注意输出格式的控制*/ max=min=a0;n1=n2=0; /*设0号元素最大、最小,n1,n2记序号*/ if(aimax) /*若ai大于max*/ max=ai; /*把ai赋给max*/ n1=i; /*同时用n1记最大数的序号i*/ else /*否则*/ if(aimin) /*若ai小于min*/ min=ai; /*把ai赋给min*/ n2=i; /*同时用n2记最小数的序号i*/

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

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