题目(Description):
一个人爬楼梯,可以每次迈一个台阶,也可以每次迈两个台阶。输入要爬的台阶数,计算一共有多少种不同的走法。要求:递归实现。
输入(Input):
台阶数
输出(Output):
走法的数量
示例(Sample):
输入(Input):
5
输出(Output):
8
2.
题目(Description):
“鸡兔同笼”是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的 “今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?现有n个头和m个脚,计算到底有多少只鸡和兔。
输入(Input):
2个整数n和m(空格分隔)
输出(Output):
鸡和兔的数量(空格分隔)
示例(Sample):
输入(Input):
2 6
输出(Output):
1 1
3.
题目(Description):
编写一个函数,函数参数为一个字符串,返回值为一个字符指针(表示一个字符串)。
(1)如果输入字符串的字符个数为奇数,则返回仅包含其中间位置字符的字符串;
(2)如果输入字符串的字符个数为偶数,则返回包含中间两个字符的字符串。
在主函数中输入字符串,调用该函数,并在主函数中输出出来。
输入(Input):
一个字符串
输出(Output):
字符串中的中间字符
示例(Sample):
输入(Input):
CAU_CIEE_C++
输出(Output):
IE
4.
题目(Description):
给定一批整数,分析每个整数的每一位数字,求出现次数最多的数字,例如给定三个整数1234、2345、3456,其中出现最多次数的数字是3和4,都出现了3次。
输入(Input):
输入在第1行中给出正整数N(N<=1000),在第2行中给出N个不超过整型范围的正整数,数字间以空格分隔。
输出(Output):
在一行中按格式“M:n1 n2…”输出,其中M是最大次数,n1、n2…为出现次数最多的数字,按从小到大的顺序排列,数字间以空格分隔,但末尾不得有多余空格。
示例(Sample):
输入(Input):
3
1234 2345 3456
输出(Output):
3:3 4
5.
题目(Description):
从键盘输入一个字符串a,并在a串中的最大元素后边插入字符串b(b[]="ab")。
输入(Input):
字符串a
输出(Output):
插入字符串b之后的新串
示例1(Sample):
输入(Input):
123456
输出(Output):
123456ab
示例2(Sample):
输入(Input):
bfiuh
输出(Output):
bfiuabh
6.
题目(Description):
输入一个字符串(字符个数不大于20)给一个字符数组,然后从第一个字母开始间隔的输出该串。
编写函数output,利用指针作为参数,完成间隔输出字符串。
void output(char *q)
{ }
输入(Input):
一个字符串
输出(Output):
从第一个字母开始的间隔字符
提示(Hint):
程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。
示例(Sample):
输入(Input):
computer
输出(Output):
cmue
7.
题目(Description):
从字符串中的第m个字符开始的全部字符复制成另一个字符串。
编写函数copystr,利用指针作为参数,完成复制。在主函数main中输入字符串及m的值,并输出复制结果。
void copystr(char *p1,char *p2,int m)
{ }
输入(Input):
一个字符串
m
输出(Output):
(1)如果字符串的长度小于m,则输出 “error!”;
(2)否则,输出从第m个字符开始的全部字符。
提示(Hint):
程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。
示例1(Sample):
输入(Input):
abcd
5
输出(Output):
error!
示例2(Sample):
输入(Input):
abcd
2
输出(Output):
bcd
8.
题目(Description):
编写函数fun,求出满足不等式22+42+……+n2<1000的最大n值,以及计算累加和sum。用指针作为参数,指向sum;用函数返回最大n值。
int fun(double *p)
{ }
输入(Input):
无
输出(Output):
最大n值
累加和
提示(Hint):
程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。
前缀代码: | //StudybarCommentBegin #include<stdio.h> int main() { int fun(int *p); int sum=0,n; int *p=∑ n=fun(p); printf("%d\n%d\n",n,*p); return 0; } //StudybarCommentEnd |
9.
题目(Description):
歌德巴赫猜想:从键盘上输入一个大于6的偶数,总能找到两个素数,使得这两素数之和正好等于该偶数。
编写函数prime,判断素数:如果是素数,则函数返回1,否则返回0。主函数main输出所有分解的两个素数。
int prime(int n)
{ }
输入(Input):
大于6的偶数
输出(Output):
偶数=素数1+素数2
............
提示(Hint):
程序的前缀代码已经给出,请在提交作业时注释或者去掉前缀代码。
示例(Sample):
输入(Input):
8
输出(Output):
8=3+5
8=5+3
前缀代码: | //StudybarCommentBegin #include <stdio.h> int main() { int prime(int n); int num, a; do { scanf("%d",&num); } while(num<=6||num%2==1); for(a=2;a<=num/2+1;a++) if(prime(a)&&prime(num-a)) printf("%d=%d+%d\n",num,a,num-a); return 0; } //StudybarCommentEnd |
题目(Description):
计算前n项的阶乘和。即:1!+2!+3!+......+n!
输入(Input):
一个整数
输出(Output):
前n项的阶乘和
示例(Sample):
输入(Input):
3
输出(Output):
9