C语言作业3.doc

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

撞球 #include stdio.h #include math.h #include string.h int main() { double length,wide,x0,y0,x1,y1; int i; char towards[1500]; while(1) { memset(towards,0,sizeof(towards)); if(scanf(%lf %lf,wide,length)==EOF) break; scanf(%lf %lf,x0,y0); scanf(%lf %lf,x1,y1); scanf(%s,towards); for(i=0;istrlen(towards);i++) { if(towards[i]==F) y0=-y0; if(towards[i]==B) y0=2*length-y0; if(towards[i]==L) x0=-x0; if(towards[i]==R) x0=2*wide-x0; } printf(%.4lf\n,sqrt((x0-x1)*(x0-x1)+(y0-y1)*(y0-y1))); } return(0); } 20. 整数问题 成绩: 0 / 折扣: 0.8 请求输出满足以下条件的n位正整数的个数: 要求该n位整数的从高位开始前1位可以被1整除,该n位整数前2位可以被2*2整除,该整数前3位可以被3*3整除,该整数前4位可以被4*4整除……。即该整数前k位都可被k平方整除。 例如:n=1,则符合条件的1位正整数为1~9,输出答案9。n=2,符合条件的正整数为:12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96,则输出答案22。当n=4时,2432就是一个符合题意的整数。第一位2可以被1整除;前2为24可以被4整除;前3位243可以被9整除;整个4位2432可以被16整除。 输入:   n(0=n9) 输出: ??? 符合该条件的n位正整数的数量 (本题目为软件学院2007年保研学生初试上机试题。本题可以不用数组) ? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1? 以文本方式显示 9? 无限制 64M 0 测试用例 2 以文本方式显示 2? 以文本方式显示 22? 无限制 64M 0 测试用例 6 以文本方式显示 8? 以文本方式显示 0? 无限制 64M 0 思路一:做9个数组,第一个数组为1-9,从n=2开始,将上一组的每个数乘10加0-9,验算得到的数是否是n^2的整数倍,是则存入当前数组。完成后第n个数组的长度即是所求。 思路二:直接数完9组数据,做成映射表。 1,2,3,4,5,6,7,8,9共9个 12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92共22个 126,162,207,243,288,324,360,369,405,441,486,522,567,603,648,684,720, 729,765,801,846,882,927,963共24个 1264,2432,2880,3248,3600,3696,4416,4864,6032,6480,6848,7200,7296,8016,8464,9632,共16个 24325,28800,36000,60325,64800,72000,96325,共7个 243252,288000,360000,603252,648000,720000,963252,共7个 6480005,共1个 n=8,9时个数为0 则建立数组a[9]={9,22,24,16,7,7,1,0,0},输入n则直接输出数组的第n个值即可 注意,如果数组计数从0开始,则输入n要输出a[n-1]#include stdio.h void main() {int n; n9; scanf(%d,n); {if(n==1) printf(9\n); } {if(n==2) printf(22\n); } {if(n==3) printf(24\n); } {if(n==4) printf(16\n); } {if((n==5)||(n==6)) printf(7\n); } {if(n==7) printf(1\n); } {if((n==8)||(n==0)) printf(0\n); }

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档