5~6次C语言上机作业
- 格式:docx
- 大小:1.02 MB
- 文档页数:10
实验时间:第1次实验:3.13第2次实验:3.20,3.27第3次实验:4.3,4.10第4次实验:4.17,4.24第5次实验:5.8第6次实验:5.15 5.22第7次实验:5.29第8次实验:6.5第9次实验:6.12实验内容按照指导书内容填写,可以把自己上机编写的程序、遇到的问题、解决办法写上(得到高分的条件)。
先暂时写前三次,第四次结束后再写。
在有输入输出的程序部分,应该写上输入输出的结果,以表示程序能正确工作。
实验一编程环境的使用一、目的和要求1.了解编程环境的使用。
2.学会处理简单的错误,观察运行结果。
3.掌握基本的输入输出。
二、实验原理VisualC++6.0是一个集成的开发环境,包括编辑、编译连接和调试。
编写程序的主要过程是:建立工作区、建立工程、添加源文件、输入程序、运行程序、改正出现的错误直到有正确的输出结果。
三、实验内容及步骤1.编程环境的使用。
(1)打开VisualC++6.0开发环境。
(2)单击“文件-〉新建”菜单命令,显示出“新建”对话框(如图1-3)。
在新建对话框单击“工程”标签,选中Win32 Console Application项,然后在工程框中键入控制台应用程序项目名称,并且选中空工程。
(3)添加C++源文件,输入文件名。
(4)打开编辑窗口,输入程序,保存。
(5)编译运行程序,找到其错误位置,改正错误。
2.完成计算加减法的练习。
四、思考问题1.如何使用不同的数据类型。
2.如何处理输入输出。
3.如何查找程序中的错误?实验二选择结构一、目的和要求1.掌握if ...else及其嵌套的用法。
2.掌握switch的用法。
二、实验原理if语句是专门用来实现选择结构的语句,是根据一个条件满足与否来决定是否执行某条语句或从两个语句中选择一个语句执行。
if-else语句的一般格式为:if (表达式1) 语句1else if (表达式2)语句2else if (表达式3)语句3……else if(表达式n)语句nelse 语句n+1当程序中有多个条件判断时,若使用if语句可能使嵌套太多,降低了程序的可读性,switch语句能很好的解决这个问题。
姓名:_________________ 学号:_________________ 专业:_________________日期:_________________指导原则:促进学生针对实际问题,用所学C语言知识编写符合规范的源程序代码,在某一集成开发环境下尽一切调试技能调试程序,并对运行结果进行分析处理,得出正确结论,解决好实际问题。
更快更好地掌握所学知识,技能和软件的一向开发方法目的:1,通过上机实验,加深对教材内容的理解,特别是一些语法规定,熟练掌握各种语法规则。
2,通过上机实验,熟悉某个C语言集成开发环境。
掌握集成开发环境下程序的编辑、编译与连接、运行的完整过程3,通过上机实验,要学会调试程序。
能根据系统给出的“出错信息”,判断错误所在,并修改错误,使程序正确运行。
要求:1,复习与本次实验相关的教学内容2,了解集成开发环境的操作步骤3,准备好实验内容。
对于编程题,一定要自己动手,书写工整,并人工检查无误后才能上机实验,以提高上机效率。
4,要准备好调试和运行程序时所需的数据。
5,对运行中可能出现的问题事先作出估计,并对程序中有疑问的地方作上标记,以便在运行时给予注意。
并在程序调试时,把系统给出的出错原因,解决方法等记载在源程序之后;程序运行结束后,把运行结果也记录下来。
6,每个实验应独立完成,对实际问题所编写的源程序需写出完整实验的报告。
第一次上机作业熟悉C语言集成开发环境实验目的:1,熟悉C语言集成开发环境2,掌握集成开发环境下文件的编写与调用,源程序的编译与调试,程序运行结果的观察与分析。
3,掌握C语言程序的基本结构实验要求:1, 程序编写完后,要对输入的每一个符号和词进行检查核对,不能有错。
2,编写源程序时,不要在中文输入法下进行,也不要有首字符大写,否则调试时,会有错误。
实验内容:1,在D盘新建文件夹:D:\C语言程序\×××(所在班级如0709401)\×××(自己学号或姓名如01),作为以后所做程序的存放位置。
1。
阅读以下程序,说出其功能和运算结果。
#include 〈stdio.h〉int main( ){int n ;int factorial(int n);scanf(”%d”,&n) ;printf(”%d\n",factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}若输入5↙2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”.#include <stdio.h〉int mian( ){printf(”Welcome to You!\n”)return 0 ;}3.若输入4,程序运行结果为【1 】,若输入-4,运行结果为【2 】,若输入10,运行结果为【3 】.#include〈stdio.h〉main(){i nt x,y;scanf(”%d",&x);if(x〈1){y=x;printf("x=%d,y=x=%d\n”,x,y);}else if(x<10){y=2*x-1;printf(”x=%d,y=2*x—1=%d\n",x,y);}else{y=3*x-11;printf(”x=%d,y=3*x—11=%d\n”,x,y);}}4.当输入19,2,21时下列程序运行的结果是()。
#include<stdio。
h>main(){int a,b,c,max;printf(”please scan three number a,b,c:\n");scanf(”%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max〈c)max=c;printf("max is:%d”,max);}5. 运行以下程序时,从键盘键入China#<CR〉(〈CR〉代表回车),则下面程序的运行结果是。
晕(作业3)看着这样的“回”形图案你晕吗?让我们不用数组,来做出它。
输入:n。
正方形的边长输出:边长为n 的数字回形方阵。
测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示13↵以文本方式显示2 1 2 3↵38 9 4↵47 6 5↵无限制64M 0测试用例2 以文本方式显示54↵以文本方式显示6 1 2 3 4↵712 13 14 5↵811 16 15 6↵910 9 8 7↵无限制64M 0测试用例5 以文本方式显示105↵以文本方式显示11 1 2 3 4 5↵1216 17 18 19 6↵1315 24 25 20 7↵1414 23 22 21 8↵1513 12 11 10 9↵无限制64M 0开启时间2012年03月31日星期六12:00折扣时间2012年04月18日星期三23:55关闭时间2012年04月22日星期日23:55允许迟交:否H5 铺地板(选作)(作业3)背景:你是一名室内装潢工程队的配料员。
你的伙伴们喜欢采用“之”字型的方式铺大理石地砖,图案如下:1 2 6 7 153 5 8 14 164 9 13 17 2210 12 18 21 2311 19 20 24 25 学了C 语言以后,你决定编写一个程序,帮助你的同伴生成这样的图形。
输入:方阵N的大小。
输出方阵。
测试输入期待的输出时间限制内存限制额外进程测试用例1 以文本方式显示15↵以文本方式显示2 1 2 6 7 15↵3 3 5 8 14 16↵4 4 9 13 17 22↵510 12 18 21 23↵611 19 20 24 25↵1秒64M 0测试用例2 以文本方式显示73↵以文本方式显示8 1 2 6↵9 3 5 7↵10 4 8 9↵1秒64M 0 H7 子数整除(选作)()作业3对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:•sub1=a1a2a3•sub2=a2a3a4•sub3=a3a4a5例如,五位数20207可以拆分成:•sub1=202•sub2=020(=20)•sub3=207现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1、sub2、sub3都可被K整除。
1、用下面的scanf函数输入数据,使a=10, b=20, c1='A', c2='a', 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);2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字第三次作业1、有3个整数a,b,c,由键盘输入,输出其中最大的数。
2、有一个函数:x x<1y= 2x-1 1<=x<103x-11 x>=10写一段程序,输入x,输出y的值。
3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80-89分为B,70-79为C,60-69为D,60分以下为E。
4、给一个不多于5位的正整数,输出这个数是几位数。
第四次作业1、给一个不多于5位的正整数,要求:a.求出它是几位数;+b.分别输出每一位数字;c.按逆序输出各位数字,例如:原数为321,应输出123。
2、教材P112页第5.8题(if语句解法创建一个独立文件,switch语句解法创建一个独立文件第五次作业1、输入两个正整数m和n,求其最大公约数和最小公倍数。
(经典题)2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,并输出。
3、求s=a+aa+aaa+aaaa+....+(a...a)之值,其中a是一个数字,n表示a的位数。
1、输入两个字符串,使用指针p将两个字符串按次序复制到数组c中。
例:输入“zhe"和"jiang",将"zhejiang"保存在数组c中。
第五次上机作业:(请用指针实现)1.数据移位有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。
编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。
SAMPLE OUTPUTnInput n(n<=10):10Input 10 integers:Output the original:Output the shifted:#include <>#define N 10void shift(int a[ ],int n,int m);void main( ){ int i,n,m;int a[N];printf("Input n(n<=10):");scanf("%d",&n);printf("Input %d integers:\n",n);for(i=0;i<n;i++)scanf("%d",a+i);printf("Output the original:\n");for(i=0;i<n;i++)printf("%d ",*(a+i));printf("\n");printf("Input m(m<=%d):",n);scanf("%d",&m);shift(a,n,m);printf("Output the shifted:\n");for(i=0;i<n;i++)printf("%d ",*(a+i));printf("\n");}void shift(int a[ ],int n,int m){ int i,j,t;for(i=0;i<m;i++){ t=a[n-1];for(j=n-2;j>=0;j--)a[j+1]=a[j];a[0]=t;}}2.字符串排序在主函数中输入10个不等长的字符串放入二维字符数组中,编写函数sort()利用指针数组对其排序,在主函数中输出排好序的字符串。
第1章 C语言概述1-1编写程序,在屏幕上显示一个如下输出:1-2---------------------------------1-3Programming in C is fun!1-4I love C language.1-5---------------------------------1-6编写程序,在屏幕上显示一个如下图案:1-7* * * *1-8* * *1-9* *1-10*1-11已知某个圆的半径,编写一个程序,用来计算并显示面积。
1-12要求:将π定义为符号常量,并假设一个恰当的半径值。
OutputThe area of circle is: 78.50 1-13已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果: 1-1420+10=30 1-1520-10=10Output20 + 10 = 30 20 – 10 = 10 1-16 已知变量a 、b 和c 的值,编写程序,用来计算并显示x 的值,其中cb a -=x 1-17 请分别用以下数值运行该程序 1-18 (1)a=250,b=85,c=25 1-19(2)a=300,b=70,c=80Output (1)x = 4.17Output (2)x = -30.00第2章 常量、变量及数据类型 & 第3章 运算符和表达式3-1 编写程序,求华氏温度100o F 对应的摄氏温度。
计算公式如下: 3-29)32(5-⨯=f c 3-3 式中:c 表示摄氏温度,f 表示华氏温度。
(c 定义为实型,f 定义为整型)OutputCelsius degree (corresponding to 100 Fahrenheit) is: 37.78.3-4 一个物体从100m 的高空自由落下,编写程序,求它在前3s 内下落的垂直距离。
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
实验5 函数(1)
【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。
调试运行程序,观察出现了什么错误,提出两种修改方案。
【实验题5-2】下程序的功能:输出3~1000之的间的素数。
请选择合适的内容填入程序的空白处,并调试运行程序。
【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。
要求计算n^3用函数实现。
【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。
要求计算两数之和用函数
实现。
注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n”on integer constant.
调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。
Ifun=fun(int n) ×
【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。
要求如下:
1)编写一个函数计算n!;
2)编写主函数,输入n和m, 调用第1)项中的函数完成计算;
3)输出并计算C58、C712的结果。
【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。
但程序有错,请上机调试并改正错误。
【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。
在程序空白处填写适当的编译预处理命令。
【实验题6-3】用for循环输出20个0~99之间的随机数。
要求没输出五个随机数换一行。
【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。
要求用库函数实现。
【实验题6-6】调试运行以下程序,掌握内部函数和外部函数的使用。
该程序包括两个源程序文件“6_6_1.C”和“6_6_2.C”。
#include<stdio.h>
#define N 9
void main()
{
int itop,ibottom,iresearch,imiddle; int iA[N]={0,1,2,3,4,5,6,7,8};
scanf("%d", &iresearch);
itop=0;
ibottom=N-1;
while(itop<=ibottom)
{
imiddle=(itop+ibottom)/2 ;
if(iresearch<iA[imiddle])
ibottom=imiddle-1;
else
if (iresearch>iA[imiddle])
itop=imiddle+1;
else{
printf("\n元素%d在数组中,下标是%d\n, iresearch,imiddle"); return;
}
}
printf("\n%d在数组中未找到\n",iresearch);
}。