首页 > 其他分享 >每日打卡一小时(第二十五天)

每日打卡一小时(第二十五天)

时间:2023-05-15 19:46:39浏览次数:34  
标签:cout 每日 num 参数 打卡 第二十五 void 模板 Absolute

一.问题描述

请使用模板参数设计实现双倍功能函数,函数功能要求实现返回值为输入参数的两倍,函数参数应能适应整型、浮点型、双精度型等各种类型,返回值类型与参数一样。

二.设计思路

注意函数模板参数的设计格式,按要求完成即可。

三.代码实现

#include <iostream>
using namespace std;

template<typename T>
T Double(T x)
{
    return 2*x;
}
int main(void){
    char c='\0';
    int i=0;
    long l=0;
    scanf("%c%d%ld",&c,&i,&l);
    cout<<Double(c)<<endl;
    cout<<Double(i)<<endl;
    cout<<Double(l)<<endl;
    float f=1.1;
    double d=2.2;
    scanf("%f%lf",&f,&d);
    cout<<Double(f)<<endl;
    cout<<Double(d)<<endl;
    return 0;
}

一.问题描述

请使用模板参数设计实现绝对值模板类Absolute,Absolute类功能要求成员函数getValue(void)const计算类数据的绝对值,类数据类型应能适应整型、浮点型、双精度型等各种类型,绝对值类型与类数据一样。

二.设计思路

注意类模板参数的设计格式,注意编写构造函数和成员函数的返回值类型,按要求完成即可

三.代码实现

#include <iostream>
using namespace std;
template<class T>
class Absolute
{
    private:
    T num;
    public:
    Absolute(T x):num(x){};
    T getValue(void)const;
};
template<class T>
T Absolute<T>::getValue(void)const
{
    return num<0? -num:num;
}
int main(void){
    char c='\0';
    int i=0;
    long l=0;
    scanf("%c%d%ld",&c,&i,&l);
    float f=1.1;
    double d=2.2;
    scanf("%f%lf",&f,&d);
    Absolute<char> dc(c);
    cout<<dc.getValue()<<endl;
    Absolute<int> di(i);
    cout<<di.getValue()<<endl;
    Absolute<long> dl(l);
    cout<<dl.getValue()<<endl;
    Absolute<float> df(f);
    cout<<df.getValue()<<endl;
    Absolute<double> dd(d);
    cout<<dd.getValue()<<endl;
    return 0;
}

 

标签:cout,每日,num,参数,打卡,第二十五,void,模板,Absolute
From: https://www.cnblogs.com/zhenaifen/p/17402864.html

相关文章

  • c++打卡练习(29)
    求一百以内的勾股数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ inta,b,c,i,j,k; for(a=1;a<=100;a++){ for(b=a+1;b<=100;b++){ for(c=b+1;c<=100;c++){ if(a*a+b*b==c*c){ cout<<a<<""<<b<<......
  • 第24天打卡
    问题:输出所有的水仙花数源代码:#include<stdio.h>intmain(){inth,t,i,n;for(n=100;n<1000;n++){h=n/100;t=(n-h*100)/10;i=n%10;if(n=h*h*h+t*t*t+i*i*i)printf("%d\t",n);}}......
  • 打卡 c语言趣味编程 二分查找算法实现
    N个有序整数数列已放在一维数组中,利用二分查找法查找整数在数组中的位置。若找到,则输出其下标值;反之,则输出“Notbefound!”。思路:二分查找法(也叫折半查找)其本质是分治算法的一种。所谓分治算法是指的分而治之,即将较大规模的问题分解成几个较小规模的问题,这些子问题互相独......
  • 每日打卡-23
    一.问题描述键盘输入“Iamastudent./MyuniversityisSTDU./Ilovemyuniversity.”用流对象的成员函数get读取并打印到屏幕上;分别用流对象的成员函数get函数和getline函数读取第一个“/”之前的字符串,之后观察当前指针所指内容,观察是否有差别,若有,请在实验报告中描述;先读......
  • c++打卡练习(28)(还没写对,持续改进中)
    黑洞数流程图:伪代码:源代码:#include<iostream>usingnamespacestd; intmaxof3(int,int,int); intminof3(int,int,int); intmain(){ inti,k; inthun,oct,data,max,min,j; printf("请输入一个三位数\n"); scanf("%d",i); while(k!=EOF){ hun=i/100; ......
  • 每日总结2023-05-14
    今天运用mybaits来进行mysql操作:连接数据库信息:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">......
  • 打卡5.8——勾股数
    1.问题描述求100以内所有的勾股数所谓勾股数,是指能够构成三角形三条边的三个正整数。2.问题分析勾股数,要符合a^2+b^2=c^2,而且任意两条边的和大于第三条边这就要用到sqrt函数,就相当于不用平方了c=(int)sqrt(a*a+b*b);if(c*c==a*a+b*b&......
  • 打卡5.9——求某一范围内完数的个数
    如果一个数等于它的因子之和,则称该数为完数,例如“6”的因子为1,2,3,而6=1+2+3,因此6是完数问题分析:假设一个数d,然后计算出它的每个因子,用到for循环,假如是a,b,c,然后进行一个判断如果a+b+c=d,就说明d是完数,应该要用到两层循环,最外层循环从2开始,一直到d,内层循环从1开始,一直到a,然后开始取余......
  • 5-14打卡 力扣24. 两两交换链表中的节点
    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]来源:力扣(LeetCode)链接:https://leetco......
  • 每日打卡26
    一、问题描述一三位数的各个位数立方和等于本身,求所有水仙花数二、 三、流程图设计 四、代码实现#include<iostream>usingnamespacestd;intmain(){ intn,a,b,c,x; cin>>x; for(n=100;n<x;n++){ a=n/100; b=n%100/10; c=n%10; if(n==a*a*a+b*b*b+c*c*c){ cout<<n<<e......