问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++编写一个程序,用来求2个或3个正整数中最大的数,不带默认参数?

发布网友 发布时间:2022-04-23 14:02

我来回答

3个回答

热心网友 时间:2023-10-17 04:19

这个只能使用函数的重载做,注意函数名一样,但是参数个数不一样:
#include <iostream>
using namespace std;
//比较两个数,输出最大值
int compareNumbers(int numA,int numB){
return numA>numB?numA:numB;
}
//比较三个数,输出最大值
int compareNumbers(int numA,int numB,int numC){
int i,j,temp,num[3];
num[0]=numA;
num[1]=numB;
num[2]=numC;
for(i=0;i<3;i++){
for(j=0;j<3-i;j++){
if(num[j]<num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
return num[0];
}
//输入并输出两个数的比较结果
void compareTwoNums(){
int numA,numB;
cout<<"请输入第一个数:";
cin>>numA;
while(numA<0){
cout<<"数字必须大于0!\n"<<endl;
cout<<"请输入第一个数:";
cin>>numA;
}
cout<<"请输入第二个数:";
cin>>numB;
while(numB<0||numA==numB){
cout<<"数字必须大于0,且两个数不能相等!\n"<<endl;
cout<<"请输入第二个数:";
cin>>numB;
}
cout<<"这两个数中的最大的数是:"<<compareNumbers(numA,numB)<<endl;
}
//输入并输出三个数的比较结果
void compareThreeNums(){
int numA,numB,numC;
cout<<"请输入第一个数:";
cin>>numA;
while(numA<0){
cout<<"数字必须大于0!\n"<<endl;
cout<<"请输入第一个数:";
cin>>numA;
}
cout<<"请输入第二个数:";
cin>>numB;
while(numB<0||numA==numB){
cout<<"数字必须大于0,且三个数不能相等!\n"<<endl;
cout<<"请输入第二个数:";
cin>>numB;
}
cout<<"请输入第三个数:";
cin>>numC;
while(numC<0||numA==numB||numA==numC||numB==numC){
cout<<"数字必须大于0,且三个数不能相等!\n"<<endl;
cout<<"请输入第三个数:";
cin>>numC;
}
cout<<"这三个数中的最大的数是:"<<compareNumbers(numA,numB,numC)<<endl;
}
void main(){
int choose;
cout<<"1.输出两个数的最大值"<<endl;
cout<<"2.输出三个数的最大值"<<endl;
cout<<"请输入你的选择(1和2):";
cin>>choose;
while(choose>2||choose<1){
cout<<"只能输入1和2,请重新输入!\n"<<endl;
cout<<"请输入你的选择(1和2):";
cin>>choose;
}
if(choose==1){
compareTwoNums();
}else if(choose==2){
compareThreeNums();
}
}

热心网友 时间:2023-10-17 04:19

使用单链表找到n个数值中最大值思路;
输入格式:123 456 789 ... 回车,
创建一个结构体头结点,用一个指针指向头结点;
int i=0;
char ch;
while(ch=getchar())用一个char变量循环接收字符,
if(ch != ' ')
i = i*10+ch-'0';这样遇到空格时 i 的值就是123;
创建链表节点,并赋值;
i=0;i的值清零,
ch 的值为 '\n' 的时候break;跳出while循环;
使用头结点指针遍历链表找到最大值;

热心网友 时间:2023-10-17 04:20

按ctrl+Z中止输入
#include <iostream>
using namespace std ;

int main() {
int n,max;
cin>>n;
max=n;
while(cin>>n)
if(n>max) max=n;
cout<<"max="<<max<<endl;
}

热心网友 时间:2023-10-17 04:19

这个只能使用函数的重载做,注意函数名一样,但是参数个数不一样:
#include <iostream>
using namespace std;
//比较两个数,输出最大值
int compareNumbers(int numA,int numB){
return numA>numB?numA:numB;
}
//比较三个数,输出最大值
int compareNumbers(int numA,int numB,int numC){
int i,j,temp,num[3];
num[0]=numA;
num[1]=numB;
num[2]=numC;
for(i=0;i<3;i++){
for(j=0;j<3-i;j++){
if(num[j]<num[j+1]){
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
return num[0];
}
//输入并输出两个数的比较结果
void compareTwoNums(){
int numA,numB;
cout<<"请输入第一个数:";
cin>>numA;
while(numA<0){
cout<<"数字必须大于0!\n"<<endl;
cout<<"请输入第一个数:";
cin>>numA;
}
cout<<"请输入第二个数:";
cin>>numB;
while(numB<0||numA==numB){
cout<<"数字必须大于0,且两个数不能相等!\n"<<endl;
cout<<"请输入第二个数:";
cin>>numB;
}
cout<<"这两个数中的最大的数是:"<<compareNumbers(numA,numB)<<endl;
}
//输入并输出三个数的比较结果
void compareThreeNums(){
int numA,numB,numC;
cout<<"请输入第一个数:";
cin>>numA;
while(numA<0){
cout<<"数字必须大于0!\n"<<endl;
cout<<"请输入第一个数:";
cin>>numA;
}
cout<<"请输入第二个数:";
cin>>numB;
while(numB<0||numA==numB){
cout<<"数字必须大于0,且三个数不能相等!\n"<<endl;
cout<<"请输入第二个数:";
cin>>numB;
}
cout<<"请输入第三个数:";
cin>>numC;
while(numC<0||numA==numB||numA==numC||numB==numC){
cout<<"数字必须大于0,且三个数不能相等!\n"<<endl;
cout<<"请输入第三个数:";
cin>>numC;
}
cout<<"这三个数中的最大的数是:"<<compareNumbers(numA,numB,numC)<<endl;
}
void main(){
int choose;
cout<<"1.输出两个数的最大值"<<endl;
cout<<"2.输出三个数的最大值"<<endl;
cout<<"请输入你的选择(1和2):";
cin>>choose;
while(choose>2||choose<1){
cout<<"只能输入1和2,请重新输入!\n"<<endl;
cout<<"请输入你的选择(1和2):";
cin>>choose;
}
if(choose==1){
compareTwoNums();
}else if(choose==2){
compareThreeNums();
}
}

热心网友 时间:2023-10-17 04:19

使用单链表找到n个数值中最大值思路;
输入格式:123 456 789 ... 回车,
创建一个结构体头结点,用一个指针指向头结点;
int i=0;
char ch;
while(ch=getchar())用一个char变量循环接收字符,
if(ch != ' ')
i = i*10+ch-'0';这样遇到空格时 i 的值就是123;
创建链表节点,并赋值;
i=0;i的值清零,
ch 的值为 '\n' 的时候break;跳出while循环;
使用头结点指针遍历链表找到最大值;

热心网友 时间:2023-10-17 04:20

按ctrl+Z中止输入
#include <iostream>
using namespace std ;

int main() {
int n,max;
cin>>n;
max=n;
while(cin>>n)
if(n>max) max=n;
cout<<"max="<<max<<endl;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我网贷一万,手续费300,分24期,每期506.67,请问怎么计算月息,和年利率... 多普达手机铃音多普达手机铃声 【车载软件推荐】有车一族必备软件有哪些?好用的车主必备app 我画画时常被说我画画不动脑筋,弱弱的问一句,画画怎样动脑筋? 三星手机如何设置时间在桌面显示? 精确到十分位,要看小数点右边第一位 对吗 要把一个小数精确到十分位,就要看这个小数的( )A.十分位B.百分位C... 黑米算不算粗粮 存定期协议利率选是还是否? 同城上那些卖二手ndsi的是真的吗? UC浏览器极速版怎么解绑支付宝 以“e”为韵脚的字都有什么? 怎么把服务器cpu的numa禁掉 韵母e和er的发主要区别是什么? 七夕节贺卡内容送女友简短有哪些? 英语e的单词和中文? 比较smp 、ssmp 、cc -numa 、基于集群的mpp 及dsm 在体系结构的异同点? UC浏览器极速版和普通版有什么差异? 维生素E小孩可以吃吗? 现在的CPU都使用了NUMA架构吗?从那一代开始使用的呢? 含有&quot;e&quot;韵母的字有哪些? 怎么查看cpu是numa架构 七夕节日快乐祝福语 uc极速版一万金币给多少钱 关于E开头的单词 关于e的值 韵母e的所有字有哪些? 七夕短信祝福语 七夕节祝福语大全 哪些cpu是numa架构 含e的英语单词 数学上的e是什么东西 手机UC触屏版和极速版有什么区别? 拼音中e跟er有什么区别? c语言,怎样就能使 maxSum = 其中的最大值(numA或numB) + 其中的最大值(numY或numZ) e怎么读拼音 1、某同学编写了如下程序,通过随机函数生成10个正整数,存放在数组中,然后查找这10个数中的最小数及 uc浏览器极速版(9.6)和uc浏览器9.8有什么区别? “e”这个拼音的标准发音是怎么读? 葡葡语中的na、numa、uns等用法问题. 关于维生素e的问题 vb 写sql语句问题 uc浏览器(极速版)的一些问题? 全手工紫砂壶的制作流程有哪些? 紫砂壶手工和非手工的区别? 从壶盖就能看出是否手工紫砂壶 如何分辨是否是全手工宜兴紫砂壶? 紫砂壶全手工和半手工有什么区别吗 紫砂壶全手工和半手工有什么区别? 如何区分纯手工紫砂壶与机器壶? 如何更快更稳区别手工紫砂壶和机制紫砂壶?