c语言上机实验题及参考答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a= 3 b=4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.60y+z=-1.20z+x=-2.40
u= 51274n= 128765
c1=’a’ or 97
c2=’b’ or 98
(说明:具体输出格式请参照下表。)
(1)定义变量时应根据变量的初值确定其类型。例如:变量a的初值为3,那么变量a就应该定义成int型。
******************************
My name is ???
******************************
7、若有a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出,文件名为13.c)。
四、附加题:
5、编程实现:中国有句俗语“三天打鱼两天晒网”。某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第n天中是“打鱼”还是“晒网”。(文件名35.c)
6、.请将以下程序中的if语句(黑体部分)改成switch语句(文件名为36.c)。
#include<stdio.h>
main()
{int x,s;
三、实验题目:
if语句基本形式:if(条件){语句一;}
else {语句二;}
1、编写程序实现以下功能:输入一个整数,打印出它是奇数还是偶数(文件名为21.c。注:奇数、偶数可以用汉字、英文或拼音表示)。
2、有一函数:
y=
编写程序,要求输入x的值,根据上述函数输出y的值(文件名为22.c)。
3、回文是指正读和反读都一样的数或文本段。例如:12321、55555都是回文。编写程序,读取一个包含五位数字的整数,判断它是否回文(文件名为23.c。提示:用除法和求余运算符把整数分解成单个的数字)。
在格式说明中,在%和上述格式字符间可以插入修饰符号,其符号及说明如下表所示。
printf的附加格式说明字符
字符
说明
l
可加在格式符d、u前面,用于长整型整数。例如如果变量a定义成long型,那么输出格式就要用“%ld”
m(代表一个正整数)
数据所占宽度(对于实数输出,m指整数部分、小数点及小数部分位数之和)。输出的数字或字符右对齐,左边用空格填满。
3、从键盘输入一整数m,判断是否为“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。若是输出该数,否则输出“NO”。例:153=13+53+33,则153为水仙花数。(文件名为33.c)。
4、编程实现:输入任意四个整数n1、n2、n3、n4,求四个数中的最大值。(文件名为34.c)
2、掌握while语句的使用。
3、掌握do while语句的使用。
4、掌握for语句的使用。
5、掌握在循环中使用break和continue语句。
二、实验内容和步骤:
1、在E盘上建立一个文件夹,以实验序号作为文件夹名(例如:第四次实验的文件夹名为“4”),用此文件夹作为这次实验的工作文件夹。
2、打开VC系统,进入VC集成环境。
4、编写一个程序,读入三个非0整数,判断并打印出这些值是否能够构成一个三角形的三条边,如能,判断出此三角形的类型(等边、等腰、任意)(文件名为24.c)。
四、附加题:
5、某公司想用电话来传送数据,但又担心被人窃听。数据都是由四个数字组成的整数。为了使数据传送更加安全一些,公司要你编写一个加密数据的程序。程序读取一个四位整数,然后按如下规则加密:每位数字都加上7,然后用和除以10的余数取代该数字;再把第1位与第3位交换,第2位与第4位交换。再单独编写一个程序,读取一个加密后的四位数字的整数,把它解密成原来的数(加密文件名为25.c、解密文件名为26.c)。
3、按照下列题目的要求编程,所有题目都做好后(附加题可以不做),将文件夹4中除.c外的文件都删掉,并将文件夹5复制、粘贴到ftp上你的学号姓名的文件夹里,如果课上题目还没全部做完,可以先将做好的程序交上去,课后再补交其余程序。
三、实验题目:
1、用一张一元票换1分、2分和5分的硬币30枚(至少各一枚),问有哪几种换法(各几枚)。(C语言源程序文件名为41.c。本程序运行结果:
6、题目:输入某年某月某日,判断这一天是这一年的第几天?(文件名为27.c)。
(提示:.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。)
实验三:选择结构
一、实验目的:
1、掌握if语句的使用。
2、掌握switch语句的使用。
(2)在格式化字符串中,格式说明与输出项的个数必须相同。如果格式说明的个数少于输出项的个数,多余的输出项不予输出。如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不确定值。
8、设圆半径r=1.5,圆柱高h=3,编程求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。(要求:程序名为14.c,圆周率用#define定义符号常量,输出数据时小数点保留两位)。(公式:圆周长=2**r;圆面积=*r*r;圆球表面积=4**r*r;圆球体积=(4/3)**r*r*r;圆柱体积=*r*r*h)(提示:(1)圆周率可用符号常量PI代替,(2)注意两整数相除其结果也为整数的特点)。
7、王、李、杜三人大学毕业后,一个当上了公务员,一个当上了空姐,另一个当上了司机。他们各自作了如下陈述:
-
输出的数字或字符左对齐,右边用空格填满。
例如:有定义int a=3;执行输出语句:printf(“a=%-3d”,a);则输出显示为:a=3(3右边有两个空格)
调用printf函数时应注意:
(1)格式化字符串中,格式说明与输出项从左到右的数据类型必须一一匹配,否则将输出错误结果。例如执行语句printf("%d,%d\n",12, 12.45);第一项12可以正确输出,第二项将输出错误结果。这是因为第二个格式说明"%d"要求与之对应的输出项是整型数据,但此时输出项是实型数据与之不匹配,产生输出错误。
3、掌握嵌套if语句的使用。
二、实验内容和步骤:
1、在E盘上建立一个文件夹,以实验序号作为文件夹名(例如:第二次实验的文件夹名为“2”),用此文件夹作为这次实验的工作文件夹。
2、打开VC系统,进入VC集成环境。
3、按照下列题目的要求编程,所有题目都做好后(附加题可以不做),将文件夹2里面除.c
外的其他文件删掉,并将文件夹2复制、粘贴到ftp上你的学号姓名的文件夹里,如果课上题目还没全部做完,可以先将做好的程序交上去,课后再补交其余程序。
(2)printf函数的输出格式控制符,应根据变量的类型选用相应的格式控制符。例如:变量a为int型,输出格式控制符应该用“%d”。本题要用到的部分格式控制符见下表:
printf格式说明
格式字符
说明
d
以带符号的十进制形式输出整数(正数不输出符号)
u
以无符号十进制形式输出整数
c
以字符形式输出
f
以小数形式输出实型数,如果不规定小数位数则输出6位小数。
#include<stdio.h>
main()
{
printf(“This is a c program.\n”);}
6、参照上题,编写一个C程序,输出以下信息(???用自己姓名的拼音代替),并存盘(存入刚建好的文件夹1里,并取名为12.c)、编译、运行并观察运行结果(两行星号也要输出)。
(提示:调用一次printf函数输出一行,本题一共要调用三次printf函数)
二、实验内容和步骤:
1、在E盘上建立一个文件夹,以实验序号作为文件夹名(例如:第三次实验的文件夹名为“3”),用此文件夹作为这次实验的工作文件夹。
2、按照下列题目的要求编程,所有题目都做好后(附加题可以不做),将文件夹3里面除.c
外的其他文件删掉,并将文件夹4复制、粘贴到ftp上你的学号姓名的文件夹里,如果课上题目还没全部做完,可以先将做好的程序交上去,课后再补交其余程序。
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、实验题目:
1、请编写程序,其功能是:求方程ax2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式(disc=b2-4ac)小于0,则输出方程无实根(文件名为31.c)。
例如:当a=1,b=2,c=1时,方程的两个根分别是x1= -1.00,x2= -1.00。
2、用switch语句实现:输入一百分制成绩,要求输出成绩等级:90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’(文件名为32.c)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
2、将建好的文件夹复制、粘贴到ftp对应班级的文件夹中。
3、再在E盘上建立一个文件夹,以实验序号作为文件夹名(例如:第一次实验的文件夹名为“1”),用此文件夹作为这次实验的工作文件夹。
4、打开VC系统,进入VC集成环境。
5、输入下面的程序,存盘(存入刚建好的文件夹1里,并取名为11.c)、编译、运行并观察运行结果(本程序的功能为:输出“This is a c program.”。
scanf("%d",&s);
if ((s>0) && (s<=10))
if ((s>=3) && (s<=6)) x=2;
else if ((s>1)&&(s<8)) x=3;
else x=1;
else x=0;
printf("x=%d\n",x);
}
实验四:循环结构
一、实验目的:
1、掌握循环的基本概念。
四、附加题:
6、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子?(C语言源程序文件名为46.c)(备注:程序运行结果为1534)
实验一:VC的使用方法、数据类型、顺序结构
一、实验目的:
1、掌握在VC上如何编辑、编译、连接和运行一个C程序。
2、通过在VC上运行简单的C程序,初步了解C源程序的特点。
3、掌握C语言数据类型、表达式及语句的概念。
4、初步了ຫໍສະໝຸດ Baidu顺序结构的编程方法。
二、实验内容和步骤:
1、在E盘上建立学号+姓名的文件夹(例如:3122445566张三),要求学号在前,姓名在后。
所有题目都做好后(附加题可以不做),将文件夹1里面除.c之外的其他文件删掉,并将文件夹1复制、粘贴到ftp上你的学号姓名的文件夹里,如果课上题目还没全部做完,可以先将做好的程序交上去,课后再补交其余程序。
实验二:选择结构
一、实验目的:
1、掌握关系运算符、关系表达式、逻辑运算符、逻辑表达式概念。
2、掌握if语句的使用。
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
相关文档
最新文档