C++练习题目

更新时间:2023-10-01 18:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1: 日期结构体操作

作者: Turbo时间限制: 1S章节: OO:其它

问题描述 : 声明一个结构体类型Date,包括年月日,即一个日期类型的结构体。

设计一个程序,完成以下对日期的操作,包括以下函数:

Date AddDay(Date d, int days):对日期增加days天数,然后返回得到的日期

Date AddMonth(Date d, int months):对日期增加months月数,然后返回得到的日期

Date AddYear(Date d, int years):对日期增加years年数,然后返回得到的日期

int Subtract(Date d1, Date d2):用d1-d2,计算它们相距的天数,作为函数值返回

GetWeekDay:输入参数为Date类型,返回该日期是星期几。星期几最好用枚举表示,也就是返回一个枚举类型的值。

程序输出相应计算结果。

输入说明 : 程序包含多组输入,每组测试数据包含两行,第一行用一个整数(1到5)指定需要完成的操作,含义如下: 1:AddDay 2:AddMonth 3:AddYear 4:Subtract

5:GetWeekDay

第二行为该操作需要的数据。 比如输入: 1

2016 1 1 31

表示将进行AddDay操作,输入日期为2016年1月1日,加31天。 程序输出结果日期,按年月日格式输出,中间以一个空格分隔。

其它各操作的输入方式见范例。

输出说明 : 程序输出相应计算结果。

对于AddDay、AddMonth、AddYear三种操作,输出结果日期,按年月日格式输出,中间以一个空格分隔。

对于Subtract,结果仅输出一个整数,表示相距的天数。

对于GetWeekDay,输出的结果为日期对应的星期名称,如果为星期一则输出“Monday”,如果为星期二则输出“Tuesday”,其余的对应输出为:“Wednesday”、“Thursday”、“Friday”、“Saturday”、“Sunday”。输出的结果不包含引号,注意输出的大小写。

每组输出占一行,行首与行尾无多余空格,所有地方无多余空行。

输入范例 : 12000 2 28 2022000 1 31 332000 1 31 142016 3 8 2016 2 842016 1 8 2016 2 852016 3 8 输出范例 : 2000 3 192000 4 302001 1 3129-31Tuesday

2 函数的重载、默认形参练习

作者: Turbo时间限制: 1S章节: OO:其它

问题描述 : 内容:对于字符串,实现以下函数,并编写main函数测试这些函数:

padLeft函数:

功能:将一字符串左填充(在左边填充指定字符)至n个字符的长度,可指定填充字符,比如填充“*”,如果不指定填充字符,则填充空格。 提示:为实现以上功能,函数原型可为:

?

void padLeft(char string1[], char string2[], int n, char padding=' ') 或:

string padLeft(string string1, int n, char padding=' ') 这里使用了默认形参。

string1是原字符串,string2是填充之后的结果。

以下函数都不规定函数原型,请自行设计。

函数:

功能:将一字符串右填充至n个字符的长度,可指定填充字符,比如填充“*”,如果不指定填充字符,则填充空格。

?

padRight

cpy函数:

功能:从第一个字符串复制字符到第二个字符串。可指定复制的起始位置和结束位置,即从startIndex到endIndex之间的所有字符都复制到第二个字符串中。startIndex默认为0, endIndex默认为到字符串尾部。 比如,

cpy(src, dest): 将src的所有字符都复制到dest

cpy(src, dest, 3):将src从下标为3的位置直到结尾的所有字符都复制到dest cpy(src, dest, 3, 5):将src的第3、4、5个字符复制到dest中

?

remove函数:

从形参传入一个字符,将该字符从字符串中删除。

?

remove函数:

从形参传入一个下标index,将index处的字符从字符串中删除。

?

remove函数:

从形参传入两个下标startIndex和endIndex,将从startIndex到endIndex范围内的字符从字符串中删除。

?

main函数可参考以下代码编写: int main() {

int num, length, index, startIndex, endIndex; char padding, delChar; string src, dest;

while(cin >> num) {

switch(num) { case 11:

cin >> src >> length;

cout << padLeft(src, length) << endl;

break; case 12:

cin >> src >> length >> padding;

cout << padLeft(src, length, padding) << endl; break; case 21:

cin >> src >> length;

cout << padRight(src, length) << endl; break; case 22:

cin >> src >> length >> padding;

cout << padRight(src, length, padding) << endl; break; case 31: cin >> src;

cout << cpy(src) << endl; break; case 32:

cin >> src >> startIndex;

cout << cpy(src, startIndex) << endl; break; case 33:

cin >> src >> startIndex >> endIndex;

cout << cpy(src, startIndex, endIndex) << endl; break; case 41:

cin >> src >> delChar;

cout << remove(src, delChar) << endl; break; case 42:

本文来源:https://www.bwwdw.com/article/intd.html

Top