C++编程基础训练

  • 格式:pdf
  • 大小:80.71 KB
  • 文档页数:3

一、阅读程序写出结果:
#include
using namespace std;
int main()
{int x,y,z,t;
x=y=z=1;
t=++x || ++y && ++z;
cout<<"x="< int a=5,b=6,c=7,d=8,m=2,n=2;
if ((m=a>b) && (n=c>d)) cout<<"*****"< cout<<"n="< int i;
static int sum1;
int sum2;
for(i=1;i<=5;i++) sum1+=i; sum2+=i;
cout<<"sum1="< return 0;
}

二、编程基础训练题:
1、......9817615413211−×+×−×+×−=S参加公式计算的每项的绝对值都
大于等于1e-4。计算并输出S的值,并要求一行五个数(每个数宽
为15),显示出每项的值。
2、从使用char数据类型,从键盘输出一行字符,统计出其中的这一
行中字母的个数、数字的个数、空格的个数、其他字符的个数并输出
统计结果。
3、使用string数据类型,从键盘输入一个字符串(可含空格),要求:
(1)输出这个字符串;
(2)统计这个字符串的个数;
(3)倒向输出这个字符串。

4、计算直到n=40为止的值,一行输
出4个数。使用递归函数编写程序。


>==−+−=)2()2()1()2()1(11)(nnnnfnf
nf

5、程序功能:定义一个五个整数组的一维数组,通过编写五个函数
input函数输入五个整数,sort1函数用于排序(冒泡法排序),output1
函数升序输出,sort2函数排序(选择法排序),output2函数降序输出。
6、求m,n最大公约数和最小公倍数,要求:(1)编写一个函ov数

1
int f1(int, int)(形参是两个指针变量,用于判断如果m换的功能,使得实参m与n的值互换);(2)再编一个函数void s(int
*,int *)用来求解m,n最大公约数,返回这个值。(3)主函数中输入
m,n的值,调用两个函数并计算出m,n最大公约数和最小公倍数。
7、编写链表程序:
st

snoscore[0]score[1]score[2]
intfloatfloatfloat
学号英语计算机数学

score

headcp
…………
(1)在函数外声明结构体类型st;
(2)在main函数中调用相应的函数完成下列四个功能的操作:
(3)input函数功能,用于输入五个学生信息(结点)的动态链表。
在main函数中通过调用print函数输出整个新链表。
(4)print函数功能,根据头指针,用于输出从头指针开始的整个链
表。在main函数中通过调用print函数输出整个链表的值。
(5)insert函数功能:从键盘输入一个动态新结点,必须插入在倒
数第1个之前,作为倒数第2个。在main函数中通过调用print函
数输出整个新链表;
(6)swaphead函数功能:将原链表的第1个结点与第2个结点互
换形成新链表。在main函数中通过调用print函数输出整个新链表。

8、使用类及构造函数,求解一元二次方程
,私

有数据成员是int a,int b,int c,构造函数的形参及默认值是int
x=1,int y=2,int z=3。公用的成员函数名为calc()用于根据私有数据成

员a,b,c判断求得三个解。分别三种情况定义三个对
象并输出结果:(1)默认值(2)1,4,4(3)2,5,-3。

02=++cbxax


<Δ=Δ>Δ−=Δ0
00,4
2
acb

三、思考题:
1、 求倍数;
2、 两数互换;
3、 求若干个数中的最大值;
4、 求素数;
5、 求水仙花数

2
6、 成绩分档使用if和switch完成;
7、 for,while,do ~while三个循环语句的互换;
8、 采用数组a中的string字符串数组对字符串进行输入、排序(按
字符串从小到排序)、输出;
9、 采用数组的方式对一个字符串string类型的中字符进行输入且计
数、排序(按字符从小到排序)、输出;
10、采用结构体数组student,其中含有三个域int num;string
name;float score;进行输入、排序(按成绩从小到大排序)、输出。
11、采用类stclass含有结构体数组student,student有三个域int
num;string name;float score;进行输入、排序(按成绩从小到大排
序)、输出。

3