22.return0;
23.}
24.本程序采用了分支选择结构和if结构混编,因价格选择方式>50元时排列较不规律,所以大于50元时使用的if语句作为判断。
实验__5__实验报告
教学班级:
32学生学号:
学生姓名:
柳冬玉
实验日期:
2010.04.08实验地点:
7308(机房)
指导教师签名:
__________实验成绩:
___________
一、实验目的
1.掌握“处理某一或某些操作需要被有条件地重复执行”的编程思路和方法;
2.掌握“当型型循环结构”算法的实现语句之一while循环语句的使用方法;
3.掌握“直到型循环结构”算法的实现语句do-while循环语句的使用方法;
4.掌握“当型型循环结构”算法的实现语句之一for循环语句的使用方法。
二、实验任务
1.计算1-2+3-4+…+99-100。
2.输入一个整数,将各位数字反转后输出。
三、实验结果(源程序+注释)
任务1:
1.#include
2.usingnamespacestd;
3.intmain()
4.{
5.inti,sum=0,k=1;
6.for(i=1;i<=100;i++)
7.{
8.sum+=i*k;
9.k*=-1;k每循环一次变换一次符号,初始符号为正
10.}
11.cout<<"1-2+3-4.....99-100="<12.return0;
13.}
截屏:
任务2:
1.#include
2.usingnamespacestd;
3.intmain()
4.{
5.chars[20];
6.inti,a=1,sum=0;
7.cout<<"请输入数字(限10位自然数):
";
8.cin>>s;
9.for(i=0;s[i]!
=0;i++)
10.if(s[i]>='0'&&s[i]<='9')为数字
11.continue;
12.else
13.{
14.cout<<"请输入数字!
请重新输入:
"<15.cin>>s;
16.break;
17.}该for循环用于判断s中是否为纯数字
18.for(i=0;s[i]!
=0;i++)
19.{
20.sum+=((s[i]-48)*a);s[i]转换成数字后与位数相乘,然后加至sum
21.a*=10;a作为位数标识每次自乘10
22.}
23.cout<<"反转后:
"<24.return0;
25.}
实验__6__实验报告
教学班级:
32学生学号:
学生姓名:
柳冬玉
实验日期:
2010.04.08实验地点:
7308(机房)
指导教师签名:
__________实验成绩:
___________
一、实验目的
1.掌握循环与选择结构的嵌套的使用方法;
2.掌握嵌套循环的使用方法;
3.练习continue和break语句的使用方法。
二、实验任务
1.求两个整数的最大公约数和最小公倍数。
2.用循环结构语句编程并输出下图:
*
**
**
**
**
**
*
三、实验结果(源程序+注释)
任务1:
1.#include
2.usingnamespacestd;
3.intmain()
4.{
5.inti,a,b,t,xa=1,xb;xa为最小公倍数,xb为最大公约数
6.cout<<"请输入两个数:
";
7.cin>>a>>b;
8.if(a>b){t=a;a=b;b=t;}将a,b中大者放后
9.for(i=ba;xa%b!
=0;i++)
10.xa=a*i;自ba开始,倍数自增1与a相乘,若所得之数整除b,则为最小公倍数
11.for(xb=a;((b%xb==0)&&(a%xb==0))==0;xb--);自a开始自减,若a,b均可被整除,则为最大公约数
12.cout<<"最小公倍数为:
"<13.cout<<"最大公约数为:
"<14.return0;
15.}
任务2:
1.#include
2.#defineN4N为前三角的行数,可更改为其他数值
3.usingnamespacestd;
4.intmain()
5.{
6.inti=1,j,k;
7.for(j=1;j<=N-i;j++)cout<<"";
8.cout<<"*"<9.for(i=2;i<=N;i++)
10.{
11.for(j=1;j<=N-i;j++)cout<<"";
12.cout<<"*";
13.for(k=1;k<=2*i-3;k++)cout<<"";
14.cout<<"*"<15.}输出前三角,以空格星号空格星号的格式输出
16.for(i=N-1;i>=2;i--)
17.{
18.for(j=1;j<=N-i;j++)cout<<"";
19.cout<<"*";
20.for(k=1;k<=2*i-3;k++)cout<<"";
21.cout<<"*"<22.}以同样格式输出后三角,i循环方式倒序
23.for(j=1;j<=N-i;j++)cout<<"";
24.cout<<"*"<25.return0;
26.}
实验__7__实验报告
教学班级:
32学生学号:
学生姓名:
柳冬玉
实验日期:
2010.04.15实验地点:
7308(机房)
指导教师签名:
__________实验成绩:
___________
一、实验目的
1.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法;
2.掌握数值型一维数组的使用方法;
二、实验任务
1.输入n个数,找出所有大于n个数的平均值的那些数及最小数。
2.设有有序(值从小到大)的两组数据,将这两组数据有序合并(合并过程数据始终保持有序)。
(提示:
两组原始数据用一维数组a,b表示,合并后的数据用一维数组c表示,ia,ib分别代表当前待放入到数组c中去的数组a,b的下标,ic指向数组c中当前存放数据的下标,如下图所示。
)
三、实验结果(源程序+注释)
任务1:
1.#include
2.usingnamespacestd;
3.intmain()
4.{
5.doubleaverage=0;
6.inta[100],min,i,n;
7.cout<<"请输入n的值(n<=100):
";
8.cin>>n;
9.cout<<"请输入数据:
"<10.for(i=0;i11.{
12.cin>>a[i];
13.cout<<"第"<
"<14.}
15.min=a[0];
16.for(i=0;i17.{
18.average+=a[i];
19.if(a[i]20.}遍历相加以求出平均数及最小值
21.average=averagen;
22.cout<23.for(i=0;i24.{
25.if(a[i]>average)
26.cout<<"第"<
"<27.}
28.cout<<"最小值为"<29.return0;
30.}
任务2:
1.#include
2.usingnamespacestd;
3.intmain()
4.{
5.inta[10]={130},b[8]={},c[18];
6.intai,bi,i;
7.for(ai=0,bi=0,i=0;ai<10||bi<8;i++)
8.{
9.if(a[ai]>b[bi])依次判断,若b中目前值小于a,则取b值,且b下标自增1,a下标不变
10.{c[i]=b[bi];bi++;}
11.else同理
12.{c[i]=a[ai];ai++;}
13.}
14.for(i=0;i<18;i++)
15.cout<16.return0;
17.}
实验__8__实验报告
教学班级:
32学生学号:
学生姓名:
柳冬玉
实验日期:
2010.05.13实验地点:
7308(机房)
指导教师签名:
__________实验成绩:
___________
一、实验目的
1.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法;
2.掌握二维数值型数组的使用方法;
二、实验任务
1.输出以下杨辉三角形。
1
11
121
1331
14641
15101051
1615201561
172135352171
18285670562881
193684126126843691
2.有一个34的矩阵,要求编程序找出每一行中值最大的那个元素并与该行第1列的元素交换。
三、实验结果(源程序+注释)
任务1:
1.#include
2.usingnamespacestd;
3.#defineN10预定义杨辉三角形的行数
4.voidset()编写为无返回值函数,可自由调整输出数据占位
5.{
6.cout.width(6);
7.}
8.voidcoutspace(inta)输出a个空格
9.{
10.inti;
11.for(i=0;i12.}
13.intmain()
14.{
15.inta[N*(N+1)2],i,j,k;由行数计算得出需要的总个数
16.coutspace((N-1)*4);每字符占4格,第一行前插入空格
17.a[0]=1;set();cout<18.for(i=1,k=1;i19.{
20.coutspace((N-i-1)*4);每字符占4格,输出数据前空格
21.a[k]=1;set();cout<22.k++;
23.for(j=1;j
24.{
25.a[k]=a[k-i]+a[k-i-1];由上一行两数相加计算得出
26.set();cout<<""<27.k++;
28.}
29.a[k]=1;set();cout<<""<30.k++;
31.}
32.return0;
33.}
任务2:
1.#include
2.usingnamespacestd;
3.intmain()
4.{
5.inta[3][4],i,j,k,max,t;
6.for(i=0;i<3;i++)
7.{
8.for(j=0;j<4;j++)
9.{
10.cout<<"请输入第"<
"<