水仙花数的c语言实验报告c语言怎么写头文件

来自哈工大
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言实验报告(附答案)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口来 自:辽宁
等 级:论坛游民
帖 子:56
专家分:39
/*输出所有水仙花数*/
#include &stdio.h&
void main()
&&& int a,b,c;
&&& for(a=0;a&10;a++)
&&& for(b=0;b&10;b++)
&&& for(c=1;c&10;c++)
&&& if(a+b*10+c*100==a*a*a+b*b*b+c*c*c)
&&& printf(&%d,%d,%d\n&,c,b,a);
来 自:辽宁
等 级:论坛游民
帖 子:56
专家分:39
/*用while语句输出所有水仙花数*/
#include &stdio.h&
void main()
&&& int n,a,b,c;
&&& n=100;
&&& while(n&1000)
&&&&&&&&a=n/100;
&&&&&&&&b=n%100/10;
&&&&&&&&c=n%10;
&&&&&&&&if(n==a*a*a+b*b*b+c*c*c)
&&&&&&&&printf(&%d\n&,n);
&&&&&&&&n++;
&&& printf(&\n&);
来 自:辽宁
等 级:论坛游民
帖 子:56
专家分:39
/*使用for语句&&输出所有水仙花数*/
#include &stdio.h&
void main()
&&& int a,b,c;
&&& for(a=1;a&=9;a++)
&&&&&&&&for(b=0;b&=9;b++)
&&&&&&&&&&&&for(c=0;c&=9;c++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&printf(&%d,%d,%d\n&,a,b,c);
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&}
来 自:辽宁
等 级:论坛游民
帖 子:56
专家分:39
各位有什么其他的想法也可以贴出来
共同思考,共同进步嘛
来 自:淮河河畔
等 级:版主
威 望:55
帖 子:2294
专家分:12530
以前我也做过这个作业,但是原程序删除了,其实可以思考水仙花的特点,而不是用他的定义条件
忙碌是一种幸福 让我们无从时间体会痛苦
来 自:辽宁
等 级:论坛游民
帖 子:56
专家分:39
回复 6楼 邓士林
可是水仙花数的特点不就是abc=a×a×a+b×b×b+c×c×c么。。。
来 自:斗气大陆
等 级:贵宾
威 望:34
帖 子:1926
专家分:11180
#include&stdio.h&
void fun(int m);
&&& printf(&请输入一个三位数:&); //&水仙花数&是针对三位数的;
&&& scanf(&%d&,&m);
&&& fun(m);
&&& return 0;
void fun(int num)
&&& int a,b,c,n;
&&& a=num/100;
&&& b=num/10-a*10;
&&& c=num-a*100-b*10;
&&& n=a*a*a+b*b*b+c*c*c;
&&& if(num==n)
&&&&&&&&printf(&%d是水仙花数!\n&,num);
&&&&&&&&printf(&%d不是水仙花数!\n&,num);
三十年河东,三十年河西。莫欺少年穷!
来 自:斗气大陆
等 级:贵宾
威 望:34
帖 子:1926
专家分:11180
额&&&看错了&&&不好意思
三十年河东,三十年河西。莫欺少年穷!
来 自:辽宁
等 级:论坛游民
帖 子:56
专家分:39
回复 9楼 韶志
呃。。。。。你这只是判断输入的是否为水仙花数,嘿嘿。可以改改嘛
版权所有,并保留所有权利。
Powered by , Processed in 0.023547 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved循环结构程序设计(C语言实验报告)
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
循环结构程序设计(C语言实验报告)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口c语言实验报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
7页免费7页免费5页免费7页免费2页免费 2页免费2页免费2页免费13页2下载券12页1下载券
喜欢此文档的还喜欢14页1下载券4页免费3页1下载券30页免费1页免费
c语言实验报告|c​语​言​学​习
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢C语言上机实验指导
实验要求:
上机实验一般经历上机前的准备(编程)、上机调试运行和实验后的总结三个步骤。
1.上机前的准备
根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)。分析可能遇到的问题及解决的对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。
上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了;如果抄写或复制一个别人编写的程序,到头来自己一无所获。
2. 上机输入和编辑程序,并调试运行程序
首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后调用编译程序对源程序进行编译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程序(扩展名为OBJ)。下一步是调用连接程序,产生可执行程序(扩展名为EXE)。使用预先准备的测试数据运行程序,观察是否得到预期的正确结果。若有问题,则仔细调试,排除各种错误,直到得到正确结果。在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。整个过程应自己独立完成。不要一点小问题就找老师,学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。
3. 整理上机实验结果,写出实验报告
实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告。实验报告一般包括如下内容:
⑴ 实验内容
实验题目与要求。
⑵ 算法说明
用文字或流程图说明。
⑶ 程序清单
⑷ 运行结果
原始数据、相应的运行结果和必要的说明。
⑸ 分析与思考
调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并分析原因等。
实验一& C语言运行环境
一、实验目的
1、了解VC++6.0环境的组成。
2、学习VC++6.0环境的使用方法。
3、了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。
二、实验内容
1、通过网络查找Visual C++ 6.0的安装图解,了解Visual C++ 6.0的安装过程,要求在课下对个人机进行安装此软件的实验。
2、编写程序t1.cpp。
2.1 进入VisualC++6.0编程开发环境。在桌面上双击Visual C++ 6.0图标,即可进入VC++6.0界面。
2.2 建立工程。在VisualC++6.0编程开发环境下,用鼠标单击菜单【File】→【New】,在【New】菜单弹出的对话框中选Project中的Win32 Console Application(控制台程序)。
2.3 在同一对话框的右边Project name处,用键盘输入一个要建立的工程名称Task1。
2.4 在同一对话框的右边Location处,用键盘输入一个路径D:\或者选择路径D:\,然后单击OK按钮。
2.5 接下来出现Win32 Console Application - Step 1 of 1界面,选择An empty& project后单击Finish按钮。
2.6 之后出现New Project Information界面,单击OK按钮,工程就建好了。这时可以看到界面名为Task1 project-Microsoft Visual C++。
2.7 单击FileView选项卡出现
workspace ‘Task1’:1 project[s]
Task1 files
单击第二行文字前的+号,会出现3个文件的目录。
2.8 单击Source Files,可以看到该文件夹是空的。(原因是什么?)
2.9 用鼠标单击菜单【File】→【New】,在【New】菜单弹出的对话框中使用File选项卡,选择C++ Source File,此时该界面右侧的Add to project 中自动出现Task1 project,表示已将要建立的新文件加入到名为Task1 project 的工程中。
2.10 在同一对话框的右侧中间部分的File处,输入给新建文件所起的名字t1.cpp,输入之后单击OK按钮,将弹出VC++的编程界面。
2.11 在编程界面下键入一个小程序:
#include "stdio.h"
int main()
&&&printf("hello world!\n");
&&&return 0;&
2.12 输入完毕后单击界面上的“保存”按钮,就可将源代码存放到名为t1.cpp的文件中。
2.13 按下F7键,对程序进行编译和链接,如果有错还要个性;按下Ctrl+F5键或者单击“执行”,即可运行程序。观察运行结果出现的界面及结果的内容。
2.14 退出VC++6.0。单击界面右上角的关闭按钮,屏幕上会出现一条提示,问是否要保留对工程内容所做的改变,可以有3 种选择:“是”、“否”或“取消”,选“是”退出VC++6.0系统。
3、模仿上面的例子,创建一个自己的程序t2,要求输出的内容是“I am a student”。
4、创建一个新工程,要求在Win32 Console Application - Step 1 of 1界面中选择A simple application.或者A “Hello,World!” application.后单击Finish按钮。注意观察编辑界面的不同。
三、 实验要求
1、学习Visual C++6.0的基本操作,编写程序。
2、运行程序并记录运行结果。
3、将源程序、目标文件、可执行文件和实验报告存在软盘上。
实验二& 数据类型、运算符和表达式
一、实验目的
1、进一步熟悉Visual C++6.0环境的使用方法。
2、学习C语言赋值语句和基本输入输出函数的使用。
3、了解数据类型在程序设计语言中的意义。
二、 实验内容
1、输入并运行下列程序:
{ char& c1,c2;
c1=97;c2=98;
printf(“%c& %c\n”,c1,c2);
printf(“%d& %d\n”,c1,c2);
①将第二行改为:int c1,c2;& 再使之运行,分析结果。
②再将第三行改为:& c1=300;c2=400;& 再使之运行,分析其运行结果。
2、输入并运行教材第二章习题10、12、13、15、17,与上机前先分析的结果对照。
3、输入并运行下列程序,然后分别作以下改动并运行:
&& main( )
&& {int i,j,m,n;
&&& i=8;j=10;
&&& m=++i;& n=j++;
&&& printf(“%d,%d,%d,%d”,i,j,m,n);
①将第4行改为:m=i++;n=++j;
②程序改为:
& {int i,j;
&& i=8;j=10;
printf(“%d,%d”,i++,j++);
③在②的基础上,将printf语句改为:printf(“%d,%d”,++i,++j);
④再将printf语句改为:printf(“%d,%d,%d,%d”,i,j, i++,j++);
⑤程序改为:
& {int i,j,m=0,n=0;;
&& i=8;j=10;
&& m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);
三、实验要求
1、复习赋值语句和输入输出函数各种格式符的使用。
2、复习数据类型和运算符的有关概念。
3、编写程序,运行程序并记录运行结果。
4、将源程序、目标文件、可执行文件和实验报告存在软盘上。
实验三& 最简单的C程序设计
一、实验目的
1、掌握数据的输入输出的方法,能正确使用各种格式字符。
2、了解不同类型数据间的转换。
二、实验内容
1、输入并运行以下程序:
{ int& a,b;
float& d,e;
char& c1,c2;
double& f,g;
long& m,n;
unsigned int& p,q;
a=61;b=62;
c1=’a’;c2=’b’;
d=3.56;e=-6.87;
f=;g=0.;
m=50000;n=-60000;
p=32768;q=40000;
printf(“a=%d,b=%d\n c1=%c,c2=%c\nd=%6.2f,e=%6.2f\n”,a,b,c1,c2,d,e);
printf(“f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n”,f,g,m,m,p,q);
2、进行以下改动后,运行程序,分析结果。
①& 将程序第8-13行改为:
a=61;b=62;
c1=a;c2=b;
f=;g=0.;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
②& 在①的基础上将printf语句进行下如下修改,再运行程序:
printf(“a=%d,b=%d\n c1=%c,c2=%c\nd=%15.6f,e=%15.12f\n”,a,b,c1,c2,d,e);
printf(“f=%f,g=%f\n m=%ld,n=%ld\n p=%d,q=%d\n”,f,g,m,n,p,q);
3、编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符。
上机运行程序,比较用printf和putchar函数输出字符的特点。
4、输入并运行教材第二章习题21、22、23、26,与上机前先分析的结果对照。
三、实验要求
1、复习关系表达式、逻辑表达式和if 语句、switch语句。
2、学习程序的调试方法。
3、编写程序,运行程序并记录运行结果
4、将源程序、目标文件、可执行文件和实验报告存在软盘上。
实验四& 选择结构程序设计
一、实验目的
1、正确使用关系表达式和逻辑表达式表达条件
2、学习分支语句if和switch的使用方法。
3、进一步熟悉Visual C++6.0集成环境的使用方法,学习Visual C++6.0环境提供的调试工具。
二、实验内容
1、编写程序,使之具有如下功能:输入a、b、c三个整数,求最小值。写出调试过程。
2、编写程序,求解下列分段函数:
x (-5&X&0)& FONT&
y= x-1 (x=0)
x+1 (0&X&10)& FONT&
3、某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班(Lower class);4岁孩子进中班(Middle class);5岁、6岁孩子进大班(Higher class)。编写程序(用switch语句),输入孩子年龄,输出年龄及进入的班号。如:输入:3,输出:age:3,enter Lower class。
先编程序,解决以下问题,然后上机调试运行程序。
4、有一个函数:x&1时,y=x+3; 1&=x&10时,y=(2x+10)/3; x&=10时,y=x。
用scanf函数输入x的值(分别为x&1、1~10、≥10三种情况),求y值。
5、给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
6、求五个数中的最大数。
7、从键盘上输入三个数,让它们代表三条线段的长度,请编写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的程序。
8、上机调试第三章习题4,与事先分析的运行结果对比。
三、实验要求
1、复习关系表达式、逻辑表达式和if 语句、switch语句。
2、学习程序的调试方法。
3、编写程序,运行程序并记录运行结果
4、将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
1、自守数是其平方后尾数等于该数自身的自然数。例如:
76*76=5776
任意输入一个自然数,判断是否自守数并输出:如:
25 yes 25*25=625
11 no 11*11=121
2、输入月号,输出月份的英文名称
实验五 循环结构程序设计(一)
一、实验目的
1、学习循环语句for、while和do-while语句的使用方法。
2、学习用循环语句实现各种算法,例如穷举法、迭代法等
3、进一步熟悉Visual C++6.0集成环境的使用方法
二、实验内容
1、下列程序计算SUM的值。调试该程序,使之能正确地计算SUM。写出调试过程。计算公式如下:
SUM=1+1/2+1/3+1/4+……+1/n
{ int t,s,i,n;
scanf("%d",&n);
for(i=1;i&=n;i++)
printf("s=%f\n",s);
在调试过程中,用单步执行的方法观察变量s和t的值的变化,找到程序中存在的问题,加以改正。
2、下面程序的功能是计算n!。
{ int i,n,s=1;
printf("Please enter n:");
scanf("%d",&n);
for(i=1;i&=n;i++)
printf("%d! = %d",n,s);
首次运行先输入n=4,输出结果为4!=24,这时正确的。为了检验程序的正确性,再输入n=10,输出为10!=24320,这显然是错误的。为了找到程序的错误,可以通过单步执行来观察变量的变化。分析产生这种现象的原因,把程序改正过来,再用n=20进行实验,分析所得到的结果。
3、北京市体育彩票采用整数1、2、3、……、36表示36种体育运动,一张彩票可选择7种运动。编写程序,选择一张彩票的号码,使得这张彩票的7个号码之和是105且相邻两个号码之差按顺序依次是1、2、3、4、5、6。 如果第一个号码是1,则后续号码应是2、4、7、11、16、22。
4、编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5)
&& 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、复习for、while 、do-while语句和continue、break语句。
2、在程序调试中,要实现准备充分的测试用例。
3、编写程序,运行程序并记录运行结果。注意程序的书写格式。
4、将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
已知2001年1月1日是星期一,编写程序,在屏幕上输出2000年的年历。关于闰年的计算方法:如果某年的年号能被400除尽, 或能被4除尽但不能被100除尽,则这一年就是闰年。
实验六 循环结构程序设计(二)
一、实验目的
1、掌握三种循环语句的格式及应用。
2、掌握break语句和continue语句的格式及应用。
3、提高用结构程序设计设计程序的能力。
二、实验内容
1、编写一个程序,求小于100且能被3整除的数之和。
2、输出下列图形。
&&& &&&&&& &&
&&&&& &&&&&&&&& &&
&&&&&&&&& &&&&&&&&&&&
&&&&&&&&&&&& &&&&&&&&&&&&&
3、一封电文转换成密文,转换规律如下:
⑴ 电文的每一个字母用在字母表中位于其后一个字母来代替,如a 用b代替,z用a代替,Z用A代替 。
⑵ 电文中的非字母字符不变。
三、实验要求
1、复习for、while 、do-while语句和continue、break语句。
2、在程序调试中,要实现准备充分的测试用例。
3、编写程序,运行程序并记录运行结果。注意程序的书写格式。
4、将源程序、目标文件、可执行文件和实验报告存在软盘上。
实验七 函数(一)
一、实验目的
1、熟悉掌握函数的定义、调用方式。
2、掌握变量的作用域和变量存储属性在程序中的应用。
3、能用函数编写一般和应用程序。
二、实验内容
1、输入一个以回车键结束的字符串,然后将它们按照相反顺序输出。用递归函数实现。
2、写一个函数,使给定的一个二维数组(3*4)进行转置,即行列互换,并输出换置前后的结果。
3、编写一个求素数的函数,然后用主函数调用该函数来求100至500之间的所有素数,并统计素数的个数。
三、实验指导:
1、参考程序:
c=getchar();
if(c!='\n')
putchar(c);
&&&&&&&&&&&&&&& }
2、二维数组(3*4)进行转置,即行列互换,即a[i][j]=&a[j][i];借助一个中间二维数组来存放转置后的结果。
3、求素数的算法是:如果一个数不能被2到此数平方根之间的任意一个数整除,则此数是素数;否则不是素数。
四、实验要求
1、复习数组的定义、引用和相关算法的程序设计。复习字符串处理函数和字符数组的使用、库函数的调用方法。
2、编写程序,运行程序并记录运行结果。
3、将源程序、目标文件、可执行文件和实验报告存在软盘上。
实验八 函数(二)
一、实验目的
1、学习C语言中函数的定义和调用方法。
2、掌握通过参数在函数间传递数据的方法。
3、熟悉Visual C++6.0集成环境对包含函数调用的程序的调试方法。
二、实验内容
1、调试下列程序,使之具有如下功能:fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值。写出调试过程。
#include "math.h"
{ int a=0,k; /* a保存素数之和 */
float av; /* av保存1000以内素数的平均值 */
for(k=2;k&=1000;k++)
if(fun(k)) /* 判断k是否为素数 */
av=a/1000;
printf("av=%f\n",av);
fun(int n) /* 判断输入的整数是否为素数 */
{ int i,y=0;
for(i=2;i&N& FONT&;i++)
if(n%i==0) y=1;
else y=0;
return y;
2、编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值。所谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身。例如:153就是一个水仙花数:
3、编写一个函数,对输入的整数k输出它的全部素数因子。例如:当k=126时,素数因子为:2,3,3,7。要求按如下格式输出:126 = 2 * 3 * 3 * 7。
4、编写并调试教材第四章习题4、6。
5、上机调试第四章习题9~13,与事先分析的运行结果对比。
三、实验要求
1、复习函数的定义和调用方法。
2、学习使用设置断点的方法调试程序。
3、编写程序,运行程序并记录运行结果。
4、将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
1、任意输入一个4位自然数,调用函数输出该自然数的各位数字组成的最大数。
2、某人购买的体育彩票猜中了4个号码,这4个号码按照从大到小的顺序组成一个数字可被11整除,将其颠倒过来也可被11整除,编写函数求符合这样条件的4个号码。关于体育彩票号码的规则见实验四;可被11整除颠倒过来也可被11整除的正整数例如341,它可被11整除,颠倒过来143也可被11整除。
实验九 编译预处理
一、实验目的
1、掌握宏定义的规则,领会带参数宏定义和函数调用的区别。
2、了解文件包含命令的功能和使用规则。
3、了解条件编译的特点和功能。
二、实验内容:
1、定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
说明:在程序主函数使用宏时只能用两个实参,如SWAP(a,b),不能用三个参数。
2、用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下字母(如‘a’变成‘b’,…,‘z’变成‘a’。其它字符不变)。用#define命令来控制是否要译成密码。
#define& CHANGE& 1
则输出密码。若:
#define& CHANGE& 0
则不译成密码,按原码输出。
用条件编译方法来处理。
3、编写并调试教材第四章习题17、18。
4、上机调试第四章习题15、16,与事先分析的运行结果对比。
实验十& 数 组(一)
一、实验目的
1、掌握数组的定义、赋值和输入输出的方法。
2、学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)。
3、熟悉Visual C++6.0集成环境的调试数组的方法。
4、掌握C语言中字符数组和字符串处理函数的使用。
5、掌握在字符串中删除和插入字符的方法。
6、熟悉Visual C++6.0集成环境的调试字符串程序的方法。
二、实验内容
1、调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。
&&&&&& int i,n,a[10],av;
&&&&&&& for(i=0;i&N& FONT&;i++)
&&&&&&& scanf("%d",a[i])
&&&&&&& for(i=0;i&N& FONT&;i++)
&&&&&& printf("%d",a[i]);
&&&&&&& if(i%3==0)
&&&&&&& printf("\n");
&&& for(i=0;i!=n;i++)
&&&&&& av+=a[i];
&&&&&& printf("av=%f\n",av);
上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意变量的初值问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使用+键终止程序的运行,返回到Visual C++6.0环境。
2、编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
3、输入4×4的数组,编写程序实现:
⑴ 求出对角线上各元素的和;
⑵ 求出对角线上行、列下标均为偶数的各元素的积;
⑶ 找出对角线上其值最大的元素和它在数组中的位置
4、编写程序,输入若干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。以"stop"作为输入的最后一个字符串。
三、实验要求
1、复习数组的定义、引用和相关算法的程序设计。复习字符串处理函数和字符数组的使用、库函数的调用方法。
2、编写程序,运行程序并记录运行结果。
3、将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
1、设某班50人,写一程序统计某一单科成绩各分数段的分布人数,每人的成绩随机输入,并要求按下面格式输出统计结果;("××" 表示实际分布人数)
0 -- 39 ××
40 -- 49 ××
50 -- 59 ××
90 -- 100 ××
2、有一个n行m列的由整数组成的矩阵,请对矩阵中的元素重新进行排列,使得同行元素中右边的元素大于左边的元素,同列元素中下边的元素大于上边的元素。
实验十一 数组(二)
一、实验目的
1、熟悉掌握数组的定义及元素的引用方法。
2、掌握有关数组程序设计的方法。
二、实验内容
1、编程实现将一个3*4的矩阵元素各右移动一列,最后一列移至第一列。
2、编写一个程序,将字符数组s2中的全部字符拷贝到字符数组中,不能用strcpy函数。拷贝时,‘\0’也要拷贝过去,但‘\0’后面的字符不拷贝。
3、从键盘输入一整数,然后在一给定的整数数组中进行查找,若找到此数,则将其删除,否则,给出没有找到的提示。
4、编写并调试教材第五章习题1~4、6、7、9~12。
三、实验指导
1、题目要求实现将一个3*4的矩阵元素各右移动一列,最后一列移至第一列。它操作的对象是3*4的矩阵,那么首先应该定义一个3行4列的二维数组;接下来就应该初始化数组并按矩阵形式输出,即每输出一行(4个)数据就输出一个换行符以实现换行。矩阵元素各右移动一列,最后一列移至第一列,第0—2列依次移动一列,即行下标不变,列下标加一即:j+1;最后一列移至第一列即第3列移至第一列,这时行下标不变、列下标为 0 ;两种情况统一,任何元素的下标在移动前后都满足:行下标i不变,列下标j变为(j+1)%4即a[i][j]&& 移动到a[i][(j+1)%4]&&;将移动后的数组用矩阵的格式输出,此时可以和先前输出的已知矩阵进行比较看,与要求的功能是否相符。注意这里应该借助用一个中间二维数组来存放移动后的新的二维数组,否则会出错。
2、只要将s2中的字符从第一个字符开始依次复制(赋值)到s1的相应的位置,直到遇到第一个‘\0’字符时结束。
3、将输入的数据依次和数组的元素比较,如果相等则将此元素后面的所有元素依次向前移动一个位置(即实现删除相等的那个元素),否则再和数组的下一个元素比较;不断重复上面两个过程直到数组结束。
四、实验要求
1、复习数组的定义、引用和相关算法的程序设计。复习字符串处理函数和字符数组的使用、库函数的调用方法。
2、编写程序,运行程序并记录运行结果。
3、将源程序、目标文件、可执行文件和实验报告存在软盘上。
实验十二 指针(一)
一、实验目的
1.& 掌握指针变量的定义与引用
2.& 掌握指针与变量、指针与数组的关系
3.& 掌握用数组指针作为函数参数的方法。
4.& 熟悉Visual C++6.0集成环境的调试指针程序的方法
二、实验内容
以下均用指针方法编程:
1. 调试下列程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。写出调试过程。
{ int j,k,a[12],*p;
for(j=0;j&12;j++)
scanf("%d",p++);
for(j=0;j&12;j++)
{& printf("%d",*p++);
if(j%4 == 0)
printf("\n");
调试此程序时将a设置为一个"watch",数组a所有元素的值在一行显示出来。调试时注意指针变量指向哪个目标变量。
2. 在主函数中任意输入10个数存入一个数组,然后按照从小到大的顺序输出这10个数,要求数组中元素按照输入时的顺序不能改变位置。
3. 自己编写一个比较两个字符串s和t大小的函数strcomp(s,t),要求s小于t时返回-1,s等于t时返回0,s大于t时返回1。在主函数中任意输入4个字符串,利用该函数求最小字符串。
三、实验要求
1.& 复习指针的定义与使用方法。
2.& 编写程序,运行程序并记录运行结果。
3.将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
1. 在主函数中任意输入9个数,调用函数求最大值和最小值,在主函数中按每行3个数的形式输出,其中最大值出现在第一行末尾,最小值出现在第3行的开头。
2. 请编程读入一个字符串,并检查其是否为回文(即正读和反读都是一样的)。例如:
读入:MADA M I M ADAM. 输出:YES
读入:ABCDBA. 输出:NO
实验十三 指针(二)
一、实验目的
1.掌握C语言中函数指针的使用方法。
2.掌握C语言中指针数组的使用方法。
3.熟悉Visual C++6.0集成环境的调试指针程序的方法
二、实验内容
1.& 调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:
⑴ 2个数的和。
⑵ 2个数交换值。
要求用函数指针调用这两个函数,结果在主函数中输出。
{&&&& int a,b,c,(*p)();
scanf("%d,%d",&a,&b);
*p(a,b,c);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
sum(int a,int b,int c)
{ c=a+b;}
swap(int a;int b)
调试程序时注意参数传递的是数值还是地址。
 2. 输入一个3位数,计算该数各位上的数字之和,如果在[1,12]之内,则输出与和数相对应的月份的英文名称,否则输出***。
例如:输入:123 输出:1+2+3=6→ June
输入:139 输出:1+3+9=13→ ***
用指针数组记录各月份英文单词的首地址。
 3. 任意输入5个字符串,调用函数按从大到小顺序对字符串进行排序,在主函数中输出排序结果。
三、实验要求
1.& 复习函数指针和指针数组的使用方法。
2.& 编写程序,运行程序并记录运行结果。
3.将源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
 1. 对数组A中的N(0&N&100& FONT&)个整数从小到大进行连续编号,要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。
例如:数组是 A=(5,3,4,7,3,5,6)
则输出为: (3, 1, 2, 5, 1, 3, 4)
 2. 将一个数的数码倒过来所得到的新数,叫作原数的反序数,如果一个数等于它的反序数,则称它为对称数。例如十进制数121就是一个十进制的对称数。编写程序,采用递归算法求不超过1993的最大的二进制的对称数。
实验十四 结构体和共用体
一、实验目的
1.&& 掌握结构体类型变量的定义和使用。
2.&& 掌握共用体的概念与使用。
3.&& 掌握用户自定义类型的特点和应用。
二、实验内容
1.& 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。要求用一个input函数输入5个学生数据;用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据都在主函数中输出。
2.& 13个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。
& 3.& 编写程序,根据用户输入的数字(1~12),输出相应的月份名。用枚举类型实现。
实验十五 文件
一、实验目的
1.& 掌握C语言中文件和文件指针的概念。
2.& 掌握C语言中文件的打开与关闭及各种文件函数的使用方法。
3.熟悉Visual C++6.0集成环境的调试文件程序的方法
二、实验内容
 1. 编写程序,输入一个文本文件名,输出该文本文件中的每一个字符及其所对应的ASCII码。例如文件的内容是Beijing,则输出:
B(66)e(101)i(105)j(106)i(105)n(110)g(103)。
2.&&&&&& 编写程序完成如下功能:
⑴ 输入5个学生的信息:学号(6位整数)、姓名(6个字符)、3门课的成绩(3位整数1位小数)。计算每个学生的平均成绩(3位整数2位小数),将所有数据写入文件STU1.DAT;
⑵ 从STU1.DAT文件中读入学生数据,按平均成绩从高到低排序后写入文件STU2.DAT;
⑶ 按照输入学生的学号,在STU2.DAT文件中查找该学生,找到以后输出该学生的所有数据,如果文件中没有输入的学号,给出相应的提示信息.。
3. 用编辑软件建立一个名为"d1.txt"的文本文件存入磁盘,文件中有18个数。从磁盘上读入该文件,并用文件中的前9个数和后9个数分别作为两个3*3矩阵的元素。求这两个矩阵的和,并把结果按每行3个数据写入文本文件"d2.txt"。用DOS命令TYPE显示d2.txt。
三、实验要求
1.& 复习文件的读写方法。
2.& 编写程序,运行程序并记录运行结果。
3.源程序、目标文件、可执行文件和实验报告存在软盘上。
四、选做题
 1. 建立两个由有序的整数组成的二进制文件f1和f2,然后将它们合并为一个新的有序文件f3。
2. 编写程序,功能是从磁盘上读入一个文本文件,将文件内容显示在屏幕上,每一行的前面显示行号。
实验十六 综合实验
本次试验为综合设计试验,要求学生在学习完《C语言程序设计》课程以后,通过查阅资料等方法独立完成。
以下是一个《C语言程序设计》的综合试验的题目和课程设计报告要求。
一、题目:学生成绩文件管理
现有3个班学生的C语言课程成绩,请以班级为单位对学生的成绩按从高到低的顺序排序,并将排序后的结果存入文件中。必须采用指针和函数。
提示:定义三个一维数组分别存放三个班的成绩,排序方法可以采用冒泡法或其它方法,在函数中实现数组的排序,在主函数中调用函数。
每个学生需独立完成,期末时提交源程序与课程设计报告。
&&& 熟练掌握条件语句、循环、数组、指针、函数及文件的操作,将本课程所学的知识合理运用实际中。
三、评分方法和标准
运行每个同学的程序、审阅课程设计报告,根据下面的标准给每位同学评定课程设计考试成绩。
&&&&&& 1& 程序调试成功(60%)&&&&&
&&&&&& 2& 知识点运用得当(10%)
&&&&&& 3 &程序设计合理(20%)&&&&
&&&&& &4& 课程报告撰写准确、无误(10%)
附:报告封面的基本格式如下:
课程名称:C语言程序设计
课程设计报告
专  业:&&&&&&&&&&&&&&&&&&
班  级:&&&&&&&&&&&&&&&&&&
姓  名:&&&&&&&&&&&&&&&&&&
学  号:&&&&&&&&&&&&&&&&&&
任课教师:&&&&&&&&&&&&&&&&&&
时  间:&&&&&&&&&&&&&&&&&&
报告的主要内容如下:
一、&& 课程设计的思路及设计过程
二、&& 课程设计中涉及的知识点
三、&& 课程设计中遇到的难点及解决办法
四、&& 小结
五、&& 附录源程序
&&&&&&&&&&&&&
&&&版权所有:&&&&

我要回帖

更多关于 c语言怎么写头文件 的文章

 

随机推荐