c++实验参考程序.docx
- 文档编号:11627202
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:42
- 大小:31.88KB
c++实验参考程序.docx
《c++实验参考程序.docx》由会员分享,可在线阅读,更多相关《c++实验参考程序.docx(42页珍藏版)》请在冰豆网上搜索。
c++实验参考程序
实验一简单的C程序
一、实验目的
1.了解所用的计算机系统。
2.了解在该系统上如何进行编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序了解C程序的特点。
二、实验要求
1.熟悉VC6开发环境;
2.按照规范正确写源程序
3.能得到正确的程序运行结果
三、主要仪器及耗材
计算机及VC6软件
四、实验内容与步骤
1.熟悉VisualC++的集成环境,了解各菜单项有哪些子菜单。
2.输入下面的程序(教材中的例1.1),注意区分大小写。
#include
voidmain()
{
printf("ThisisaCprogram.\n");
}
编译并运行程序。
3.新建一个程序,然后对教材中的例1.2重复4中的操作(即只将程序改为例1.2中的程序,其它操作步骤相同)。
#include
voidmain()
{
inta,b,sum;
a=123;b=456;
sum=a+b;
printf(“sumis%d\n”,sum);
}
4.新建一个程序,然后输入并运行一个需要在运行时输入数据的程序
#include
voidmain()
{inta,b,c;
intmax(intx,inty);
printf("inputaandb:
");
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("\nmax=%d",c);
}
intmax(intx,inty)
{intz;
if(x>y)z=x;
elsez=y;
return(z);
}
(1)运行程序,若程序有错,则修改错误后继续运行程序,当没有错误信息时输入:
2,5并按Enter键,查看运行结果。
(2)将程序的第三行改为:
inta;b;c;然后按F9看结果如何,将其修改为inta,b,c;将子程序max的第3,4行合并为一行,运行程序,看结果是否相同。
五、实验注意事项
1.应分析源程序,并注意运行结果是否为预期结果。
2.注意大小写及英文字符(ASCII码)
六、思考题
实验二顺序结构程序设计
一、实验目的
1.掌握printf()、scanf()基本输出、输入函数的格式及其主要用法。
2.熟练掌握顺序结构的程序设计。
二、实验要求
●熟悉VC6.0环境;
●按照编程风格要求正确写源程序
●能得到正确的程序运行结果
三、实验原理
C程序开步骤:
编辑源程序—>编译运行
四、主要仪器及耗材
计算机及VC6.0软件
五、实验内容与步骤
1.掌握各种格式输出符的使用方法。
(必做)
#include
voidmain()
{
inta,b;
floatd,e;
charc1,c2;
doublef,g;
longn,m;
unsignedp,q;
a=61;b=62;
c1='a';c2='b';
d=3.56;e=-6.87;
f=3156.890121;g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%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,n,p,q);
}
(1)运行此程序并分析运行结果。
(2)在此基础上,修改程序的第9-14行:
a=61;b=62;
c1=a;c2=b;
f=3156,890121;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析运行结果。
(3)将9-14行改为以下的scanf语句,即用scanf函数接收从键盘输入的数据:
scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);
运行程序(无错误的情况下)输入数据如下:
61,62,a,b,3.56,-6.87,3156,890121,0.123456789,50000,-60000,32768,40000
2.已知圆柱体横截面圆半径r,圆柱高h。
编写程序,计算圆周长l、圆面积s和圆柱体体积v,并输出计算结果(要求:
一个scanf语句输入r与h的值,要有输入提示)。
(必做)
参考程序:
#include“stdio.h”
#definePI3.14
voidmain()
{
floatr,h;
doublel,s,v;
printf(“inputr,h:
”);
scanf(“%f,%f”,&r,&h);
l=PI*2*r;
s=PI*r*r;
v=s*h;
printf(“l=%.2f,s=%.2f,v=%.2f”,l,s,v);
}
3.要将“China”译成密码,密码规律是:
用原来的字母后面第4个字母代替原来的字母。
例如,字母“A”后面第4个字母是“E”,用“E”代替“A”,因此,“China”应译为“Glmre”。
请编一程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为’C’,'h','i','n','a',经过计算,使c1、c2、c3、c4、c5分别变为:
'G','l','m',r','e',并输出.(选做)
程序提示:
main函数算法如下:
定义char型变量c1,c2,c3,c4,c5;
给字符型变量赋值
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
输出c1,c2,c3,c4,c5
#include"stdio.h"
voidmain()
{
charc1,c2,c3,c4,c5;
c1='C';c2='h';c3='i';c4='n';c5='a';
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf("%c%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
实验三选择结构程序设计
一、实验目的
1.了解C语言表示逻辑值的方法。
2.学会正确使用逻辑运算符和逻辑表达式的方法。
3.熟悉if语句和switch语句。
4.结合程序掌握一些简单的算法。
5.学习调试程序的方法。
二、实验要求
●熟悉VC6.0环境;
●按照编程风格要求正确写源程序
●能得到正确的程序运行结果
●本次实验分二次实验课完成,要求写一个实验报告,并于下次实验课上交。
三、实验原理
C程序开步骤:
编辑源程序—>编译运行
四、主要仪器及耗材
计算机及VC6.0软件
五、实验内容与步骤
1、输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
例:
括号内是说明
输入
60
输出
Pass
输入
59
输出
Fail
#include“stdio.h”
voidmain()
{intcj;
printf(“pleaseinputmathnumber:
”);
scanf(“%d”,&cj);
if(cj<60)printf(“Fail\n”);
elseprintf(“Pass\n”);
}
2.
用scanf函数输入x的值,求y的值。
程序提示:
main函数结构如下:
定义实型变量x与y
使用scanf函数输入x的值
ifx<1
y=x
else
ifx<10
y=2x-1
else
y=3x-11
输出x的值与y的值
#include“stdio.h”
voidmain()
{
floatx,y;
printf(“pleaseinputx:
”);
scanf(“%f”,&x);
if(x<1)
y=x;
else
if(x<10)
y=2*x-1;
else
y=3*x-11;
printf(“x=%f,y=%f\n”,x,y);
}
3、以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤,要求:
本题分别用if语句和switch语句实现。
[1]apples
[2]pears
[3]oranges
[4]grapes
输入水果的编号,输出该水果的单价(保留2位小数)。
如果输入不正确的编号,显示单价为
0。
例:
括号内是说明
输入
3(oranges的编号)
输出
[1]apples
[2]pears
[3]oranges
[4]grapes
price=4.10
(1)
#include“stdio.h”
voidmain()
{
intbh;
floatprice;
printf(“pleaseinputnumber(1-4):
”);
scanf(“%d”,&bh);
if(bh==1)price=3.0;
elseif(bh==2)price=2.5;
elseif(bh==3)price=4.1;
elseif(bh==4)price=10.2;
elseprice=0;
printf(“bh=%d”,price=%f\n”,bh,price);
}
(2)
#include“stdio.h”
voidmain()
{
intbh;
floatprice;
printf(“pleaseinputnumber(1-4):
”);
scanf(“%d”,&bh);
switch(bh)
{case1:
price=3.0;break;
case2:
price=2.5;break;
case3:
price=4.1;break;
case4:
price=10.2;break;
default:
price=0;
}
printf(“bh=%d”,price=%f\n”,bh,price);
}
4、输入三角形的三条边a,b,c,如果能构成一个三角形,输出面积area和周长perimeter(保
留2位小数);否则,输出“Thesesidesdonotcorrespondtoavalidtriangle”。
在一个三角形中,任意两边之和大于第三边。
三角形的面积计算公式:
aere*area=s(s-a)(s-b)(s-c)
其中:
s=(a+b+c)/2
例:
括号内是说明
输入
553
输出
area=7.15;perimeter=13.00
输入
114
输出
Thesesidesdonotcorrespondtoavalidtriangle
#include“stdio.h”
voidmain()
{
floata,b,c;
doublearea,per,s;
printf(“pleaseinputa,b,c:
”)
scanf(“%f%f%f”,&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{per=a+b+c;
s=per/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%.2f,per=.2f\n”,area,per);
}
elseprintf(“nottriangle!
”);
}
5、输入月薪salary,输出应交的个人所得税tax(保留2位小数),要求:
本题分别用if语句和switch语句实现。
(选做)
计算公式:
tax=rate*(salary-850)
当salary<=850时,rate=0;
当850 当1350 当2850 当5850 输入输出示例: Pleaseenterthesalary: 1010.87 tax=8.04 (1) voidmain() {intsalary; floatrate; doubletax; printf(“inputsalary: ”); scanf(“%d”,&salary); if(salary<=850)rate=0; else if(salary>850&&salary<=1350)rate=0.05; elseif(salary>1350&&salary<=2850)rate=0.1; elseif(salary>2850&&salary<=5850)rate=0.15; else rate=0.2; tax=salary*rate; printf(“salary=%d,rate=%f,tax=.3f\n”,salary,rate,tax); } (2)需修改题目。 #include“stdio.h” voidmain() {intsalary,cha; floatrate; printf(“inputsalary: ”); scanf(“%d”,&salary); cha=(salary-850)/500; if(salary>=5850)cha=10; switch(cha) {case-1: rate=0;break; case0: rate=0.05;break; case1: case2; case3;rate=0.1;break; case4: case5: case6: case7: case8: case9: rate=0.15;break; case10: rate=0.2; } tax=salary*rate; printf(“salary=%d,rate=%f,tax=.3f\n”,salary,rate,tax); } 实验四循环结构程序设计 (一) 一、实验目的 1.熟悉使用while语句,do-while语句和for语句实现循环的方法。 掌握在程序设计中用循环的方法实现一些常用算法(如累加等)。 。 2.学习调试程序的方法。 二、实验要求 ●熟悉VC6.0环境; ●按照编程风格要求正确写源程序 ●能得到正确的程序运行结果 ●使用断点方式进行程序调试。 ●本次实验计算机专业要求2学时内完成,非计算机专业要求3学时完成。 ●本次实验与实验五写一个实验报告 三、实验原理 C程序开步骤: 编辑源程序—>编译运行 四、主要仪器及耗材 计算机及VC6.0软件 五、实验内容与步骤 1.断点调试 1)分析本程序段,请用不同颜色标记出存在错误或不妥的地方。 2)本程序实现求1+1/2+1/3+…+1/10,修改本程序段,使之成为正确的程序。 3)在上机过程中熟悉断点调试。 #include intmain(void) { intk; doubles; k=0; s=0; do{ s=s+1/k; k++; }while(k==10); printf("s=%0.2ld\n",s); return0; } 2、读入1个正整数n(n<=50),计算并输出n! 。 例: 括号内是说明 输入 10 输出 3628800 #include voidmain() {lontjc; intn; printf(”inputn(1-50): ”); scanf(”%d”,&n); jc=1; for(i=1;i<=n;i++) jc*=i; printf(”n=%d,jiecheng=%ld\n”,n,jc); } 3.编程求1到n中能被3或7整除的数之和。 分别用for循环语句和while循环语句完成本题。 程序提示: for循环语句的主要算法如下: for(i=1;i<=n;i++) ifi能被3或7整除 sum=sum+i while循环语句的主要算法如下: while(i<=n) ifi能被3或7整除 sum=sum+i++; #include voidmain() {intn,sum,i; printf(”inputn: ”); scanf(”%d”,&n); sum=0;i=1; while(i<=n) {if(n%3==0||n%7==0)sum+=i; i++; } printf(”sum=%d”,sum); } 实验五循环结构程序设计 (二) 一、实验目的 1.熟练使用for、while和do-while语句实现循环程序设计 2.理解循环条件和循环体,及三种语句的异同处。 二、实验要求 ●熟悉VC6.0环境; ●按照编程风格要求正确写源程序 ●能得到正确的程序运行结果 ●使用断点方式进行程序调试。 ●本次实验与上次实验(实验4)写一个实验报告 ●此次实验4学时,2次课完成,如果上次实验未完成的同学,先完成上次实验后再做本实验。 三、实验原理 C程序开步骤: 编辑源程序—>编译运行 四、主要仪器及耗材 计算机及VC6.0软件 五、实验内容与步骤 1.程序填空。 求n! #include intmain(void) { intn,i=1; doublem; m=【1】; printf("请输入一个正整数: "); scanf("%d",&n); while(【2】) { m=【3】; i++; } printf("%d! =%g\n",n,m); return0; } 【1】: 1【2】: i<=n【3】: m*i 2、编写程序,输入整数n,求1+2! +……+n! 提示: 使用for循环,在for循环内先求出i! ,再将i! 累加到sum for() { t=i! ; sum=sum+t; } #include intmain(void) { doublesum,jc; inti,j,n; while (1) { printf("pleaseinputn(1-50): "); scanf("%d",&n); if(n>=1&&n<=50)break; } sum=0; for(i=1;i<=n;i++) { jc=1; for(j=1;j<=i;j++) jc*=j; printf("%d! =%f\n",i,jc); sum+=jc; } printf("1! 2! +...+%d! =%f\n",n,sum); return0; } 3、输入一个正整数n,再输入n个整数,输出最大值。 提示: 使用“打擂台算法”找出最大值 max=0;//先假设0为最大值 for() { 输入整数t 如果max } #include intmain(void) { intn,max,i,t; printf("pleaseinputn: (n>0)"); scanf("%d",&n); printf("t="); scanf("%d",&t); max=t; i=1; while(i<=n-1) {printf("t="); scanf("%d",&t); if(t>max)max=t; i++; } printf("max=%d\n",max); return0; } 实验六数组 (一) 一、实验目的 1.掌握一维数组与二维数组的定义、赋值及输入输出方法。 2.掌握字符数组和字符串函数的使用。 3.掌握与数组有关的算法(特别是排序算法) 二、实验要求 ●熟悉VC6.0环境; ●按照编程风格要求正确写源程序 ●能得到正确的程序运行结果 ●本次实验为3学时 ●要求写实验报告 三、主要仪器及耗材 计算机及VC6.0软件 四、实验内容与步骤 1、用选择法对10个整数排序,并对排序结果进行输出,要求10个整数用scanf函数输入。 程序提示: 输入10个整数存放到数组a的a[1]到a[10]中 输出10个数 for(i=1;i<10;i++) { min=i; for(j=i+1;j<=10;j++) if(a[min]>a[j])min=j; 交换a[i]与a[min] } 参考程序: #include"stdio.h" voidmain() { inta[11],i,j,t,min; printf("pleaseinput10number\n"); for(i=1;i<=10;i++)//输入元素值 scanf("%d",&a[i]); printf(“arrayabeforesort: \n”); for(i=1;i<=10;i++)//输出元素值 printf("%d",a[i]); printf("\n"); for(i=1;i<=9;i++)//选择法排序 {min=i; for(j=i+1;j<=10;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 实验 参考 程序