C语言程序设计实验指导书Word文档格式.docx

上传人:b****6 文档编号:17348365 上传时间:2022-12-01 格式:DOCX 页数:42 大小:166.02KB
下载 相关 举报
C语言程序设计实验指导书Word文档格式.docx_第1页
第1页 / 共42页
C语言程序设计实验指导书Word文档格式.docx_第2页
第2页 / 共42页
C语言程序设计实验指导书Word文档格式.docx_第3页
第3页 / 共42页
C语言程序设计实验指导书Word文档格式.docx_第4页
第4页 / 共42页
C语言程序设计实验指导书Word文档格式.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

C语言程序设计实验指导书Word文档格式.docx

《C语言程序设计实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验指导书Word文档格式.docx(42页珍藏版)》请在冰豆网上搜索。

C语言程序设计实验指导书Word文档格式.docx

1063统计字符数错误!

1064选作题:

DigitalRoots错误!

附录19

一、VisualC++调试环境的使用19

二、TC环境下的使用错误!

三、实验报告要求错误!

四、C程序设计常见错误及解决方案错误!

C程序设计实验要求

课程实验是C程序设计课程的一个重要的实践环节,要求每个同学按以下要求独立完成每次实验,每次上机前必须编写完实验要求的所有题目,并按输出格式写出程序的运行结果,上机时调试程序并验证结果的正确性,若与运行结果不符,则要分析原因,上机时间由课内和课外上机两部分,以下时间为课内上机时间。

实验一简单程序设计

目的及要求:

1.熟练掌握C开发环境的窗口、菜单命令及相应的命令,并掌握在开发环境下如何编辑、编译、连接、运行一个c程序,以及如何保存和修改c语言的源程序。

2.通过运行一个简单的C程序过程,逐步了解C程序的基本结构及特点。

3•掌握C语言的基本数据类型,熟悉它们的使用方法及定义方式,了解各类型数据输出时所用的格式转换符,熟悉各种运算符和表达式的使用特点。

4•熟练掌握C中赋值运算的使用。

1010测试验证结果

习题。

1011温度转换

Description

华氏温度和摄氏温度的转换公式为:

C=59*(F-32)

其中:

F为华氏温度

c摄氏温度

Input

一个整数表示华氏温度。

Output

输出一行。

该行包含一个浮点数C,表示转换的摄氏温度。

精确到小数点后两位。

SampleInput

93

SampleOutput

1012计算书费

下面是一个图书的单价表:

计算概论元/本数据结构与算法元/本

数字逻辑元/本

C++程序设计教程78元/本

人工智能35元/本计算机体系结构元/本

编译原理元/本操作系统43元/本计算机网络56元/本

JAVA程序设计65元/本

给定每种图书购买的数量,编程计算应付的总费用。

输入每行包含一组10个整数(大于等于0,小于等于100),分别表示购买的《计算概论》、《数据结构与算法》、《数字逻辑》、《C++程序设计教程》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、

《计算机网络》、《JAVA程序设计》的数量(以本为单位)。

每两个整数用一个空格分开。

该行包含一个浮点数f,表示应付的总费用。

可用printf("

%.2f\n"

sum)来输出sum的值,并精确到小数点后两位。

15810511234

1013时间相加

用整数表示时间,如:

1050表示10点50分,2010表示20点10分。

现输入两个时间,求两个时间的和。

例:

2030+850=520不是2880

1055+850=1945不是1905

两行数据,每行一个整数。

输出相加后的时间整数。

2030

850

520

实验二分支结构程序设计

1.掌握C程序设计的基本语句表达方式及基本语句结构的方法。

2.掌握C语言中输入、输出函数的基本功能。

3.掌握顺序和分支结构程序设计的方法。

4.能独立编写顺序及分支结构的C程序。

1020函数值计算

有一个函数

y=x

(x<

1)

=2x-1

(1<

=x<

10)

=3x-11

(x>

=10)

写一程序,输入

x值,计算y值。

一个整数x。

输出函数值y。

20

1021颠倒整数

给定一个最多4位的正整数,将其颠倒过来输出。

例如:

输入123,则输出321。

一个小于10000的正整数。

颠倒后整数。

1234

4321

1022整数排序

对给定的4个整数进行排序,将由小到大的顺序输出。

一行中有4个整数,整数之间用空格分隔。

按升序输出,各整数之间用一个空格分隔。

253141827

182527314

1023自整除数

对一个整数n,如果其各个位数的数字相加得到的数m能整除n,则称n为自整除数•例如21,21%(2+1)==0,

所以21是自整除数。

一个整数n

若n为自整除数,则输出TRUE否则输出FALSE

42

TRUE

FibonacciAgain

ProblemDescription

ThereareanotherkindofFibonaccinumbers:

F(0)=7,F

(1)=11,F(n)=F(n-1)+F(n-2)(n>

=2).

Inputanintegern.(n<

1,000,000).

Printtheword"

