1、不使用数组,实现让用户输入10个数,然后输出其中最大值 2、同1,但要求使用数组。 既然是两个小题,我们就分别写两个函数吧。 //不使用数组的例子 void max1 o cout<"请输入10个数(每个数输入后加回车)"<endl nt N. n cout<"第1个数:" cin>>N for(int i =1: 1<10: i++) cout<<"第”<<i+1<"个数:" cin>>n if(n>N cout<<"最大值为:"<<N<<endl; system(" PAUSE");//让控制台系统暂停。相当于我们以前的cin.getO或 getchar0
1、不使用数组,实现让用户输入 10 个数,然后输出其中最大值。 2、同 1,但要求使用数组。 既然是两个小题,我们就分别写两个函数吧。 //不使用数组的例子: void max1() { cout << "请输入 10 个数(每个数输入后加回车)" << endl; int N,n; cout << "第 1 个数:" : cin >> N; for(int i = 1; i<10; i++) { cout << "第" << i+1 << "个数:" ; cin >> n; if( n > N) N = n; } cout << "最大值为:" << N << endl; system("PAUSE"); //让控制台系统暂停。相当于我们以前的 cin.get()或 getchar(); }
//使用数组的例子 void max2O cout<<"请输入10个数(每个数输入后加回车)”<<endl int n[10] int N for(int i =0: i<10: i++) cout<<"第”<<i+1<<"个数:"; N=n[0] for(int i=1: 1<10: i++) if(n[i> N cout<<"最大值为:"<<N<<endl system(" PAUSE");//让控制台系统暂停。 这样就完成了求最大值实例,如果是要求求最小值呢?改动仅在于那个if判断条件:
//使用数组的例子: void max2() { cout << "请输入 10 个数(每个数输入后加回车)" << endl; int n[10]; int N; for(int i = 0; i<10; i++) { cout << "第" << i+1 << "个数:"; cin >> n[i]; } N = n[0]; for(int i=1; i<10; i++) { if(n[i] > N) N = n[i]; } cout << "最大值为:" << N << endl; system("PAUSE"); //让控制台系统暂停。 } 这样就完成了求最大值实例,如果是要求求最小值呢?改动仅在于那个 if 判断条件: ……
N=n[O];//一开始假设第一个元素就是最小值 for if(n[i]<N)〃/如果有元素比我们假设的最小值还小,那就让最小值等于它吧 N=nli]: 这套题目我没有提供实际代码,大家找开CB自已完成吧。重要的是,在调通程序之后,认 真地比较两种处理方法之间的异同。 结论应该是:“算法的抽象逻辑是一样的,只是用在于不同的数据结构上,会有不同的实现”。 前者只使用简单的数据类型,所以它不得不在一边输入的情况下,一边求最大值:而后者采用 了数组,所以可以从容地先完成输入工作,然后再求最大值 当算法经较复杂时,采用良好的数据结构的重要性就开始体现,比如下面的排序,我们必须 使用数组或其它更复杂的数据。否则就实现不了。 18.2将数组元素排序 排序,一个经典教学课程 排序,一个在超高频的实用算法。 第一点是说,我们必须去学。第二点是说,像这样一个实用算法以,事实上C,C++肯定都为 我们写好了,以库函数等形式提供给我们使用,而且,这些写好的代码,肯定是最优秀的实现。 可是我们还是要学,而且是从最笨“冒泡算法”学起。所谓的最笨,是指效率差的 学习的原因:1、前面说了,为了锻炼我们的逻辑思维。2、为了在某些时候,我们可以对排 过程做更多的控制
N = n[0]; //一开始假设第一个元素就是最小值 for(……) { if (n[i] < N) //如果有元素比我们假设的最小值还小,那就让最小值等于它吧 N = n[i]; } …… 这套题目我没有提供实际代码,大家找开 CB 自已完成吧。重要的是,在调通程序之后,认 真地比较两种处理方法之间的异同。 结论应该是:“算法的抽象逻辑是一样的,只是用在于不同的数据结构上,会有不同的实现”。 前者只使用简单的数据类型,所以它不得不在一边输入的情况下,一边求最大值;而后者采用 了数组,所以可以从容地先完成输入工作,然后再求最大值。 当算法经较复杂时,采用良好的数据结构的重要性就开始体现,比如下面的排序,我们必须 使用数组或其它更复杂的数据。否则就实现不了。 18.2 将数组元素排序 排序,一个经典教学课程。 排序,一个在超高频的实用算法。 第一点是说,我们必须去学。第二点是说,像这样一个实用算法以,事实上 C,C++肯定都为 我们写好了,以库函数等形式提供给我们使用,而且,这些写好的代码,肯定是最优秀的实现。 可是我们还是要学,而且是从最笨“冒泡算法”学起。所谓的最笨,是指效率差的。 学习的原因:1、前面说了,为了锻炼我们的逻辑思维。2、为了在某些时候,我们可以对排 过程做更多的控制