C++程序设计 (第三版) 谭浩强 习题3.14
习题 3.14 输入4个整数,要求按由小到大的顺序输出。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
方法1:
#include <iostream>
using namespace std;
int main(){
int a, b, c, d, temp;
cout<<"Please enter a, b, c, d: ";
cin>>a>>b>>c>>d;
if(b < a)
temp = a, a = b, b = temp;
if(c < a)
temp = a, a = c, c = temp;
if(d < a)
temp = a, a = d, d = temp;
if(c < b)
temp = b, b = c, c = temp;
if(d < b)
temp = b, b = d, d = temp;
if(d < c)
temp = c, c = d, d = temp;
cout<<"Sort by: "<<a<<' '<<b<<' '<<c<<' '<<d<<endl;
system("pause");
return 0;
}
方法2:使用指针,数组,函数的模块化设计,分配内存,自定义类型
#include <iostream>
using namespace std;
typedef int TYPE;
const int N = 4;
void inputNumber(TYPE *number, int n){
cout<<"Enter "<<n<<" Number: ";
for(int i = 0; i < n; i++){
cin>>number[i];
}
}
void ascendingSort(TYPE *number, int n){
TYPE temp;
for(int i = 0; i < n; i++){
for(int j = i + 1; j < n; j++){
if(number[i] > number[j]){
temp = number[i];
number[i] = number[j];
number[j] = temp;
}
}
}
}
void outputNumber(TYPE *number, int n){
cout<<"Ascending Output: "<<endl;
for(int i = 0; i < n; i++){
cout<<number[i]<<" ";
}
cout<<endl;
}
int main(){
TYPE *number = new TYPE[N];
inputNumber(number, N);
ascendingSort(number, N);
outputNumber(number, N);
delete(number);
system("pause");
return 0;
}