yes"

if3divideevenlyintoF(n).

no"

ifnot.

5

no

2

yes

实验三循环结构程序设计

1.熟练掌握循环语句中for语句、while语句和dowhile语句使用方法。

2.掌握编写循环结构程序的方法。

1030整数的立方和

Description

给定一个正整数k(1<

k<

10),求1至Uk的立方和m。

即m=1+2*2*2+…+k*k*k。

Input

输入只有一行,该行包含一个正整数k。

输出只有一行,该行包含1到k的立方和。

SampleInput

225

1031求累加和

有一分数序列:

2,3,5,8,13,21……

1235813

求出该序列的前n项之和。

序列前n项之和(保留两位小数)

1032与7无关的数

一个正整数,如果它能被7整除,或者它的十进制表示中某位数字为7,则称其为与7相关的数。

现求所有小

于等于n(n<

100)的与7无关的正整数的平方和.

输入为一行,正整数n,(n<

100)。

输出小于等于n的与7无关的正整数的平方和

21

2336

1033选作题:

细菌繁殖

Description一种细菌的繁殖速度是每天成倍增长。

例如:

第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,••…。

现在给出第一天的日期和细菌数目,要你写程序求出到某一天的时候,细菌的数目。

一行有5个整数,整数之间用一个空格隔开。

第一个数表示第一天的月份,第二个数表示第一天的日期,第三个数表示第一天细菌的数目,第四个数表示要求的那一天的月份,第五个数表示要求的那一天的日期。

已知第一天和要求的一天在同一年并且该年不是闰年,要求的一天一定在第一天之后。

数据保证要求的一天

的细菌数目在长整数(long)范围内。

对于每一组测试数据,输出一行,该行包含一个整数,为要求的一天的细菌数。

2281032

40

实验四数组应用

1.理解并掌握一维数组、二维数组的定义及引用。

2.熟练掌握利用数组处理数据的方法。

3.掌握字符串数组和字符串的使用方法及常用字符串函数在程序中的使用。

1040杨辉三角形

打印出杨辉三角形的前n行。

输入一个正整数n(n<

20)。

杨辉三角形。

1

11

121

1041矩阵乘法

已知矩阵A(mxn)和矩阵B(nxp),求C=AXB。

第一行三个整数为m、n、p(m、n、p均小于10),从第二行开始为m行n列A矩阵,然后为n行p列的B矩阵。

所有数据之间均由一个空格分隔。

输出m行p列的C矩阵,所有数据之间均由一个空格分隔。

234

103

340

1021

2345

2115

73516

11122223

1042学生成绩管理

学生信息包括:

学号、姓名、数学成绩、英语成绩、计算机成绩。

共有N个人(N<

=10,可在程序内部定义,如用#defineN10)的信息,要求计算每人的总成绩,并按总成绩由高到低的顺序输出所有人的信息。

最后输出各门课程的平均成绩(保留2位小数)。

为调试方便,N和学生信息可以在程序内部以初值的方式赋值给对应变量。

见下例。

大整数乘法

求两个不超过200位的非负整数的积。

有两行,每行是一个不超过200位的非负整数,没有多余的前导0。

0342。

一行,即相乘后的结果。

结果里不能有多余的前导0,即如果结果是342,那么就不能输出为

100

实验五函数应用

1.理解函数的定义及函数的调用过程(函数的调用格式、调用方式及被调用函数的使用说明)

2.掌握局部变量、全局变量的说明形式和引用方法。

3.掌握函数的嵌套与递归调用的全过程。

1050各类型变量在函数调用过程中的变化

采用单步运行方式运行下面程序,观察各变量(静态局部变量及自动变量)在函数调用过程中的变化。

main()

{

inta=3,i;

for(i=0;

i<

3;

i++)

printf(“P=n%”d,p(a));

}intp(a)inta;

{staticintc=1;

autointb=0;

b=b+1;

c=c+1;

return(a+b+c);

}

1051最大公约数和最小公倍数

对给定的两组数(每组包括2个整数),分别计算出两组数的最大公约数和最小公倍数的和。

如:

20、12

为第一组,28、7为第二组。

第一组数的最大公约数为4,最小公倍数为60;

第二组数的最大公约数为7,最

小公倍数为28;

所以两组数的最大公约数之和为11,两组数的最小公倍数之和为88。

输入包括两行,每行为一组,每组两个整数。

输出包括两行,第一行为两组数的最大公约数之和,第二行为两组数的最小公倍数之和。

2012

287

11

88

1052进制转换

对输入的两十六进制数(两个字符串),将其转换成十进制后再求和。

要求十六进制到十进制的转换功能由函数完成。

输入3a1、80,由于3a1转换为十进制后为929,80转换为十进制后为128,所以和为1057。

输入包括两行,每行为一个十六进制数。

输出包括一行为两数之和的十进制表示。

3a1

80

1057

1053字符串替换

将一段英文文章中字符串用给定的字符串替换。

Input输入包括多行,第一行为一段英文文章(长度不超过80)。

以后每行包括2个字符串(长度不超过20),之间由空格分隔,第一个串为原串,第二个串为替换串。

当遇到00两个串时表示输入结束,并且此行不需

处理。

输出替换后的文章。

SampleInputhellohowareyes.hHesou

00

HelloHowareyou.

1054排序

对输入的10个整数进行排序,按从小到大的顺序输出。

要求排序过程由函数完成。

输入包括一行,共10个整数,各数之间由空格分割。

在同一行上输出排好序的10个数,各数之间由空格分割。

2548132768764320965

9132025274348656876

数制转换

求任意两个不同进制非负整数的转换(2进制〜16进制),所给整数在long所能表达的范围之内。

不同

进制的表示符号为(0,1,...,9,A,B,C,D,E,F)。

输入只有一行,包含三个整数a,n,b。

a表示其后的n是a进制整数,b表示欲将a进制整数n转换成

b进制整数。

a,b是十进制整数,2=<

a,b<

=16。

输出包含一行,该行有一个整数为转换后的b进制数。

输出时字母符号全部用大写表示,即(0,1,...,

9,A,B,C,D,E,F)。

15AAB37

210306

Hint

用字符串表示不同进制的整数。

实验六综合应用

1.掌握程序的基本方法和技巧,能够独立完成较复杂程序的设计。

2.掌握程序的调试方法,熟悉各种类型错误的改正方法。

1060同一天生日

在一个有200人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日试找出所有生日相同的学生。

第一行为整数n,表示有n个学生,n<

=200。

(1<

=m<

=12)

此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度为11位)和出生月

