从控制台获取一组数字中的最大值
#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; }
知识点:
getchar() 从输入设备得到的字符。getchar函数没有参数,其一般形式为getchar( )。
ungetc(ch,stdin) 把一个字符退回输入流
stdin 表示输入流,指从键盘输入
sizeof() 用于判断变量或数据类型的字节大小