C中级实战题目解答.doc

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C中级实战题目解答

C语言程序设计中级实战题目解答 马俊编写和整理 计算太阳和地球之间的万有引力。 解答: F=G(m1*m2)/R2 G=6.67259*10-11m3s-2kg-1 m1=1.987E30(kg) m2=5.975E24 (kg) R=1.495E11 (m) /*----------------------------------------------- 程序grav.c计算太阳和地球之间的万有引力 -----------------------------------------------*/ float grav(float ml,float m2,float distance) { float g, G=6.67259E-11; g=G*m1*m2/(distance*distance); return g; } main() { float g,Msun=1.987E30,Mearth=5.975E24; g=grav(Msun,Mearth,1.495E11); printf(The gravitation between sun and earth is %g Newton. \n,g); } 2、试用计算机验证歌德巴赫猜想,即任何一个偶数可分解为两个素数之和 1+1=2 分析:假设我们要验证10000以内的偶数,首先将10000个数放在一个数组中,然后将所有的合数去除掉(用零代替),循环从4到10000开始遍历所有的偶数,测试每一个偶数是否可以分解为这个数组中两个非零数相加。 /************************************* File: goldbuch.c Author: 马俊 Time: 2006-10-19 function: To test the suppose of GOLDBUCH **************************************/ #include stdio.h #define M 10001 void CreatePrimeList(int PrimeList[]) { int i,j; for(i=0;iM;i++)PrimeList[i]=i; i=2; while(iM/2) { for(j=i+1;jM;j++) if(PrimeList[j]!=0PrimeList[j]%PrimeList[i]==0) PrimeList[j]=0; i=NextPrimeNumber(i,PrimeList); } } int NextPrimeNumber(int p,int PrimeList[]) { p++; while(PrimeList[p]==0)p++; return PrimeList[p]; } void test(int PrimeList[]) { int x,p; x=4; while(xM) { p=PrimeList[2]; while(pM/2PrimeList[x-p]==0) p=NextPrimeNumber(p,PrimeList); if(pM/2)printf(Great discovery: Goldbach is wrong! \n); else printf(The even number %d=%d+%d\n,x,p,x-p); x=x+2; } } void main() { int PrimeList[M]; CreatePrimeList(PrimeList); test(PrimeList); getch(); } 输入一个年份,打印年历 分析:1)我们如果知道某一年元旦是星期几,则这一年每一天是星期几就定下来了。 2)我们知道1900年的元旦是星期一。 3)每年是365天=52*7+1,闰年多一天 4)4年中会有一个闰年,闰年的判断条件是:year%4==0year%100!=0||year%400==0 5)4、6、9、11月30天,3、5、7、8、10、12月31天,2月来处理闰月 /**************************************** File: Calender.c Author:马俊 Time:2006-10-19 Function: Print the Calender ***********

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档