![]() |
#2
peach54602013-09-08 14:43
|

/*-----------------------------------------------------
试编写一个模板函数,用来测试数组 a中的元素是否按升序排列(即 a [ i ]≤a [ i + 1 ] ,其中0≤
i<n - 1) 。如果不是,函数应返回f a l s e,否则应返回t r u e。上机测试该函数。
--------------------------------------------------------------*/
#include <iostream>
using namespace std;
template <class T>
bool Arrange(T (&s)[])
{
int i = 0, n = 8;
for (; i < n-1; i++)
{
if (s[i] <= s[i+1])
continue;
else
return cout << "False" << endl;
}
return cout << "True" << endl;
}
int main()
{
int a[] = {1, 22, 33, 42, 15, 54, 11, 35};
Arrange(a); // 这里该怎么写,才能使程序运行正确?
return 0;
}
/*
这个是正确的程序
[color=#0000FF]#include <iostream>
using namespace std;
template <class T>
bool Arrange(T s[])
{
int i = 0, n = 8;
for (; i < n-1; i++)
{
if (s[i] <= s[i+1])
continue;
else
return cout << "False" << endl;
}
return cout << "True" << endl;
}
int main()
{
int a[8] = {1, 22, 33, 42, 15, 54, 11, 35};
Arrange(a);
return 0;
}
[/color]*/
试编写一个模板函数,用来测试数组 a中的元素是否按升序排列(即 a [ i ]≤a [ i + 1 ] ,其中0≤
i<n - 1) 。如果不是,函数应返回f a l s e,否则应返回t r u e。上机测试该函数。
--------------------------------------------------------------*/
#include <iostream>
using namespace std;
template <class T>
bool Arrange(T (&s)[])
{
int i = 0, n = 8;
for (; i < n-1; i++)
{
if (s[i] <= s[i+1])
continue;
else
return cout << "False" << endl;
}
return cout << "True" << endl;
}
int main()
{
int a[] = {1, 22, 33, 42, 15, 54, 11, 35};
Arrange(a); // 这里该怎么写,才能使程序运行正确?
return 0;
}
/*
这个是正确的程序
[color=#0000FF]#include <iostream>
using namespace std;
template <class T>
bool Arrange(T s[])
{
int i = 0, n = 8;
for (; i < n-1; i++)
{
if (s[i] <= s[i+1])
continue;
else
return cout << "False" << endl;
}
return cout << "True" << endl;
}
int main()
{
int a[8] = {1, 22, 33, 42, 15, 54, 11, 35};
Arrange(a);
return 0;
}
[/color]*/