算法训练 求平方和

问题描述
  请用函数重载实现整型和浮点习型的两个数的平方和计算
输入格式
  测试数据的输入一定会满足的格式。
  2 222列,第1行整型,第2行浮点型)
输出格式
  要求用户的输出满足的格式。
  2 121列,第1行整型,第2行浮点型)
样例输入
一个满足题目要求的输入范例。
例:
2 2
3 4
3.1 4.1
样例输出
与上面的样例输入对应的输出。
例:
25
26.42
数据规模和约定
  输入数据中每一个数的范围。
  例:0<n,m<100, 0<=矩阵中的每个数<=1000

这道题不难,注意输出精度即可。但是笔者有点纳闷,题目要求使用函数重载,我用的是C语言,写了如下代码。

#include<stdio.h>
void pow(int a,int b){
    
    
	printf("%d\n",a*a+b*b);
}
void pow(double c,double d){
    
    
	printf("%0.2lf",c*c+d*d);
}
int main(){
    
    
	int a,b,m;
	double c,d,n;
	scanf("%d%d",&a,&b);
	scanf("%lf%lf",&c,&d);
	pow(a,b);
	pow(c,d);
	return 0;
}

在蓝桥杯官网上提交显示编译错误,笔者认为函数重载,方法名应该是一样的,但报这样的错误,笔者也不知道是怎么回事,但当我改成两个不同的方法名却运行正确。

在这里插入图片描述
改了方法名之后

#include<stdio.h>
void pow1(int a,int b){
    
    
	printf("%d\n",a*a+b*b);
}
void pow2(double c,double d){
    
    
	printf("%0.2lf",c*c+d*d);
}
int main(){
    
    
	int a,b,m;
	double c,d,n;
	scanf("%d%d",&a,&b);
	scanf("%lf%lf",&c,&d);
	pow1(a,b);
	pow2(c,d);
	return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mjh1667002013/article/details/114944393