电专c语言oj探秘1
题组86
本题组来源于西电oj的86题组(hqy老师课程课后习题),题目很简单,适合萌新。
本题涉及的所有文件都会在蓝奏云上发布。
本人新手,第一次写题解,如有不当之处,多多包涵,如有错误,请指正谢谢!
电专必看
如果你提交的时候一直编译错误:
请确保你提交的题目和选择的文件匹配。
请确保你选择的编译选项正确,一般有两个选项visual c++和GNU C/C++(通常其他的编译器如devc++选择这个)。编者因为选错报错了一次
请确保你使用的标准是ANSIC或者C99,没有任何奇奇怪怪的东西(如vs的scanf_s函数等)。
T9
题目:计算球体重量
时间限制:1s
内存限制:10000Kb
问题描述:已知铁的比重是7.86(克/立方厘米),金的比重是19.3(克/立方厘米)。写一个程序,分别计算出给定直径的铁球与金球的质量,假定PI=3.1415926
输入说明:输入两个整数,分别表示铁球与金球的直径(单位为毫米)。
输出说明:输出两个浮点数,分别表示铁球与金球的质量(单位为克),小数点后保留3位小数,两个浮点数之间用空格分隔。
输入样例:
100 100
输出样例:
4115.486 10105.456
提示:用scanf输入,用printf输出,保留3位小数的格式控制字符为%.3f
本题小解析
这道题主要是要注意运用球的体积公式(注意直径),还有就是注意单位换算(/1000),其他的小注意点如格式控制字符,实数运算等。
弱鸡代码
1 |
|
T10
题目:温度转换
时间限制:1s
内存限制:10000Kb
问题描述:已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出。
输入说明:只有一个整数,表示输入的华氏温度。
输出说明:输出一个表示摄氏温度的实数,小数点后保留2位有效数字,多余部分四舍五入。
输入样例:
50
输出样例:
10.00
提示:
用scanf输入,用printf输出,保留2位小数的格式控制字符为%.2f
本题小解析
注意精度控制和实数运算即可。
弱鸡代码
1 |
|
T11
题目:整数简单运算
问题描述:编写程序,计算用户输入的两个整数的和、差、乘积(*)和商(/)。
输入格式:输入两个整数,整数之间用空格分隔。
输出格式:输出四个整数结果,分别表示和、差、积和商,每输出一个结果换行。
输入样例:
3 4
输出样例:
7
-1
12
0
本题小解析
照样子做就行,可以选择定义结果的变量也可以选择直接输出。
没有/0差评。
弱鸡代码
1 |
|
T16
题目:字符输入输出
问题描述:通过键盘输入5个大写字母,输出其对应的小写字母,并在末尾加上“!”。
输入说明:5个大写字母通过键盘输入,字母之间以竖线“|”分隔。
输出说明:输出5个大写字母对应的小写字母,之间无分隔,并在末尾加上‘!’。
输入样例:
H|E|L|L|O
输出样例:
hello!
本题小解析
这道题主要注意的就是字母大小写的转换,需要查询ASCII码表,并直接对ASCII码进行操作(-32)。
另外注意输入样例的时候,scanf函数对非格式控制符是需要进行原样输入的。举个栗子,弱鸡代码里面的就需要输入A|B|C|D|E才能正常读取所有变量,即|字符需要原样输入。
可以选择输入字符串然后取出五个字符,或者直接输入五个字符。我tm在讲什么狗屁
弱鸡代码
1 |
|
T18
题目:数字字符
问题描述:通过键盘输入1个整数a(0<=a<=4),1个数字字符b(’0’<=b<=’5’),求a+b。
输入说明:整形数据、数字字符通过键盘输入,输入的整形数据介于0和4之间,输入的数字字符介于‘0’和‘5’之间,二个输入数之间用“,”分隔。
输出说明:分别以整数形式及字符形式输出a+b,输出的二个数之间用“,”分隔。
输入样例:
3,5
输出样例:
56,8
本题小解析
直接照着要求做,该怎么输入怎么输出就怎么搞,别想太多。
弱鸡代码
1 |
|
T19
题目:实数运算
问题描述:通过键盘输入长方体的长、宽、高,求长方体的体积V(单精度)。
输入说明:十进制形式输入长、宽、高,输入数据间用空格分隔。
输出说明:单精度形式输出长方体体积V,保留小数点后3位,左对齐。
输入样例:
15 8.12 6.66
输出样例:
811.188
本题小解析
主要是注意精度问题,输出格式问题和左对齐问题。
用printf函数修饰符-来控制左对齐,在没有设置域宽(如本题)的时候,一般不用修饰符-,即默认左对齐。
弱鸡代码
1 |
|
T20
题目:四则运算
问题描述:输入两个整数和一个四则运算符,根据运算符计算并输出其运算结果(和、差、积、商、余之一)。注意做整除及求余运算时,除数不能为零。
输入说明:使用scanf()函数输入两个整数和一个运算符,格式见输入样例。
输出说明:输出使用printf()函数,格式见输出样例。
输入样例:
5%2
输出样例:
5%2=1
本题小解析
首先,本题不需要你考虑数据为0的情况。
其次,本题需要用到条件判断,即if…elseif…else…或者switch….case….语句来进行编写,已经超出了本课教学的范围。虽然教学啥都bushi
如果你要写if语句的话,就需要条件表达式,比如说if(op==’+’)(这里的op是运算符的意思,不是你想的那个),这时候就会涉及到逻辑运算符==的问题,而==代表相等的意思。
如果你要写switch语句的话,注意case语句后面都需要加上break;防止执行混乱。
最后,用%%来代表输出一个百分号%,亦可用输出op运算符替代。
弱鸡代码
1 |
|
T21
题目:数位输出
问题描述:输入一个5位整数,求出其各数位数值,并按照从高位到低位的顺序输出,如:输入12345,输出为1 2 3 4 5。
输入说明:输入一个五位正整数。
输出说明:按数位从高到低依次输出,各数位之间以一个空格相分隔。
输入样例:
96237
输出样例:
9 6 2 3 7
本题小解析
看成是你输入五个字符,然后往这五个字符里面加入空格即可。
弱鸡代码
1 |
|