1.//编写递归函数将十进制数转换成二进制数输出。
#include <iostream>
using namespace std;
void d2b (int n);
int main (void)
{
int a; //输出十进制数
cout<<"请输入十进制数:"<<endl;
cin >> a;
cout<<"所转换的二进制数为:"<<endl;
d2b (a); //转换成二进制输出
cout << endl;
return 0;
}
void d2b (int n)
{
if (n == 0)
{
cout << 0;
}
else if (n == 1)
{
cout << 1;
}
else
{
d2b (n / 2);
cout << n % 2;
}
}

2.//编程序输入m,n,输出组合数,要求用自定义函数求阶乘。
#include <iostream>
using namespace std;
long fac (int n);
int main (void)
{ int m, n;
cout<<"请输入m,n的值。"<<endl;
cin >> m >> n;
cout << fac (m) / fac (n) / fac (m - n) << endl;
return 0;
}
long fac (int n)
{
int sum;
if (n == 1)
{
return 1;
}
else
{
sum = n * fac (n - 1);
} return sum;
}
3//输入一行字符,统计其中有多少个单词。
#include <iostream>
#include <string.h>
using namespace std;
int main (void)
{
char input [50];
gets(input);
int num = 1;
for (int i = 1; i < 50; ++i)
{
if ((input [i - 1] != ' ') && (input [i] == ' '))
{
++num;
}
}
cout << "There are " << num <<" words in the line." << endl;
return 0;
}