C语言上机实验指导 联系客服

发布时间 : 星期二 文章C语言上机实验指导更新完毕开始阅读b79416136edb6f1aff001fa2

3.编写程序,运行程序并记录运行结果

4.将源程序、目标文件、可执行文件和实验报告存在软盘上。 四、选做题

1.自守数是其平方后尾数等于该数自身的自然数。例如: 25*25=625

76*76=5776

任意输入一个自然数,判断是否自守数并输出:如: 25 yes 25*25=625 11 no 11*11=121 2.输入月号,输出月份的英文名称。

实验四 循环结构程序设计

一、实验目的

1. 学习循环语句for、while和do-while语句的使用方法。 2.学习用循环语句实现各种算法,例如穷举法、迭代法等。 3.进一步熟悉TC集成环境的使用方法 二、实验内容

1.下列程序计算SUM的值。调试该程序,使之能正确地计算SUM。写出调试过程。计算公式如下:

1 1 1 1

SUM= 1 + - + - + - + …… + -

2 3 4 n main( )

{ int t,s,i,n;

scanf(\,&n); for(i=1;i<=n;i++)

t=1/i; s=s+t;

printf(\,s); }

在调试过程中,用单步执行的方法观察变量s和t的值的变化,找到程序中存在的问题,加以改正。

2.下面程序的功能是计算n!。 main()

{ int i,n,s=1; printf(\; scanf(\,&n); for(i=1;i<=n;i++) s=s*i;

printf(\,n,s);

} 首次运行先输入n=4,输出结果为4!=24,这时正确的。为了检验程序的正确性,再输入n=10,输出为10!=24320,这显然是错误的。为了找到程序的错误,可以通过单步执行来观察变量的变化。分析产生这种现象的原因,把程序改正过来,再用n=20进行实验,分析所得到的结果。

2.北京市体育彩票采用整数1、2、3、??、36表示36种体育运动,一张彩票可选择7种运动。编写程序,选择一张彩票的号码,使得这张彩票的7个号码之和是105且相邻两个号码之差按顺序依次是1、2、3、4、5、6。 如果第一个号码是1,则后续号码应是2、4、7、11、16、22。

3. 编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1

1 2 3 2 1 1 2 1 1 三、实验要求

1.复习for、while 、do-while语句和continue、break语句。 2.在程序调试中,要实现准备充分的测试用例。

3.编写程序,运行程序并记录运行结果。注意程序的书写格式。 4.将源程序、目标文件、可执行文件和实验报告存在软盘上。 四、选做题

已知2001年1月1日是星期一,编写程序,在屏幕上输出2000年的年历。关于闰年的计算方法:如果某年的年号能被400除尽, 或能被4除尽但不能被100除尽,则这一年就是闰年。

实验五 函数

一、实验目的

1.学习C语言中函数的定义和调用方法。

2.掌握通过参数在函数间传递数据的方法。

3.熟悉TC集成环境对包含函数调用的程序的调试方法。

二、实验内容

1.调试下列程序,使之具有如下功能:fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值。写出调试过程。 #include \ main( )

{ int a=0,k; /* a保存素数之和 */

float av; /* av保存1000以内素数的平均值 */ for(k=2;k<=1000;k++)

if(fun(k)) /* 判断k是否为素数 */ a+=k;

av=a/1000;

printf(\;

}

fun(int n) /* 判断输入的整数是否为素数 */ { int i,y=0; for(i=2;i

}

2.编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值。所谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身。例如:153就是一个水仙花数: 153 = 13 + 53 + 33

3.编写一个函数,对输入的整数k输出它的全部素数因子。例如:当k=126时,素数因子为:2,3,3,7。要求按如下格式输出:126 = 2 * 3 * 3 * 7。 三、实验要求

1.复习函数的定义和调用方法。

2.学习使用设置断点的方法调试程序。 3.编写程序,运行程序并记录运行结果。

4.将源程序、目标文件、可执行文件和实验报告存在软盘上。

四、选做题

1. 任意输入一个4位自然数,调用函数输出该自然数的各位数字组成的最大数。 2.某人购买的体育彩票猜中了4个号码,这4个号码按照从大到小的顺序组成一个数字可被11整除,将其颠倒过来也可被11整除,编写函数求符合这样条件的4个号码。关于体育彩票号码的规则见实验四;可被11整除颠倒过来也可被11整除的正整数例如341,它可被11整除,颠倒过来143也可被11整除。

实验六 编译预处理

一.实验目的

1. 掌握宏定义的规则,领会带参数宏定义和函数调用的区别。 2. 了解文件包含命令的功能和使用规则。 3. 了解条件编译的特点和功能。

二.实验内容:

1. 调试运行例6.1、例6.2、例6.3、例6.4。

2. 利用条件编译实现:如果输入两个实数,则交换后输出;如果输入的是三个实数,则只输出其中最大的数。

实验七 数组

一、实验目的

1.掌握数组的定义、赋值和输入输出的方法。

2.学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)。 3. 熟悉TC集成环境的调试数组的方法。

4.掌握C语言中字符数组和字符串处理函数的使用。 5.掌握在字符串中删除和插入字符的方法。 6.熟悉TC集成环境的调试字符串程序的方法

二、实验内容

1.调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。

main( )

{ int i,n,a[10],av; for(i=0;i

for(i=0;i

for(i=0;i!=n;i++) av+=a[i];

printf(\;

}

上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意变量的初值问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使用+键终止程序的运行,返回到TC环境。

2.编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。 3.输入4×4的数组,编写程序实现:

⑴ 求出对角线上各元素的和;

⑵ 求出对角线上行、列下标均为偶数的各元素的积; ⑶ 找出对角线上其值最大的元素和它在数组中的位置。

4.编写程序,输入若干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。以\作为输入的最后一个字符串。

三、实验要求

1.复习数组的定义、引用和相关算法的程序设计。复习字符串处理函数和字符数组的使用、库函数的调用方法。

2.编写程序,运行程序并记录运行结果。

3.将源程序、目标文件、可执行文件和实验报告存在软盘上。