第一题:斐波那契数的迭代与判断。
#include <iostream>
using namespace std;
int fab(int n)
{
if(n==0)
return 0;
if (n == 1)
return 1;
if (n>=2)
return fab(n - 1) + fab(n - 2);
}
int isfab(int m)
{
int result = 0;
if (m == 0)
return 1;
for (int i = 0; fab(i)<m; i++)
{
if (fab(i + 1) == m)
{
result = 1;
break;
}
}
return result;
}
int main()
{
int n;
cin >> n;
if (isfab(n) == 1)
{
printf("YES\n");
}
else
printf("NO\n");
system("pause");
return 0;
}
第二题:输入字符串,然后将字符串倒置,不允许调用库函数和API
解题思路:用string 读取,然后利用size()获取size,使用[]运算符,双指针调换字符串内容。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
string str;
cin>>str;
int i=0;
int j = str.size()-1;
while(i<j)
{
swap(str[i],str[j]);
i++;
j--;
}
cout<<str<<endl;
return 0;
}