第2次上机内容

更新时间:2024-03-28 20:06:02 阅读量: 综合文库 文档下载

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

上机考试题

(1)编写一个程序,首先输入一个任意字符串,当输入1时,去掉该字符串最前面的“*”,输入2时,去掉字符串中间的“*”,输入3时,去掉最右端的“*”,输入4时,去掉该字符串中的全部“*”,输入5时,程序退出。(要求:5个子功能全部采用子函数来实现,字符串要求使用指针来进行操作) 大致要求:

请输入待处理字符串:*****add****bc****ccc***d***** ************************* * 1、去掉前面的* * * 2、去掉中间的* * * 3、去掉后面的* * * 4、去掉全面* * * 5、退出 * ************************** 请输入你的选择(1-5):1

结果字符串为:add****bc****ccc***d*****

************************* * 1、去掉前面的* * * 2、去掉中间的* * * 3、去掉后面的* * * 4、去掉全面* * * 5、退出 * ************************** 请再次输入你的选择(1-5):2

结果字符串为:*****addbccccd*****

*************************

* 1、去掉前面的* * * 2、去掉中间的* * * 3、去掉后面的* * * 4、去掉全面* * * 5、退出 * ************************** 请再次输入你的选择(1-5):3

结果字符串为:*****add****bc****ccc***d

************************* * 1、去掉前面的* * * 2、去掉中间的* * * 3、去掉后面的* *

* 4、去掉全面* * * 5、退出 * ************************** 请再次输入你的选择(1-5):4 结果字符串为: addbccccd

************************* * 1、去掉前面的* * * 2、去掉中间的* * * 3、去掉后面的* * * 4、去掉全面* * * 5、退出 * ************************** 请再次输入你的选择(1-5):5 程序退出中。。。。。。。。。。

课后习题

(1)编写一程序(应该有多个函数),允许从键盘输入任意多个英语单词(单词可以重复),中间用空格分开,输入0表示输入结束。该程序可以统计同一个英语单词被输入几次,最后对英文单词按字典顺序输出,后面跟上该单词被输入的次数。(提示,尝试用结构体组织数据,把单词和该单出现的次数用一个结构体来描述。

(2)键盘输入10个数(可能为整形、浮点型、双精度型及其字符类型),分别利用函数重载和函数模板,求出其中的最大值和最小值。 (1)#include #include using namespace std;

void sort_word(string word[100],int count); //声明函数 void deal_word(string word[100],int count); //声明函数 int main() { int i,count=0; string word[100];

for(i=0;i<100;i++) { cin>>word[i]; //输入单词 if(word[i]==\ break; count++; //统计输入单词数 } sort_word(word,count);

deal_word(word,count); return 0; }

void sort_word(string word[100],int count) //使单词按字母顺序排序 { int i,j,min=0; string temp; for(i=0;i

void deal_word(string word[20],int count) { int i,j=0,k=-1; int num[20]; for(i=0;i

//统计单词重复次数并输出 (2)#include #include using namespace std;

template //模板声明,其中T为类型参数 T max(T num[10]); //定义一个通用函数

template //模板声明,其中T为类型参数 T min(T num[10]); //定义一个通用函数 int main() { int i; int num_int[10],int_max,int_min; float num_float[10],float_max,float_min;

double num_double[10],double_max,double_min; char num_char[10],char_max,char_min; cout<<\输入十个任意相同类型的数:\ for(i=0;i<10;i++) cin>>num_int[i]; int_max=max(num_int); int_min=min(num_int);

cout<<\最大值为\ 最小值是\ //整形数的输出

for(i=0;i<10;i++) cin>>num_float[i]; float_max=max(num_float); float_min=min(num_float); cout<<\最大值为\ 最小值是\ //浮点数的输出

for(i=0;i<10;i++) cin>>num_double[i]; double_max=max(num_double); double_min=min(num_double); cout<<\最大值为\ 最小值是\双精度型数的输出

for(i=0;i<10;i++) cin>>num_char[i]; char_max=max(num_char); char_min=min(num_char); cout<<\最大值为\ 最小值是\字符数的输出 return 0; }

template //找出十个数中的最大值 T max(T num[10]) {

int i;

T max_=num[0]; for(i=0;i<10;i++) { if(num[i]>max_) max_=num[i]; } return max_; }

template T min(T num[10]) {

int i;

T min_=num[0]; for(i=0;i<10;i++) { if(num[i]

//找出十个数中的最小值

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

Top