c++的问题,希望给出详细解答

来源:百度知道 编辑:UC知道 时间:2024/05/07 00:22:57
我不知道该多少悬赏分合适,不够的话可以让我加,使用的是Visual C++6.0,希望尽快解答,题目比较多,但是都是很基本很简单的

题目1.编写一个程序,用来求2个或3个正整数中最大的数。
要求:使用带默认参数的函数实现。

题目2.从键盘输入五个整数放到数组中,将它们按由大到小的顺序重新排列后输出。要求:使用变量的引用。

题目3.有5个字符串,要求对它们按由小到大的顺序排列。
要求:使用string类实现。

题目4.编写一个程序,求n个数据中的最小数,数据类型可以是整型、单精度型或双精度型。
要求:使用重载函数和const修饰符。
虽然很简单,可我就是不会做,所以才来问的,希望有详细的解答啊,不一定4题都要,起码给出个2题或3题吧

这几个题很简单啊,自己练习一下就好了,告诉你点题目所用到的东西吧,
1 用? :这个符号来做
2 随便什么排序都可以,冒泡排序,快速排序都可以
3 用strcmp就可以了
4 因为是求最小的就用?:符号就可以了
根据要求用重载就更为简单了,都是一个函数名,只是参数不同罢了

#include<iostream>
using namespace std;
int main(int args,char*argv[])
{
if(args==3)
{
int a=0;
int b=0;
int i=0;
while(argv[1][i]!='\0')
{
a=a*10+argv[1][i]-'0';
i++;
}
i=0;
while(argv[2][i]!='\0')
{
b=b*10+argv[2][i]-'0';
i++;
}
cout<<(a>b?a:b)<<endl;
}
else if(args==4)
{
int a=0,b=0,c=0;
int i=0;
while(argv[1][i]!='\0')
{
a=a*10+argv[1][i]-'0';
i++;
}
i=0;
while(argv[2][i]!='\0')
{
b=b*10+argv[2][i]-'0';
i++;
}
i=0;
while(argv[3][i]!='\0')