首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

老烦高手用C++写个这种程序,小弟我是菜鸟,希望写的详细点、多谢喽

2012-02-14 
老烦高手用C++写个这种程序,我是初学者,希望写的详细点、谢谢喽1.给一维数组x输入10个整数,找出x数组中的最

老烦高手用C++写个这种程序,我是初学者,希望写的详细点、谢谢喽
1.给一维数组x输入10个整数,找出x数组中的最大数。


2. 学生成绩排序。
分析:学生成绩由键盘输入,当输入一个负数时,输入完毕。
  采用直观的“选择排序法”进行排序,基本步骤如下:
  ① 将a[0]依次与a[1]~a[n-1]比较,选出大者与a[0]交换;最后a[0]为a[0]~a[n-1]中最大者;
  ② 将a[1]依次与a[2]~a[n-1]比较,选出大者与a[1]交换;最后a[1]为a[1]~a[n-1]中最大者;
  ③ 同理,从i=2到i=n-1, 将a[i]依次与a[i+1]~a[n-1]比较,选出较大者存于a[i]中。


3.找出一个整型数组(15个元素)各数组元素中的最大数和最小数,数组中的数由随机数发生函数 rand()产生。(数组元素最多为2位数)(rand()是一个可以生成随机数的函数随机数,函数返回的随机数在0-RAND_MAX(32767)之间; rand()%100结果是随机数除以100后所得的余数,即限定随机的范围是在0~99之间; 使用rand()函数需添加头文件:#include <cstdlib>)




[解决办法]
第二题

C/C++ code
#include <iostream>using namespace std;int data[1000];//存放数据的全局数组//实现将a[low]依次与a[low+1]~a[len-1]比较,选出较大者存于a[low]中void FindMax(int low,int len){    int i;    int max=data[low];    int tag=low;//标记最大值在数组的下标    //开始寻找最大值    for (i=low+1;i<len;++i)    {        if (data[i]>max)        {            tag=i;            max=data[i];        }    }    //判断最大值是否为a[low],不是的话则进行交换否则不需要交换    if (tag!=low)    {        int mid=data[tag];        data[tag] = data[low];        data[low] = mid;    }}int main(void){    /*读取数据*/    int len=0;    do     {        cin>>data[len++];    } while (data[len-1]>=0);    --len;    //选择排序,将a[i]依次与a[i+1]~a[n-1]比较,选出较大者存于a[i]中。    int i;    for (i=0;i<len-1;++i)    {        FindMax(i,len);    }    //输出排序结果    for (i=0; i<len; ++i)    {        cout<<data[i]<<" ";    }    cout<<endl;    getchar();//可删除    getchar();//可删除    return 0;}
[解决办法]
这种题目一般网上都有现成源码,楼主可以搜搜看。另外,如果自己写过,也可以将你写的代码贴出来,请妖哥或zzbinfo等前辈指教。

热点排行