10级C语言课程网络公开赛1解题报告

解题报告 之 处女作,嘎嘎```-by wqf582

A:Egypt

这题目可以简单理解为:给出三角形三边长度a,b,c,判断其是否构成直角三角形。判断大家都会:是否满足(a*a==b*b+c*c)||(b*b==c*c+a*a)||(c*c==b*b+a*a),同时要a>0&&b>0&&c>0。这里还要注意一点,输入负数的话,是有输出的,如果将输出只包含在if(a>0&&b>0&&c>0)的判断里面,就会导致错误哦。

B:聪明的GG

这题目可以简单理解为:已知此圆形物体滚动的圈数n,以及其直径d,求它滚动距离就行。当然这里要求此圆形物体的周长自然要用到圆周率,官方推荐用反余弦函数anlge = acos(value)来求出教精确的pi,但我没用,我直接?opi赋值 pi=3.14159265358979.....,哈哈,这个有点偷懒的嫌疑了,别学我哦,但是你要是保证你记住的pi小数点后面的位数超过double的精度,那是可以的。然后,简简单单的个位数行代码一提交,你就变成聪明的GG了,哈哈!

C:字符型?整型?

题目要求已经很明了了,我们就全都用字符型来处理就好了,我们需要做一个这样的判断if(a>='0'&&a<='9') a-=48;就是输入的数字字符,ASCII码-48就得这个数的值了。然后相加,算出平均值,输出保留两位小数就OK了。

D:被3和11整除

今天看了crq老师不用数组来处理的版本,小弟很是佩服,这个方法对还不懂用数组的童鞋来说,还是比较容易理解的。下面我就来说说用字符串处理的吧,我是用gets(s)输入的,然后要用到包含在string.h头文件中的strlen(s)函数求出字符串的长度,然后用for(i=0;i<len;i+=2)
x=x+(s[i]-48); for(i=1;i<len;i+=2) y=y+(s[i]-48);对字符逐个处理,这里是偶数位和奇数位的数字分别相加,x+y能被3整除,这个数就能被3整除,x-y能被3整除能被11整除,这个数就能被11整除。最后注意输出的格式就大功告成了!

 

第一次写解题报告,有些手生,谅解。或许我的算法不是很好(貌似也没用到什么算法),这里只是给和我一样的菜鸟作一个参考。


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.