实验一 C++开发环境与程序设计步骤(6)

2019-01-26 14:55

} 思考:

? 将A行改为下列程序段:

int n; cin>>n; int a[n]”

观察运行结果?分析原因。

? 将B行改为“for(i=1;i<=10;i++)”,观察现象。 2.应用二维数组打印如图5-1所示杨辉三角形。

分析:由杨辉三角形可以看出每行数存在以下规律:每行数据的个数与行序相同;每行的第一个数和最后一个数均为1;中间的数为上一行同一列的数和其前一列的数之和。

解:

1

#include

1 1

void main()

1 2 1

{

1 3 3 1

int y[5][5];

1 4 6 4 1

int i,j,n=5;

图5-1 杨辉三角形

for(i=0;i

{

}

for(i=0;i<=8;i++) { for(j=i+1;j<=9;j++)

{ if(a[i]

{

t=a[i]; a[i]=a[j]; a[j]=t; } } }

cout<<\排序结果为:\

for(i=0;i<=9;i++) cout<<\

y[i][i]=1; y[i][0]=1;

}

1 for(i=2;i

? 添加语句输出如图5-2所示杨辉三角形。

3.从键盘输入两个字符串,将它们连接成一个字符串。

分析:建立两个变量i、j,先使i指向字符数组str1的第一个元素,然后移动i使其指向str1的末尾,即指向str1的最后一个元素‘\\0’;再使j指向字符数组str2的第一个元素,然后将str2中的元素分别赋给str1中相应位置的元素,直到str2结束为止,即j指向str2的最后一个元素‘\\0’;最后在str1的末尾添加一个结束标志‘\\0’。

程序如下: 解:

#include void main(void) {

char str1[40],str2[20]; //定义字符数组str1、str2 int i,j;

cout<<\输入二个字符串:\ cin.getline(str1,20); //输入字符串1到str1中 cin.getline(str2,20); //输入字符串2到str2中 i=0; //使i指向str1的第一个元素 while (str1[i]!='\\0') //判断str1是否结束 i++; //str1没有结束,使i指向下一个元素

j=0; //使j指向str2的第一个元素 while (str2[j]!='\\0') //判断str2是否结束 {

str1[i]=str2[j]; //str2没有结束,将str2[j]赋给;str1[i] i++; //使i指向str1的下一个元素

j++; //使j指向str2 的下一个元素 }

str1[i]='\\0'; //在str1末尾添加结束标志‘\\0’ cout<

4.编程序将输入的字符串删去空格后输出。

分析:逐个读取每个字符,若为空格将其后面的字符和字符串结束标志前移一位,再从该位置开始,重复上述操作,直到字符串结束。

解:

#include void main() { char str[]=\ //A int i=0,j; while(str[i]!=NULL)

{ if(str[i]==' ')

{ //B

j=i; while(str[j]!=NULL)

{

str[j]=str[j+1]; j++; } } i++; } cout<

? 将程序中A行的“\”用“'”改写,观察现象。 ? 将程序中B行的“'”用“\”改写,观察现象。 ? 将程序中C行改写为:

for(j=1;str[j]!=NULL;j++,cout<

? 编程序将输入字符串中出现的字符除空格外,按从大到小的顺序输出(每个字符只输出一次)。

(二)完成实验项目

1.编程实现将一十进制整数M转换为D进制数。

2.已知一int a[20]数组,编程将值为偶数的元素移到数组前端,值为奇数的元素移到数组后端。(要求元素比较、移动次数尽量最少)

3.求S?1?4?7?10?13???n,其中n≥20。 4.某班有10个学生,进行了“数学”、“语文”、“英语”、“C++语言”等科目的考试,编写程序: (1) 将考试成绩输入一个二维数组;

(2) 求每门课的平均成绩、每门课的不及格学生的人数及每门课的最高分与最低分; (3) 求每个学生的平均成绩、总分、不及格门数; (4) 按学生平均成绩的高低排序并输出。 5.设计一个程序,打印杨辉三角形。(使用其它方法)

6.编写程序,实现str=str1+str2的操作,此处运算符“+”表示将二个字符串str1、str2连接成一个字符串str。用键盘将二个字符串输入字符数组str1与str2中,连接后的字符串存放在字符数组str中,并输出连接后的字符串str。

471013n四、课后作业

1. 设A、B、C为m行n列矩阵。设计矩阵加法程序,能完成C=A+B的操作。m与n用define定义为常量,其值由用户自定义。

2. 已有一按从小到大次序排序好的数组,现输入一数,要求用折半查找法找出该数在数组中的位置。 3. 撰写实验报告。

五、实验机时

4个标准学时。

实验六 函数调用

一、目的和要求

1.了解函数的定义方法,理解函数的调用; 2.初步掌握函数的递归、嵌套调用;

3.了解函数调用的实参与形参的传递,以及参数默认值的设置。 4.学习并了解重载函数、内联函数的基本概念。

二、实验设备及分组

1. Windows2000以上操作系统; 2. Visual C++6.0语言环境; 3. 每人一台PC机。

三、内容和步骤

(一)验证实验程序

1.编写一个函数,用递归的方法求1+2+3+4+?+n的值。在主函数中进行输入输出。 解:

#include int fun(int n) { int z; if(n<=0) z=0; else z=n+fun(n-1); return(z);

}

void main(void) { int x,sum; cout<<\请输入X的值\ cin>>x; sum=fun(x); cout<<\求和结果为:\

}


实验一 C++开发环境与程序设计步骤(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司组织外出旅游的通知 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: