本文主要是介绍NJUPT面向对象程序设计及C++mooc编程(第七章)--by sCh3n,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
来啦来啦第七章的编程题来辽
第一题
定义函数模板int Search(T list[],int n,T key);实现在在数组list的前n个元素中查找关键字key,若找到,返回对应元素下标,否则返回-1(10分)
题目内容:定义函数模板int Search(T list[],int n,T key);实现在在数组list的前n个元素中查找关键字key,若找到,返回对应元素下标,否则返回-1
提示:
(1)主函数中分别定义包含5个元素的整型数组a:
int a[5]={1,2,3,4,5};和包含5个实型元素的数组b:
double b[5]={1.1,2.2,3.3,4.4,5.5};
代码
#include<iostream>
using namespace std;
template <class T>
int Search(T list[],int n,T key)
{for (int i = 0; i <= n; i++){if (list[i]==key){cout<<"The index of "<<key<<" is:"<<i<<endl;return i;}}cout<<"No found "<<key<<endl;return -1;
}
int main()
{int a[5]={1,2,3,4,5},s_a=0;double b[5]={1.1,2.2,3.3,4.4,5.5},s_b=0;cin>>s_a>>s_b ;Search(a,5,s_a);Search(b,5,s_b);
}
第二题
用 C++ 语言的编程风格编写两个函数模板。(10分)
题目内容:
用 C++ 语言的编程风格编写两个函数模板:
(1)void bubble_sort(T a[], int num); 功能:用冒泡排序法对数组a中的num个元素进行升序排列。
(2)void print(T a[],int num) ; 功能:输出数组a中的num个元素值,输出所有元素结束后换行
主函数中定义两个数组:
int a[6]; 和 double b[7];
数组的元素由键盘读入,无输入提示。然后调用以上两个函数实现程序的功能。
代码
#include<iostream>
using namespace std;
template <class T>
void bubble_sort(T a[], int n)
{for(int i=0;i<n-1;i++){for(int j=0;j<n-i-1;j++){if(a[j]>a[j+1]){T tmp=a[j];a[j]=a[j+1];a[j+1]=tmp; }}}
}
template <class T>
void print(T a[],int num)
{for (int i=0;i<num;i++) cout<<a[i]<<endl;
}
int main()
{int a[6];double b[7];for(int i=0;i<6;i++)cin>>a[i];for(int i=0;i<7;i++)cin>>b[i];bubble_sort(a,6);bubble_sort(b,7);print(a,6);print(b,7);}
这篇关于NJUPT面向对象程序设计及C++mooc编程(第七章)--by sCh3n的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!