C语言 课后作业题.docx
《C语言 课后作业题.docx》由会员分享,可在线阅读,更多相关《C语言 课后作业题.docx(34页珍藏版)》请在冰豆网上搜索。
![C语言 课后作业题.docx](https://file1.bdocx.com/fileroot1/2022-10/13/930fe6c5-1559-4ccf-9ecf-a984a5ef899d/930fe6c5-1559-4ccf-9ecf-a984a5ef899d1.gif)
C语言课后作业题
C语言作业题
【输出形式】用户在下一行显示输出结果
【样例输入】3.47
【样例输出】3
【样例说明】与输入值3.47接近的整数为3和4,3.47比3.5小,舍掉小数部分,结果为3。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
c0104.c。
当前编程题:
第一次作业---计算空格换行个数
5.【问题描述】
编写一程序,分别计算所输入的字符串中空格,换行符的个数。
【输入形式】
输入可以是键盘上的任意字符。
【输出形式】
分别输出空格,换行符的个数,输出的结果一行显示,数字之间以空格格开。
【输入样例】
bbsspp=
fz
【输出样例】
21
【样例说明】
字符b与s之间有一个空格,s与p之间有一个空格,p与f之间有一个换行。
【评分标准】
结果完全正确得20分,每个测试点4分。
提交程序名为:
c0105.c。
当前编程题:
第一次作业---整数组合(选做题)
6.【问题描述】
假设unsignedshort类型占16位,x、y、z都是short类型。
编写一程序,从键盘输入x,y的值(十进制形式),然后将x的高8位作为z的高8位,y的高8位作为z的低8位,最后输出z的值(十进制形式)。
【输入形式】
以十进制形式输入x和y的值,以空格隔开。
【输出形式】
以十进制形式在新的一行上输出z值。
【输入样例】
8402177
【输出样例】
776
【样例说明】
840的二进制形式为:
0000001101001000
2177的二进制形式为:
0000100010000001
将840的高8位作为结果的高8位,2177的高8位作为结果的低8位,
所以结果为:
0000001100001000,即十进制形式为:
776
【评分标准】
结果完全正确得20分,每个测试点4分。
提交程序名为:
c0106.c。
当前编程题:
第二次作业---数字排序
1.【问题描述】编写一个程序,将输入的三个数从小到大排列出来。
【输入形式】用户在第一行输入三个数字,每个数字用空格分开。
【输出形式】程序在下一行按照从小到大的顺序将三个数字输出出来,每个数字也用空格分开。
要求程序可以处理整数和浮点数两种输入情况的比较。
【样例输入】2.45.61.5
【样例输出】1.5#2.4#5.6#表示空格(要求输出时输出空格,而不是输出#,这里#只是表示空格而已!
)
【样例说明】输入3个数字,每个数字之间用空格分开,并且进行从小到大排列,最后进行输出。
这里的数字可以是整数,也可以是浮点数。
提示:
输入时以%f格式读入到float类型的变量中,排完序以后,输出时以%g格式输出即可。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
sort.c。
当前编程题:
第二次作业---找最大最小整数
2.【问题描述】编写一个程序,用户输入若干整数,试找出其中的最大数和最小数。
【输入形式】用户在第一行待输入数据个数,在第二行输入数据。
【输出形式】程序在下一行输出数据的最大值和最小值
【样例输入】
5
8962967452
【样例输出】9652
【样例说明】用户第一次输入的为数据个数,在下一行依次输入数据。
输出为5个数中的最大值和最小值,输出时候两个数之间用空格分隔。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
getmaxandmin.c
当前编程题:
第二次作业---日期天数转换
3.【问题描述】编写一个程序,用户输入日期,计算该日期是这一年的第几天。
【输入形式】用户在第一行输入一个日期(年月日,中间以空格分割)
【输出形式】程序在下一行输出一个整数
【样例输入】2006221
【样例输出】52
【样例说明】用户以年月日的格式输入,中间以空格分割,程序计算出该天是输入年份的第几天并输出该天数。
另外还需要判断这一年是否为闰年。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
datetoday.c
当前编程题:
第二次作业---求和
4.【问题描述】编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。
【输入形式】输入一个正整数n,根据求s公式计算s并输出。
【输出形式】输出的为s的结果。
【样例输入】5
【样例输出】35
【样例说明】用户输入一个正整数,按照公式将输入值赋给n,输出计算后的结果。
【评分标准】结果完全正确得20分,每个测试点4分。
当前编程题:
第二次作业---简易计算器
5.【问题描述】编程实现简易的计算器:
读入两个整数运算数(data1和data2)及一个运算符(op),计算表达式data1opdata2的值,
其中op可以是+,-,*,/.
【输入形式】控制台输入运算数和运算符:
1.首先输入以空格分隔的两个整数,分别是data1和data2;
2.输入一个字符作为运算符op,op可以是’+’,’-’,’*’,’/’。
输入时,data1、data2、op之间各留有一个空格。
具体格式见样例输入。
【输出形式】控制台输出运算结果
【样例输入】235*
【样例输出】115
【样例说明】输入中先后输入第一个运算数23,第二个运算数5,运算符’*’,要求对23和5进行乘法运算。
计算结果为115。
【评分标准】该题共20分,每个测试点4分。
本题要求上传程序的源文件。
所采用语言可以是C(.c).即所上传的文件名为calculator.c
当前编程题:
第二次作业---正整数的打印
6.【问题描述】给出一个不多于5位的正整数,要求:
1.求出它是几位数。
2.分别打印出每一位数字。
3.按照逆序打印出每一位数字。
【输入形式】控制台输入该正整数。
【输出形式】控制台分行输出输出结果。
【样例输入】1234
【样例输出】
4
1234
4321
【样例说明】1234位数为4,分别为1,2,3,4,逆序为4321
【评分标准】该题共有三个输出整数,完全正确得10分,每答错一个扣掉4分,直至得分为0。
本题要求上传程序的源文件。
所采用语言可以是C(.c)。
主文件名设定为intprint.c
当前编程题:
第三次作业---求水仙花数
1.【问题描述】编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。
所谓的水仙花数是:
如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。
【输入形式】输入一个正整数N。
【输出形式】输出从100到N之间的所有水仙花数,每个数以回车结束。
【样例输入】
400
【样例输出】
153
370
371
【样例说明】输入一个的正整数400,输出为100~400之间的水仙花数153,370,371
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
shuixianhua.c。
当前编程题:
第三次作业---时钟指针
2.【问题描述】普通时钟都有时针和分针,在任意时刻时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。
现已知当前的时刻,试求出该时刻时针和分针的夹角A(0≤A≤180)。
注意:
当分针处于0分和59分之间时,时针相对于该小时的起始位置也有一个偏移角度。
【输入形式】从标准输入读取一行,是一个24小时制的时间。
格式是以冒号(“:
”)分隔的两个整数m(0≤m≤23)和n(0≤n≤59),其中m是小时,n是分钟。
【输出形式】向标准输出打印结果。
输出一个浮点数A,是时针和分针夹角的角度值。
该浮点数保留3位小数值。
【输入样例】
8:
10
【输出样例】
175.000
【样例说明】8:
10那个时刻时针与秒针的夹角是175.000度
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
clock.c。
当前编程题:
第三次作业---打印正六边形
3.【问题描述】编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。
【输入形式】输入一个正整数N。
【输出形式】屏幕上输出以N为边长的正六边形。
【样例输入】
4
【样例输出】
****
**
**
**
**
**
****
【样例说明】输入的为一个正整数,打印输出一个以这个正整数为边长的正六边形.
###****
##*####*
#*######*
*########*
#*######*
##*####*
###****
#号代表空格。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
libianxing.c。
当前编程题:
第三次作业---判断可逆素数
4.【问题描述】若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。
编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断
【输入形式】用户在第一行输入一个整数。
【输出形式】程序在下一行输出yes或是no,yes表示此数是可逆素数,no表示不是。
用户输入的数必须为正整数。
注意:
yes或是no全是小写输出。
【样例输入】23
【样例输出】no
【样例说明】用户输入23,23各位数字颠倒之后得到32,23是素数,但32不是素数,所以23不是可逆素数。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
getprimenum.c
当前编程题:
第三次作业---回文数
5.【问题描述】所谓“回文数”是指具有如下性质的整数:
一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。
例如,素数11,373,其各位数字对换位置后仍然为11,373,因此这两个整数均为回文数。
编写函数intloop(intx),判断一个整数是否为回文数,如果x是回文数则返回1,否则返回0。
编写程序loop.c,接收控制台输入的两个整数a,b。
调用loop函数输出a到b之间(包括a和b)的所有回文数
【输入形式】控制台输入两个整数a和b(必有a
【输出形式】输出有若干行,每行有一个a和b之间的回文数。
输出各行上的数字不重复,且从小至大依次按序输出。
【样例输入】3120
【样例输出】
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
101
111
【样例说明】输入整数a=3,b=120,要求输出所有[3,120]之间的回文数。
按升序分行输出所有符合题意的整数。
【评分标准】结果完全正确得20分,每个测试点4分。
提交程序名为:
loop.c。
当前编程题:
第三次作业---矩形相交
6.【问题描述】
平面上有两个矩形A和B,其位置是任意的。
编程求出其相交部分(如图中阴影部分)的面积。
(0≤a,b≤1000)
【输入形式】
从标准输入读取两行以空格分隔的整数,格式如下:
Ax1Ay1Ax2Ay2
Bx1By1Bx2By2
其中(x1,y1)和(x2,y2)为矩形对角线上端点的坐标。
各坐标值均为整数,取值在0至1000之间。
【输出形式】
向标准输出打印一个整数,是两矩形相交部分的面积(可能为0)。
在输出末尾要有一个回车符。
【输入样例】
0022
1134
【输出样