⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3_34.cpp

📁 C++程序设计10852C++案例教程源代码完成统计功能的函数
💻 CPP
字号:
#include <iostream>
#include <cmath>
using namespace std;

struct complex
{
   double real;
   double imag;
};

int fun(unsigned n, int &zero)  	//完成统计功能的函数,引用作形参,传回统计结果
{ 
	int count=0,max=0,t;
    do{
           t=n%10;       	//由低位开始逐个取出各位数字
     if(t==0)        	//如果该位为0,则计数
           count++;
           if(max<t) max=t;	//max始终保持当前找到的最大值
           n=n/10;
	}while(n);
    zero=count;
    return max;				//返回最大值
}

int fun(int n, int &zero)  	//重载函数
{ 
    return fun(unsigned(abs(n)),zero);				
}
int fun(double d, int &zero)  	//重载函数
{ 
    int n1, n2;
    n1=d;					//取浮点数的整数部分
    n2=(d-n1)*10;				//取小数部分最高位
    if (n2>=5) n1++;			//四舍五入
    return fun( n1, zero );		//调用重载函数un( n1, zero )完成统计,返回最大值
}

int fun(complex c, int &zero)  	//重载函数
{ 
    double d;	
    d = c.real;				//取浮点数的整数部分
    return fun( d, zero );		//调用重载函数un( n1, zero )完成统计,返回最大值
}
int main()
{ 
	unsigned uNum; 
    int intNum;
    int zero,max;
    double dNum;
    complex c;
    cout<<"\nEnter an unsigned number: ";
    cin>>uNum;
    max = fun( uNum, zero );
    cout<<"\nThe result of unsigned: max="<<max<<"  zero="<<zero<<endl;
    cout<<"\nEnter a signed number: ";
    cin>>intNum;
    max = fun( intNum, zero );
 cout<<"\nThe result of int: max="<<max<<"  zero="<<zero<<endl;
    cout<<"\nEnter a double: ";
    cin>>dNum;
    max = fun(dNum, zero );
    cout<<"\nThe result of double: max="<<max<<"  zero="<<zero<<endl;
    cout<<"\nEnter a complex: ";
    cin>>c.real>>c.imag;
    max = fun(c, zero );
    cout<<"\nThe result of complex: max="<<max<<"  zero="<<zero<<endl;
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -