c语言程第三次实验报告,C语言程序设计-验第三次上机实验报告.doc

C语言程序设计-验第三次上机实验报告

4.第三次实验

C语言程序设计 实验报告

专业 计算机科学与技术 班级 信安1302班 日期 2014.4.12 成绩

实验组别 第 3 次实验 流程控制实验 指导教师

学生姓名 学号 同组人姓名

实验名称 流程控制实验

4.1实验目的

1.掌握复合语句,if语句,switch语句的使用,熟练掌握for,while,do-while三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。

2.掌握运用for,while,do-while语句来编写程序。

3.练习转移语句和标号语句的使用。

4.使用集成开发环境的调试功能:单步执行,设置断点,观察变量值。

4.2实验内容

(一)在不用数组的情况下求n个数的最大值最小值和平均值

源程序如下shangji3\chengxu14

#include

int main()

{

int max,min,n,x,i;

float s;

s=0;i=1;

printf("enter n:");

scanf("%d",&n);

printf("enter the first number:");

scanf("%d",&x);

s=s+x;

max=x;min=x;

do

{

scanf("%d",&x);

s+=x;

if(x>max) max=x;

else if(x

i++;

}while(i<=n-1);

printf("the max=%d\n",max);

printf("the min=%d\n",min);

printf("the average is %.2f\n",s/n);

return 0;

}

实验步骤:

步骤一:定义两个整型变量分别存放最大值最小值,定义一个整型变量用来存放输出的数的和,定义一个变量n用来存放应该输入的数的个数,定义一个变量i用来控制循环。

步骤二:键入n的值,输入第一个数的值,并将此值赋给最大值和最小值。在循环结束前,将后来输入的数分别与当前最大值和最小值比较,不断将目前的最大值和最小值分别赋给两个变量。在不断输入的过程中,将后来输入的数加到s上。

步骤三:循环结束,输出最大值和最小值,并将和除以n得平均值。

调试及编译过程:

测试数据:n=5,输入11,12,13,14,15

测试数据:n=5,输入15,14,13,12,11(反向输入)

出现的不足及修改:1.如何控制输入的数为n个时,本来将i的循环条件写为i<=n,发现这样写得输入n+1个数才能将输入流中的数送入运算器。这样的错误时由于没有完全弄明白do while循环的特点,后改为i<=n-1,这样输入倒数第二个数时还要进行最后一次循环,于是输入最后一个数。

(二)依据下列格里高利公式,计算圆周率πshangji3\chengxu15

#include

#define EPS 1e-6

int main()

{

int i,j;

double s;

for(s=0,i=1;(1.0/i)>EPS;i++)

{

j=(i%2)?1:-1;

s+=j*(1.0/(2* i-1));

}

printf("s=%.lf",4*s);

return 0;

}

实验步骤:

步骤一:在执行函数前定义精确度,定义两个整型变量分别控制循环和决定加上的数的正负.

步骤二:开始循环,控制循环结束的条件为再次加上的数的绝对值小于精确值。

步骤三:结束循环,将累次相加的结果输出。

调试及编译过程:

出现的不足及修改:无 运行结果:输出预期的结果。

(三)完全数是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和恰好等于它本身。完全数shangji3\chengxu16

#include

int wqs(int x);

int main()

{

int i;

for(i=1;i<=1000;i++)

{

if(wqs(i)) printf("%4d",i);

}

return 0;

}

int wqs(int x)

{

int i,s;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSU 大一上 C语言实验报告 (1)教材第2章编题第2题:编写计算球体体积的序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编题第8题:编写序计算第一、第二、第三月还贷后剩余贷款金额。 说明:本题要求用户输入总额、利率、每月还贷净额,输出每月剩余,对输入输出、类型定义考查。 (3)教材第3章编题第2题:编写序实现对用户输入的产品信息进行格式化。 说明:本题考查格式化输入输出、转义字符的运用。 (4)教材第4章编题第4题:编写序实现将输入的整数按八进制输出。 说明:本题重在考查简单的运算符和表达式运用。 (5)用户输入一个三位数,输出各位数字之和。 说明:本题重在考查如何从一个整数中取出每一个数字。 (6)教材第5章编题第5题:编写序计算用户输入所得额的税金。 说明:本题考查简单的选择结构。 (7)教材第5章编题第11题:编写序实现将用户输入的两位数转化为英文。 说明:本题考查switch语句的应用。 (8)教材第6章编题第8题:编写序显示单月日历,用户指定这个月的天数和该月起始日是星期几。 说明:本题考查循环结构和选择结构的综合应用,判断是否一个星期最后一天,换行符。 (9)教材第6章编题第11题:编序实现利用无穷级数法估计e的值。 说明:本题考查根据公式设计循环结构并实现。 (10)因子之和等于其本身的数称为完数,如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28为完数。编序找出2~5000中的完数。 说明:本题利用变量i在2~5000中变化,判断其是否是完数。 (11)教材第7章编题第12题:编计算从左至右求值的表达式的值。 说明:本题考查对运算符和操作数的判断。 (12)教材第7章编题第14题:编序用牛顿计算法计算浮点数平方根。 说明:本题考查对循环结构的掌握,对表达式的合理运用,对基本类型的理解。 (13)教材第8章编题第14题:编写序颠倒句子中单词的顺序。 说明:本题考查对字符数组的处理,对一些循环选择结构的理解。 (14)教材第8章编题第15题:编写序实现凯撒密码加密。 说明:本题考查对字符数组的掌握,对字符处理的理解。 (15)编序实现将用户输入的数字字符串转化为整数输出。 说明:本题考察对字符、整数关系的掌握与理解,对循环结构的熟练运用。 (16)教材第9章编题第1题:编写选择排序的函数,并递归调用。 说明:本题利用函数简化序、使得结构更清晰、熟练掌握。 (17)教材第9章编题第7题:编写计算xn的函数。 说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编题第6题:编写序实现逆波兰运算。 说明:本题考查对序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解栈的一些实现函数。 (19)编序找出2~5000中满足条件的数x:x是素数且x的每位数字是素数、每位数字之和是素数,如23、223、2333等。 说明:本题考查函数方法与循环选择结构的综合运用。 (20)教材第11章编题第3题:用指针变量编写简化一个分数的函数。 说明:本题用来解决函数无法传回传递的实际参数,指针变量。 (21)教材第12章编题第2题:编写函数读入用户输入的一条消息,检测是否是回文,分别用数组、指针来解决。 说明:本题可以体会到数组与指针的特点,利用指针的便利。 (22)利用指针编写序,实现从键盘键入字符串,将此字符串从m个字符开始的n个字符复制成另一个字符串。 说明:本题用指针指向字符串,进行跟踪和复制操作。 (23)教材第13章编题第5题:编写序实现对输入命令行参数求和。 说明:本题加深对命令行参数的理解、考查知识的综合应用。 (24)教材第16章编题第5题:用结构变量解决搜索离用户输入时间最近的航班信息,并输出。 说明:本题考查结构与数组的结合运用,有助于理解结构。首先,定义一个存储起飞、到达时间的结构,再定义一个该类型的数组,循环搜索即可。 (25)教材第17章编题第5题:用指针数组存储键入的字符串,对数组排序。 说明:本题应用动态分配内存、数组排序,考查综合能力。
西南交通大学;实(大作业)题目:C语言文件操作;实目的: (1) 掌握C语言字符文件读写方法; (2) 掌握C语言二进制文件读写方法。 实要求: (1) 完成2个文件操作序。 (2) 撰写实验报告:每个序包括源序代码;按要求描述关键算法或算法流图;提供序测试结果(至少两种不同输入,可屏幕截图)与结论。 实内容: 1. 在字符文件b.txt中录入n个整数,录入整数的分隔符为空格、换行或TAB。若n=5,则b.txt的一种正确格式为 5 9 12 -15 30 -7 即b.txt的第一个数为n,后面是n个整数。 编写序,从文件b.txt读出n值,建立长度为n的动态1维整型数组,然后继续从文件b.txt读入n个整数存于该数组,进行由小到大排序,最后将排序结果输出到字符文件c.txt中。 要求的输出格式是每个整数%6d,每输出5个整数换一行。 实验报告中要求给出该序的流图。 2. 1616点阵汉字的显示。从键盘输入一个汉字,从1616点阵汉字库文件HZK16.dat中毫读取汉字点阵信息,打印汉字到控制台屏幕上(构成汉字的每个点用输出字母O表示)。 输入输出示例: 请输入一个汉字:中 O O O O OOOOOOOOOOOOOO O O O O O O O O O O O O OOOOOOOOOOOOO O O O O O O O O O 提示1:16*16点阵字库文件HZK16.dat的存储格式。 以汉字“我”为例,16*16点阵构成的字形信息用二进制编码(1表示有点,0表示无点)形成32字节,每行2个字节,共16行,如下所示。这32个字节在文件中的存储顺序为:每行从左向右,行从上到下。 16*16点阵字库文件HZK16.dat中,每个汉字(32字节字形信息)按区位码由小到大的顺序存储。以汉字“啊”为例,它的区号为16,位号为1,故它的32字节字形信息在文件中的起始字节偏移量offset=((区号-1)*94+位号-1)*32。 0000010010000000 0x04,0x80 0000111010100000 0x0E,0xA0 0111100010010000 0x78,0x90 0000100010010000 0x08,0x90 0000100010000100 0x08,0x84 1111111111111110 0xFF,0xFE 0000100010000000 0x08,0x80 0000100010010000 0x08,0x90 0000101010010000 0x0A,0x90 0000110001100000 0x0C,0x60 0001100001000000 0x18,0x40 0110100010100000 0x68,0xA0 0000100100100000 0x09,0x20 0000101000010100 0x0A,0x14 0010100000010100 0x28,0x14 0001000000001100 0x10,0x0C 提示2:GB2312-80汉字内码 GB2312-80共收录约6700多个汉字以及其它符号,用一个94行*94列的表格表示(最多可表示94*94个汉字和符号)。某个汉字所在的行号(从1开始)称为“区号”,列号(从1开始)称为“位号”,形成区位码。 如:汉字“啊”在16行,第1列,故它的区位码为(16,1)。 在存储器中,为了与ASCII码区别,用内码表示一个汉字的编码,汉字的内码为一个2字节编码,第一字节=区号+160,第2字节=位号+160,故汉字“啊”的内码为(176,161)。 已知汉字内码,则在HZK16.dat中该汉字32字节字形信息首字节的存储位置为 offset=((内码第一字节-161)*94+(内码第二节字-161))*32
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值