上学期C语言作业1Word文档下载推荐.docx
- 文档编号:17918852
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:9
- 大小:22.34KB
上学期C语言作业1Word文档下载推荐.docx
《上学期C语言作业1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《上学期C语言作业1Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
,c4='
\101'
,c5='
\116'
;
printf("
a%cb%c\tc%c\tabc\n"
,c1,c2,c3);
printf("
\t\b%c%c"
,c4,c5);
}
2.7要将“china”译成密码,密码规律是:
用原来的字母后面第4个字母代替原来的字母。
例如,字母“a”后面第4个字母是“e”,用“e”代替“a”。
因此,“china”应译为“glmre”。
请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为‘c’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘g’、‘l’、‘m’、‘r’、‘e’,并输出。
2.8例2.6能否改成如下:
main()
{intc1,c2;
(原为charc1,c2)
c1=97;
c2=98;
printf("
%c%c\n"
,c1,c2);
%d%d\n"
,c1,c2);
}
分析运行时会显示什么信息?
为什么?
2.9求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
2.10写出程序运行结果。
main()
{inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("
%d,%d,%d,%d"
,i,j,m,n);
2.11写出下面表达式运算后a的值,设原来a=12。
设a和n已定义为整型变量。
(1)a+=a
(2)a-=2
(3)a*=2+3
(4)a/=a+a
(5)a%=(n%=2),n的值等于5
(6)a+=a-=a*=a
习题3
3.1C语言中的语句有哪几类?
C语句与其他语言中的语句有哪些异同?
3.2怎样区分表达式和表达式语句?
C语言为什么要设表达式语句?
什么时候用表达式,什么时候用表达式语句?
3.3C语言为什么要把输入输出的功能作为函数,而不作为语言的基本部分?
3.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=‘a’,c2=‘b’。
想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。
要求输出的结果如下:
a=3b=4c=5
x=1.200000,y=2.400000,z=-3.600000
x+y=3.60y+z=-1.20z+x=-2.40
u=51274n=128765
c1='
or97(ascii)
c2='
or98(ascii)
3.5请写出下面程序的输出结果:
{inta=5,b=7;
floatx=67.8564,y=-789.124;
charc='
;
longn=1234567;
unsignedu=65535;
%d%d\n"
,a,b);
%3d%3d\n"
%f,%f\n"
,x,y);
%-10f,%-10f\n"
%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n"
,x,y,x,y,x,y);
%e,%10.2e\n"
%c,%d,%o,%x\n"
,c,c,c,c);
%ld,%lo,%x\n"
,n,n,n);
%u,%o,%x,%d\n"
,u,u,u,u);
%s,%5.3s\n"
,"
coMputer"
,"
);
}
3.6用下面的scanf函数输入数据,使a=10,b=20,c1='
,x=1.5,y=-3.75,z=67.8,请问在键盘上如何输入数据?
scanf("
%5d%5d%c%c%f%f%*f,%f"
,&
a,&
b,&
c1,&
c2,&
x,&
y,&
z);
3.7设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
请编程序。
3.7输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9(f-32)
输出要有文字说明,取2位小数。
习题4
4.1写出下面各逻辑表达式的值。
设a=3,b=4,c=5。
(1)a+b>c&
&
b==c
(2)a||b+c&
b-c
(3)!
(a>b)&
!
c||1
(4)!
(x=a)&
(y=b)&
0
(5)!
(a+b)+c-1&
b+c/2
4.2有3个整数a、b、c,由键盘输入,输出其中最大的数。
4.3有一函数:
x (x<1)
y=2x-1 (1≤x<10)
3x-11 (x≥10)
写一程序,输入x,输出y值。
4.4给一个不多于5位的正整数,要求:
①求出它是几位数;
②分别打印出每一位数字;
③按逆序打印出各位数字,例如原数为321,应输出123。
4.5企业发放的奖金根据利润提成。
利润I低于或等于10万元的,奖金可提10%;
利润高于10万元,低于20万元(100000<I≤200000)时,低于10万元的部分按10%提成,高于100000元的部分,可提成7.5%;
200000<I≤400000时,低于20万的部分仍按上述办法提成(下同)。
高于20万元的部分5%提成;
400000<I≤600000时,高于40万元的部分按3%提成;
600000<I≤1000000时,高于60万的部分按1.5%提成;
I>1000000时,超过100万元的部分按1%提成。
从键盘输入当月利润I,求应发奖金总数。
要求:
(1)用if语句编程序;
(2)用Switch语句编程序。
4.6有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1。
见图5.16。
这4个塔的高度为10m,塔以外无建筑物。
今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。
习题5
5.1输入两个正整数m和n,求其最大公约数和最小公倍数。
5.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
5.3求Sn=a+aa+aaa+…+aa…an个a之值,其中a是一个数字。
例如:
2+22+222+2222+22222(此时n=5),n由键盘输入。
5.4编写程序求1!
+2!
+3!
+4!
+…+20!
。
5.5打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。
例如,153是一水仙花数,因为153=13+53+33。
5.6一个数如果恰好等于它的因子之和,这个数就称为“完数”。
例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。
编程序找出1000之内的所有完数,并按下面格式输出其因子:
6itSfactorSare1,2,3
5.7有一分数序列
2/1,3/2,5/3,8/5,13/8,21/13,…
求出这个数列的前20项之和。
5.8猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,就只剩一个桃子了。
求第一天共摘多少桃子。
5.9用迭代法求。
求平方根的迭代公式为
要求前后两次求出的x的差的绝对值小于10-5。
5.10打印出以下图案。
*
***
*****
*******
习题6
6.1用筛法求100之内的素数。
6.2用选择法对10个整数排序。
6.3求一个3×
3矩阵对角线元素之和。
6.4已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中
6.5将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1。
要求改为1,4,5,6,8。
6.6打印出以下的杨辉三角形(要求打印出10行)。
1
11
121
1331
14641
15101051
………………
6.7找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
6.8有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
6.9有一行电文,已按下面规律译成密码:
a→Za→z
b→Yb→y
c→Xc→x
……
即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。
非字母字符不变。
要求编程序将密码译回原文,并打印出密码和原文。
6.10编一程序,将两个字符串连接起来,不要用Strcat函数。
6.11编一个程序,将两个字符串S1和S2比较,如果S1>
S2,输出一个正数;
S1=S2,输出0;
S1<
S2,输出一个负数。
不要用Strcmp函数。
两个字符串用gets函数读入。
输出的正数或负数的绝对值应是相比较的两个字符串相应字符的ASCII码的差值。
例如,“a”与“c”相比,由于“a”<
“c”,应输出负数,由于“a”与“c”的ASCII码差值为2,因此应输出“-2”。
同理:
“and”和“aid”比较,根据第2个字符比较结果,“n”
比“i”大5,因此应输出“5”。
6.12编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中。
不用strcpy函数。
拷贝时,‘\0’也要拷贝过去。
‘\0’后面的字符不拷贝
习题7
7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。
7.2求方程ax2+bx+c=0的根,用3个函数分别求当b2-4ac大于0、等于0和小于0时的根并输出结果。
从主函数输入a、b、c的值。
7.3写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。
7.4写一函数,使给定的一个二维数组(3×
3)转置,即行列互换。
7.5写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
7.6写一函数,将两个字符串连接。
7.7写一函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。
如输入1990,应输出“1990”。
7.8编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。
7.9写一函数,输入一行字符,将此字符串中最长的单词输出。
7.10写一函数,用“起泡法”对输入的10个字符按由小到大顺序排列。
7.11用弦截法求根。
方程为ax3+bx2+cx+d=0,系数a、b、c,d的值依次为1,2,3,4,的值依次为1,2,3,4,由主函数输入。
求x在1附近的一个实根。
求出根后由主函数输出。
7.12输入10个学生5门课的成绩,分别用函数求:
①每个学生平均分;
②每门课的平均分;
③找出最高的分数所对应的学生和课程;
④求平均分方差:
σ=1n∑x2i-(∑xi/n)2,xi为某一学生的平均分。
7.13写几个函数:
①输入10个职工的姓名和职工号:
②按职工号由小到大顺序排序,姓名顺序也随之
调整;
③要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。
7.14写一函数,输入一个十六进制数,输出相应的十进制数。
7.15给出年、月、日,计算该日是该年的第n天。
习题8
本章习题均要求用指针方法处理。
8.1输入3个整数,按由小到大的顺序输出。
8.2输入3个字符串,按由小到大的顺序输出。
8.3输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
写3个函数:
①输入10个数;
②进行处理;
③输出10个数。
8.4有一字符串,包含n个字符。
写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
8.5输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少?
8.6写一函数,将一个3×
3的矩阵转置。
8.7将一个5×
5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下顺序依次从小到大存放),写一函数实现之。
用main函数调用。
8.8在主函数中输入10个等长的字符串。
用另一函数对它们排序。
然后在主函数输出这10个已排好序的字符串。
8.9用指针数组处理上一题目,字符串不等长。
8.10将n个数按输入时顺序的逆序排列,用函数实现。
8.11有一个班4个学生,5门课。
①求第一门课的平均分;
②找出有2门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩;
③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。
分别编3个函数实现以上3个要求。
8.12输入一个字符串,内有数字和非数字字符,如a123x45617960?
302taB5876将其中连续的数字作为一个整数,依次存放到一数组a中。
例如,123放在a[0],456放在a[1]…统计共有多少个整数,并输出这些数。
8.13写一函数,实现两个字符串的比较。
即自己写一个strcmp函数,函数原型为int strcmp(char*p1,char*p2);
设p1指向字符串S1,p2指向字符串S2。
要求当S1=S2时,返回值为0,若S1≠S2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第二个字母不同,“O”与“A”之差为79-65=14)。
如果S1>S2,则输出正值,如S1<S2,则输出负值。
8.14编一程序,打入月份号,输出该月的英文月名。
例如,输入“3”,则输出“March”,要求用指针数组处理。
8.15用指向指针的指针的方法对5个字符串排序并输出。
8.16用指向指针的指针的方法对n个整数排序并输出。
要求将排序单独写成一个函数。
5个整数和n在主函数中输入。
最后在主函数中输出。
习题9
9.1定义一个结构体变量(包括年、月、日)。
计算该日在本年中是第几天?
注意闰年问题。
9.2写一个函数days,实现上面的计算。
由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出。
9.3编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。
9.4在上题的基础上,编写一个函数input,用来输入5个学生的数据记录。
9.5有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)。
9.7写一函数free,将上题用new函数占的空间释放。
free(p)表示将p(地址)指向的单元以后的内存段释放。
9.8已有a、b两个链表,每个链表中的结点包括学号、成绩。
要求把两个链表合并,按学号升序排列。
9.9有两个链表a和b,设结点中包含学号、姓名。
从a链表中删去与b链表中有相同学号的那些结点。
9.10建立一个链表,每个结点包括:
学号、姓名、性别、年龄。
输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上学 语言 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)