C++复习笔记之从0到1 (003)

从控制台获取一组数字中的最大值

#include<iostream>
using namespace std;

/*
    功能:获取一组数字中的最大值
    思路: 
        1 控制台接收一堆数字,转化为数组
        2 将数组进行排序(冒泡排序)
        3 最后获取数组索引为length-1的数 
*/
int main()
{
    // 5
    /*
        初始化数组 
    */ 
    
    int num;
    cin >> num;
    int score[num] = {};

    // 85 78 90 99 60
    /*
        处理数字字符串成整数数字数组 
    */
    char ch;
    if ((ch=getchar())=='\n') {
        int n = 0;
        char c;
        while((c=getchar())!='\n')
        {
            if(c>='0'&&c<='9')
            {
            ungetc(c,stdin);
            cin>>score[n++];
            }
        }
    }

     
    //int score[5] = {85,78,90,99,60};
    //int score[] = {85,78,90,99,60,78}; 
    //int score[] = {85,78,90,99,60,78,66};
    int len = (int) sizeof(score) / sizeof(*score);
    //int score[] = {1,5,9,10,9,2}; // 1 2 5 9 10 9
    //int score[] = {1,5,9,10,2}; // 1 2 5 9 10
    /*
        冒泡排序数组 
    */
    int i,j,temp;                                                             
    for(i = 0; i < len - 1; i++) {
        for(j = 0; j < len - 1 - i; j++) {
            if(score[j] > score[j+1]) {
                temp = score[j];
                score[j] = score[j+1];
                score[j+1] = temp;                       
            } 
        }
    } 
    
    int k;
    for (k=0; k < len; k++) {
        cout << score[k] << " ";
    }
    cout << endl;
    
    cout << score[len-1] << endl;
    
    //cout << "abcTest" << endl;
    return 0; 
}

 C++复习笔记之从0到1 (003)

 知识点:

getchar() 从输入设备得到的字符。getchar函数没有参数,其一般形式为getchar( )。

ungetc(ch,stdin)  把一个字符退回输入流

stdin 表示输入流,指从键盘输入

sizeof() 用于判断变量或数据类型的字节大小

上一篇:C++面向对象程序设计 003:好怪异的返回值


下一篇:每周一道算法题003:翻牌