C程序设计综合练习-- 综合测验1:

1.

题目(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=&sum;
	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
10.

题目(Description):

计算前n项的阶乘和。即:1!+2!+3!+......+n!

输入(Input):

一个整数

输出(Output):

前n项的阶乘和

示例(Sample):

输入(Input):

3

输出(Output):

9


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值