能力强的人善于解决问题,有智慧的人善于绕过问题。 区别很微妙,小心谨慎做后者。
全部博文(399)
分类:
2009-11-03 10:18:48
1.要写一个函数,传三个参数,double,int ,bool 三个参数。
作用就是:传double进来 用int来取小数位数 ,bool用来确认是否要四舍五入。
返回的为string 值。
例如:
如果传一个double的 如12345.6789
然后传一个int 进来 如 3
然后要使这个double保留3位小数 12345.679
Bool的是控制是否四舍五入。
返回的为string 的值。
方法1:
方法2:
2. 把一个整数的各个位相加,得出另外一个整数,然后再将此整数的各个为相加,直到得出的整数小于10 为止(用递归的方法 实现)。
如:20081029 --〉22 --〉4
3. 把任意一个整数转化为顺序相反的整数。 如:632 --〉236; 1024 --〉4201
4. 将字符串倒序
5. 给定数组 A(N),找出其中相距最近的两个数。距离 R=|A[i+1]-A[i]|
即:在一个数组中找出相邻两个元素之间相差最小的,R=|A[i+1]-A[i]|,不是所有元素中,而是相邻元素中。
方法1:
template
int near(T* a, int n)
{
int mi = 0;
T dif = a[1] - a[0];
for(int i = 1; i< n - 1; ++i){
T absv = (a[i+1] if(absv < dif){
dif = absv;
mi = i;
}
}
return mi;
}
#include
using namespace std;
int main()
{
int a[5] = {3,9,5,2,7};
int i = near(a, 5);
cout< return 0;
}
方法2:
#include
#include
using namespace std;
#define N 6
int find(int* a)
{
int min = 1000, ind = -1;
if(N <= 2){
return 0;
}
else{
for(int i = 0; i < N - 1; ++i){
if(abs(a[i]-a[i+1]) < min){
min = abs(a[i] - a[i+1]);
ind = i;
}
}
}
return ind;
}
int main()
{
int a[N] = {3,9,5,2,7,6};
int index = find(a);
cout<<"The element is:"< return 0;
}