为了账号安全,请及时绑定邮箱和手机立即绑定

c++算法问题还是什么?

c++算法问题还是什么?

C++
互换的青春 2019-01-27 09:05:34
#include<iostream>#include<cstdio>using namespace std;template <typename T>void sort(T x,T y,T z){int t;if(x>y){t=x,x=y,y=t;}if(x>z){t=x,x=z,z=t;}if(y>z){t=y,y=z,z=t;}cout<<x<<"\t"<<y<<"\t"<<z<<endl;}int main(){int a,b,c;char str[3];double l,m,n;cin>>a>>b>>c;cin>>str;cin>>l>>m>>n;sort(a,b,c);sort(str[0],str[1],str[2]);sort(l,m,n);return 0;}这个程序有问题,但不知道问题在哪。。。原题:用函数模板template <typename T> void sort(T x,T y,T z)实现3个数值按最小值到最大值排序输出的程序。第1行输入int型3个数值,用空格分隔。第2行输入char型3个数值,连续输入,不用空格分隔。第3行输入double型3个数值,用空格分隔。
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

你的程序 两个地方有问题
min=1000000; 但是最大差值有 1000000000 -1
a[id] = 0 如果后面选中的数 是 1 呢 这个的差距不是为1么,其他的差距如果都要比这个大呢,那这个人又会被输出一遍,因为你循环的时候没有判断。
还有这个算法效率不怎么高

希望对你能有所帮助。

查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 582 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信