日(1<

=d<

=31)。

学号、月、日之间用一个空格分隔。

Output对每组生日相同的学生,输出一行,其中前两个数字表示月和日,后面跟着所有在当天出生的学生的学号,数字、学号之间都用一个空格分隔。

对所有的输出,要求按日期从前到后的顺序输出。

对生日相同的学号,按输入的顺序输出。

6

005315

01545

018315

00845

01145

021810

315005018

45015008011

810021

1061忽略大小写比较字符串

一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按

ASCII码值大小比较),直到出现不同的字符或遇到’\0'

为止。

如果全部字符都相同,则认为相同;

如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。

但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"

Hello"

和"

hello"

在忽略字母大小写时是相等的。

请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。

输入为两行,每行一个字符串,共两个字符串。

(请用gets录入每行字符串)(每个字符串长度都小于80)

如果第一个字符串比第二个字符串小,输出一个字符"

<

"

如果第一个字符串比第二个字符串大,输出一个字符"

>

如果两个字符串相等,输出一个字符"

="

Hello

hello

1062不吉利日期

在国外,每月的13号和每周的星期5都是不吉利的。

特别是当13号那天恰好是星期5时,更不吉利。

已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。

(w=1..7)

输入有一行,即一月一日星期几(w)。

(1<

=w<

=7)

输出有一到多行,每行一个月份,表示该月的13日是星期五。

7

10

1063统计字符数

判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多。

第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串,每行数据不超过1000个字符且非空。

输出n行,每行输出对应一个输入。

一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。

如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。

abbcccadfadffasdf

c3

f4

DigitalRoots

Thedigitalrootofapositiveintegerisfoundbysummingthedigitsoftheinteger.Iftheresultingvalueisasingledigitthenthatdigitisthedigitalroot.Iftheresultingvaluecontainstwoormoredigits,thosedigitsaresummedandtheprocessisrepeated.Thisiscontinuedaslongasnecessarytoobtainasingledigit.

Forexample,considerthepositiveinteger24.Addingthe2andthe4yieldsavalueof6.Since6isasingledigit,6isthedigitalrootof24.Nowconsiderthepositiveinteger39.Addingthe3andthe9yields12.Since12isnotasingledigit,theprocessmustberepeated.Addingthe1andthe2yeilds3,asingledigitandalsothedigitalrootof39.。

Theinputfilewillcontainalistofpositiveintegers,oneperline.Theendoftheinputwillbeindicatedbyanintegervalueofzero.

Foreachintegerintheinput,outputitsdigitalrootonaseparatelineoftheoutput.

24

39

63

附录

一、VisualC++调试环境的使用

1、进入C++工作环境

建立个人子目录

先在可用硬盘上建立一个工作目录,如D:

\workspace。

然后按以下步骤进行操作;

2、启动VisualC++

双击Windows桌面上的VisualC++图标或单击Windows桌面上开始"

按钮,在程序”中选择“VisualC++6.0运行即可。

3、编译、运行C++源程序

1)创建一个新的工程文件(Projectfile)

启动VisualC++编译系统后,出现“MicrosoftDeveloperStudio窗口,该窗口菜单条有

9个菜单项(如图1所示):

单击“File菜单,在其下拉菜单中选择“NeW,屏幕上出现一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1