C语言程序设计实验报告25 27.docx
- 文档编号:4753563
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:17
- 大小:74.12KB
C语言程序设计实验报告25 27.docx
《C语言程序设计实验报告25 27.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验报告25 27.docx(17页珍藏版)》请在冰豆网上搜索。
C语言程序设计实验报告2527
C语言程序设计实验报告
专业计算机科学与技术班级日期2014.4.12成绩
第3次实验指导教师李开
学生姓名学号
实验名称编绎预处理实验数组实验
一、实验目的
2.5
(1)掌握文件包含、宏定义、条件编译、assert宏的使用
(2)练习带参数的宏定义、条件编译的使用
(3)练习assert宏的使用
(4)使用集成开发环境中的调试功能:
单步执行,设置断点,观察变量值
2.7
(1)掌握数组的说明、初始化和使用
(2)掌握一维数组作为函数参数时实参和形参的用法
(3)掌握字符串处理函数的设计,包括串操作函数及数字串与数之间转换函数的实现算法
(4)掌握基于分治策略的二分查找算法和选择法排序算法的思想,以及相关算法的实现
二、实验任务
2.5
1.源程序改错
2.源程序修改替换
3.跟踪调试程序
4.程序设计
2.7
1.源程序改错
2.源程序完善、修改、替换
3.跟踪调试源程序
4.程序设计
三、实验步骤及结果
(要求给出源程序和程序运行结果。
另外,根据实验内容,记录编辑、编译、链接、调试程序的操作过程和实验现象)
2.5
1.
此题发现定义SWAP发生明显错误,a,b没有实现数值互换,在int输入的时候没有b,两个%d之间不需要“,”隔开,反复调试,得到正确的程序。
#include
#defineSUMa+b
#defineDIFa-b
#defineSWAP(a,b)t=a,a=b,b=t
intmain(void)
{
inta,b,t;
printf("Inputtwointegersa,b:
");
scanf("%d%d",&a,&b);
printf("\nSUM=%d\nthedifferencebetweensquareofaandsquareofbis:
%d",SUM,SUM*DIF);
SWAP(a,b);
printf("\nNowa=%d,b=%d\n",a,b);
return0;
}
2.
(1)
此题将源程序输入后,没有头文件以及没有对sum函数的声明,另外%d和%f之间不存在“,”
#include
floatsum(floatx,floaty);
voidmain(void)
{
inta,b,c;
floatd,e;
printf("Enterthreeintegers:
");
scanf("%d%d%d",&a,&b,&c);
printf("\nthemaximumofthemis%d\n",max(a,b,c));
printf("Entertwofloatingpointnumbers:
");
scanf("%f%f",&d,&e);
printf("\nthesumofthemis%f\n",sum(d,e));
return0;
}
intmax(intx,inty,intz)
{
intt;
if(x>y)
t=x;
else
t=y;
if(t t=z; returnt; } floatsum(floatx,floaty) { returnx+y; } (2) #include #defineMAX(a,b,c)(a>=b)? ((a>=c)? (a=a): (a=c)): ((b>=c)? (a=b): (a=c)) floatsum(float,float); intmain(void){ inta,b,c; floatd,e; printf("Enterthreeintegers: "); scanf("%d%d%d",&a,&b,&c); printf("\nthemaximumofthemis%d\n",MAX(a,b,c)); printf("Entertwofloatingnumbers: "); scanf("%f%f",&d,&e); printf("\nthesumofthemis%.3f\n\n",sum(d,e)); return0; } floatsum(floatd,floate){ returnd+e; } 3 (1) #include #include #defineR intinteger_fraction(float); intmain(void){ floatr,s; ints_integer=0; printf("Inputanumber: "); scanf("%f",&r); #ifdefR s=3.1415926*r*r; printf("Areaofroundis: %f\n",s); s_integer=integer_fraction(s); printf("Theintegerfractionofareais%d\n",s_integer); assert((s-s_integer)<1.0); #endif return0; } intinteger_fraction(floatx){ return(int)(x); } (3) #include #include #defineR intinteger_fraction(float); intmain(void){ floatr,s; ints_integer=0; printf("Inputanumber: "); scanf("%f",&r); #ifdefR s=3.1415926*r*r; printf("Areaofroundis: %f\n",s); s_integer=integer_fraction(s); printf("Theintegerfractionofareais%d\n",s_integer); assert((s-s_integer)<1.0); #endif return0; } intinteger_fraction(floatx){ inti=x; returni; } 4 (1) #include #include #defines(a,b,c)(a+b+c)/2 #definearea(a,b,c)sqrt(s(a,b,c)*(s(a,b,c)-a)*(s(a,b,c)-b)*(s(a,b,c)-c)) intmain(void){ floata,b,c; printf("Pleaseinputthethreesidesofthetriangle: "); while(scanf("%f%f%f",&a,&b,&c)! =3||! (a+b>c&&fabs(a-b) } printf("Theareaofthetriangleis%f\n",area(a,b,c)); return0; } (2) #include #include #include #defineMAX100 #defineCHANGE1 #ifCHANGE==1 voidfuc(char*str){ inti; for(i=0;i if(str[i]>='a'&&str[i]<='z'){ str[i]=str[i]-32; } elseif(str[i]>'A'&&str[i]<='Z'){ str[i]=str[i]+32; } } } #elifCHANGE==0 voidfuc(char*str){} #endif intmain(void){ char*str; str=(char*)malloc(sizeof(char)*MAX); printf("Pleaseinputyourstring: "); scanf("%s",str); fuc(str); printf("Stringis: %s\n",str); return0; } 2.7 1 #include voidsort(int*,int); intmain(void){ inta[10]={27,13,5,32,23,3,17,43,55,39}; inti; sort(a,10); for(i=0;i<10;i++){ printf("%6d",a[i]); } printf("\n"); return0; } voidsort(int*a,intn){ inti,j,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计实验报告25 27 语言程序设计 实验 报告 25
![提示](https://static.bdocx.com/images/bang_tan.gif)