《C语言》程序算法练习题

合集下载

c语言算法100例

c语言算法100例

c语言算法100例以下是一些经典的C语言算法题目,总共提供100个例子供你练习和学习:1.编写一个程序,计算并输出斐波那契数列的前20个数。

2.编写一个程序,判断一个数是否为素数。

3.编写一个程序,计算并输出一个数的阶乘。

4.编写一个程序,实现两个数的交换(不使用第三个变量)。

5.编写一个程序,找出一个数组中的最大值。

6.编写一个程序,将一个字符串反转。

7.编写一个程序,判断一个字符串是否为回文字符串。

8.编写一个程序,实现冒泡排序算法对一个数组进行排序。

9.编写一个程序,实现二分查找算法在一个有序数组中查找指定的元素。

10.编写一个程序,计算并输出斐波那契数列的第n个数。

11.编写一个程序,将一个二维数组顺时针旋转90度。

12.编写一个程序,计算并输出一个数的平方根。

13.编写一个程序,判断一个字符串中是否包含重复字符。

14.编写一个程序,实现插入排序算法对一个数组进行排序。

15.编写一个程序,将一个有序数组合并为一个有序数组。

16.编写一个程序,判断一个数是否为完全数(即所有因子之和等于该数本身)。

17.编写一个程序,计算并输出一个数的倒数。

18.编写一个程序,判断一个字符串是否是另一个字符串的子串。

19.编写一个程序,实现选择排序算法对一个数组进行排序。

20.编写一个程序,计算并输出两个数的最大公约数。

21.编写一个程序,实现快速排序算法对一个数组进行排序。

22.编写一个程序,将一个字符串中的所有空格替换为指定的字符。

23.编写一个程序,判断一个数是否是回文数。

24.编写一个程序,计算并输出两个数的最小公倍数。

25.编写一个程序,实现归并排序算法对一个数组进行排序。

26.编写一个程序,判断一个字符串是否是有效的括号串。

27.编写一个程序,计算并输出一个数的立方根。

28.编写一个程序,实现堆排序算法对一个数组进行排序。

29.编写一个程序,判断一个数是否是质数。

30.编写一个程序,计算并输出一个数的二进制表示。

c语言编程题库100题

c语言编程题库100题

c语言编程题库100题1. 计算两个整数的和编写一个C程序,接收两个整数作为输入并计算它们的和,并将结果输出。

2. 计算两个整数的差编写一个C程序,接收两个整数作为输入并计算它们的差,并将结果输出。

3. 计算两个整数的乘积编写一个C程序,接收两个整数作为输入并计算它们的乘积,并将结果输出。

4. 计算两个整数的商编写一个C程序,接收两个整数作为输入并计算它们的商,并将结果输出。

5. 判断一个整数是否为偶数编写一个C程序,接收一个整数作为输入并判断它是否为偶数,并将结果输出。

6. 判断一个整数是否为质数编写一个C程序,接收一个整数作为输入并判断它是否为质数(只能被1和自身整除的数),并将结果输出。

7. 计算一个整数的阶乘编写一个C程序,接收一个整数作为输入并计算它的阶乘,并将结果输出。

8. 计算一个整数的平方根编写一个C程序,接收一个整数作为输入并计算它的平方根,并将结果输出。

9. 判断一个字符串是否为回文字符串编写一个C程序,接收一个字符串作为输入并判断它是否为回文字符串(正向和反向读取都相同的字符串),并将结果输出。

10. 排序一个整数数组编写一个C程序,接收一个整数数组作为输入并对其进行排序,并将结果输出。

11. 求两个整数之间的最大公约数编写一个C程序,接收两个整数作为输入并计算它们的最大公约数,并将结果输出。

......(依此类推,共100道题)这是一个C语言编程题库,包含100道不同类型的题目。

你可以选择其中的题目进行练习和实践,通过解决这些问题来提升自己的C语言编程能力。

每道题目都有具体的描述和要求,你可以按照题目要求编写相应的代码,并运行测试。

如果遇到问题,可以参考相关的解法或向他人寻求帮助。

通过不断地练习和学习,你将逐渐掌握C语言的编程技巧和思维方式,提高自己在编程领域中的能力。

祝你编程愉快!。

C语言算法训练题

C语言算法训练题

C训练题一题1:未名湖边的烦恼每年冬天,北大未名湖上都是滑冰的好地方。

北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。

每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。

现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。

(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式两个整数,表示m和n输出格式一个整数,表示队伍的排法的方案数。

样例输入3 2样例输出5数据规模和约定m,n∈[0,18]问题分析题2:最大的算式题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。

因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。

例如:N=5,K=2,5个数字分别为1、2、3、4、5,可以加成:1*2*(3+4+5)=241*(2+3)*(4+5)=45(1*2+3)*(4+5)=45……输入格式输入文件共有二行,第一行为两个有空格隔开的整数,表示N和K,其中(2<=N<=15, 0<=K<=N-1)。

第二行为 N个用空格隔开的数字(每个数字在0到9之间)。

输出格式输出文件仅一行包含一个整数,表示要求的最大的结果样例输入5 21 2 3 4 5样例输出120样例说明(1+2+3)*4*5=120题3:图形显示编写一个程序,首先输入一个整数,例如5,然后在屏幕上显示如下的图形(5表示行数):* * * * ** * * ** * ** **题4:排序编写一个程序,输入3个整数,然后程序将对这三个整数按照从大到小进行排列。

输入格式:输入只有一行,即三个整数,中间用空格隔开。

输出格式:输出只有一行,即排序后的结果。

输入输出样例样例输入9 2 30样例输出30 9 2题5:2的次幂表示任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。

c编程练习题(打印版)

c编程练习题(打印版)

c编程练习题(打印版)C语言编程练习题一、基础练习1. 编写一个程序,计算并输出两个整数的和、差、乘积和商。

提示:使用scanf函数输入两个整数,使用算术运算符进行计算。

2. 编写一个程序,计算并输出一个圆的面积。

提示:圆的面积公式为A = π * r * r,其中 r 是圆的半径。

3. 编写一个程序,计算并输出一个矩形的周长和面积。

提示:矩形的周长公式为 P = 2 * (l + w),面积公式为 A = l * w,其中 l 是长度,w 是宽度。

4. 编写一个程序,判断一个整数是奇数还是偶数。

提示:使用模运算符 % 来判断。

二、控制结构练习1. 编写一个程序,根据用户输入的分数,输出对应的等级。

提示:90分以上为 A,80-89分为 B,70-79分为 C,60-69分为D,60分以下为 F。

2. 编写一个程序,实现简单的猜数字游戏。

提示:程序随机生成一个1到100之间的整数,用户输入猜测的数字,程序根据用户输入给出提示(太高、太低或正确)。

3. 编写一个程序,实现一个简单的计算器。

提示:程序提示用户输入运算符(+、-、*、/)和两个操作数,然后输出计算结果。

三、数组练习1. 编写一个程序,实现对一个整数数组的排序。

提示:可以使用冒泡排序、选择排序或插入排序算法。

2. 编写一个程序,找出一个字符串数组中最长的字符串。

提示:遍历字符串数组,比较每个字符串的长度。

3. 编写一个程序,实现字符串的反转。

提示:可以使用数组的索引特性来实现。

四、函数练习1. 编写一个函数,计算一个数的阶乘。

提示:使用递归或循环来实现。

2. 编写一个函数,实现字符串的复制。

提示:不使用库函数,手动复制字符串。

3. 编写一个函数,判断一个字符串是否为回文字符串。

提示:回文字符串是指正读和反读都一样的字符串。

五、指针练习1. 编写一个程序,使用指针交换两个整数的值。

提示:注意指针变量的赋值和解引用。

2. 编写一个程序,实现字符串的连接。

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题1、编写程序:输入一矩形的长和宽,计算该矩形的面积。

2、编程:输入求的半径R,计算并输出球的体积。

3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。

4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。

(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p 为半周长:p=(a+b+c)/2。

6、编写一个C程序,输出以下信息:**************************Very Good!**************************7、编写一个程序,输入a、b、c三个值,输出其中最大值.8、写出程序运行的结果:main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}9、写出程序运行的结果:main(){char a ,b, c1,c2;float x ,y;a = 3;b =7;x = 8.5;y = 71.82;c1 = ' A' ;c2 = 'a ';printf("a= %d b = %d/n",a,b);printf("x = %f y = %f",x,y);printf("c1= %c,c2 =%c",c1,c2);}10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

仅供个人用于学习、研究;不得用于商业用途。

For personal use only in study and research; not for commercial use.Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.толькодля людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.以下无正文。

C语言程序练习题汇编

C语言程序练习题汇编

C语言程序练习题汇编1、设计程序:统计满足条件x*x+y*y+z*z=2000的所有解的个数,说明:若a、b、c是1个解,则a、c、b也是1个解,等等。

2、设计程序:x[i],y[i]分别表示平面上1个点的x、y坐标,输入5点,求5点各点间距离总和3、设计程序:计算2的平方根、3的平方根、...、10的的平方根之和,要求计算结果具有小数点后10位有效位数4、数列第1项为81,此后各项均为它前1项的正平方根,统计该数列前30项之和5、设计程序:计算数列1,-1/3!,1/5!,-1/7!,1/9!,...的和至某项的绝对值小于1e-5时为止(该项不累加)6、设计程序:将数组a的每1行均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),然后将a数组输出7、设计程序:求斐波那契(Fibonacci)数列中大于t的最小的一个数,结果由函数JSValue返回,其中斐波那契数列F(n)的定义为:F(0)=0,F(1)=1F(n)=F(N-1)+F(n-2)分别计算当t=1000和t=3000时的结果8、设计程序:数组元素x[i]、y[i]表示平面上某点坐标,输入10个点,输出10个点中同处在圆(x-1)*(x-1)+(y+0.5)*(y+0.5)=25与(x-0.5)*(x-0.5)+y*y=36内的点数k。

9、设计程序:累加a="r235%^%34cdDW,."字符串中各个字符的ASCII码值10、设计程序:已知float a[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};输入x,计算多项式a0+a1*x+a2*x*x+a3*x*x*x+...的值。

11、设计程序:将数组a的每1行均除以该行上绝对值最大的元素,已知float a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}。

《C语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)

第一章C语言概述1.1、选择题(1)一个C语言程序是由()组成。

A. 一个主程序及若干个子程序B. 一个主程序C. 一个主函数及若干个子函数D. 一个主函数(2) 一个C语言程序总是从()开始执行。

A. 主过程B. 主函数C. 子程序D. 主程序(3) main函数在源程序中的位置()。

A. 必须在最开始B. 必须在子函数的后面C. 可以任意D. 必须在最后(4) 一个C程序的执行是从()。

A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到最后一个函数结束C. 本程序的main函数开始,通常也在main函数结束D. 本程序的第一个函数开始,到main函数结束(5) 以下叙述不正确的是()。

A. 一个C程序可由一个或多个函数组成B. 一个C程序必须包含一个main函数C. 在C程序中,注释只能位于一条语句的最后面D. C程序的基本组成单位是函数1.2、编程题(1)参照本章例题,编程输出如下信息:**********Very good!**********(2)编写一个C程序,输出以下信息:******Turbo C ** * * * *1.3 请根据自己的认识,写出C语言的主要特点。

1.4 简述C程序主要由哪些部分构成?1.5 用户编写的C程序上机运行要经过哪些步骤?第二章基本数据类型和表达式2.1 单项选择题(1) 以下不能用作变量名的是()A)_26 B)case C)scanf D)Double(2) 以下合法的八进制数是()A)0135 B)068 C)013.45 D)o7(3) 若变量已正确定义,以下非法的表达式是()A)a/=b+c B)a%(4.0) C)a=1/2*(x=y=20,x*3) D)a=b=c (4) 设x 为int 类型,其值为11,则表达式:(x++*1/3)的值是()A)3 B)4 C)11 D)12(5) 若题中各变量已正确定义并赋值,下面符合C 语法的表达式是()A )a%=7.6; B)a++,a=7+b+c C)int(12.3)%4 D)a=c+b=a+7 (6) 设k 和x 均为int 型变量,且k=7,x=12,则能使值为3的表达式是()A)x%=k%=5 B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)- (k%=5) (7) 能正确表示数学公式|)sin(|x ,的C 语言表达式是()A)sqrt(abs(sin(x*π/180)))B)sqrt(abs(sin(x*3.14/180))) C)sqrt(sin(x))D)sqrt (fabs (sin(x*3.14/180)))(8) 以下变量x 、y 、z 均为double 型且已正确赋值,不能正确表示代数式z y x的C 语言表达式是()A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z (9) 以下叙述中正确的是()A ) A )C 程序中,赋值运算符的优先级最低。

C语言经典程序100题(完整版)

C语言经典程序100题(完整版)

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

#include "stdio.h"#include "conio.h"main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}getch();}==============================================================【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}==============================================================【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

完成下列训练题的基本步骤是:
1、问题分析及解决方案框架确定
充分地分析和理解问题本身,明确问题到底要做什么。

(what to do?)
在确定解决问题框架过程中(how to do?),考虑怎样使程序结构清晰、合理、简单和易于调试,并确定每个函数的简单功能,以及函数之间的调用关系。

2、详细设计和编码
确定算法的主要流程,在此基础上进行代码设计(coding),一般来讲,每个
明确的功能模块程序不超过60行代码,否则,功能要继续分解。

3、上机前编写程序与检查
上机前检查程序可有效提高调试效率,减少上机调试程序时的无谓错误。

程序检查主要有两种途径:用一组测试数据手工执行程序;或者通过阅读或
给别人讲解自己的程序而深入、全面地理解程序逻辑,把程序中的明显错误
事前排除。

4、上机调试程序
提供的结果应当包括:
算法、数据结构的设计、程序清单
1、猜数游戏
游戏的开始由机器产生一个随机数(1~100之间,用库函数random()取值),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示“your answer is HIGH,try again!”否则,程序提示“your answer is LOW,try again!”直到猜对为止。

程序可以实现连续猜数,直到游戏者退出。

程序输出要求:累计游戏者猜对这个数所需的次数n,当n<=7时,给出“congratulation!”,当7<n<15时,给出“I believe you can do it better!”;当n>15时,用exit(0)库函数退出程序。

2、百钱百鸡问题(穷举算法)
我国古代数学家张丘建在《算经》中出了一道题“鸡翁一,值钱五;鸡母一,值钱三;
鸡雏三,值钱一。

百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
注:穷举法是最简单、最常见的一种程序设计方法,它充分利用了计算机处理的高速特性。

使用穷举法的关键是确定正确的穷举范围,即不能过分扩大,也不能过分缩小穷举的范围。

3、请编写一个程序,计算表达式:data1 op data2的值。

其中,op为运算符+、-、*、/、%。

4、打印所有的水仙花数
5、编写一个程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符
数组中并输出。

(提示:算法采用模拟人工法)
注:计算机模拟人功法是编程中常用的算法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。

6、判断一个数是否是数组中的成员(用二分查找法)
已知数组a中一共有10个已经排好序的整数(由小到大排序)。

现在从键盘上输入一个数,判断这个数是否是数组a中的数,如果是的话,打印出此数在数组a中的位置,否则打印“can’t find!”。

提示:①设待查找的数为x,设置三个位置变量l、m、h分别代表查找范围的顶部、中间位置和底部,m=(l+h)/2,把数组分成a[m]为中点的两段范围。

②判断x是否等于a[m],若是,则找到。

③若大于a[m],则x必定在后半段范围,即在a[m+1]到a[h],则舍弃前半段,再在后半段重新划分两段范围,定出l、m、h,重复以上步骤,逐步缩小查找范围。

7、位数大小排序(掌握数值排序算法)
输入一个五位整数,对此整数中的五个数值进行从大到小的顺序排序,形成一个新的五位整数,并输出这个整数。

要求:用函数调用
8、有一行字符,要求将其中每个单词中的第一个字母改成大写字母(如果原来已是大写字母
则不变)。

9、设计一个函数,要求删去指定文字行中的某个字符。

此行文字和要删去的字符均由键盘在
主函数中输入。

删去之后的文字行也要求在主函数中输出。

10、将螺旋方阵存放到n×n的二维数组中并把它打印输出。

要求由程序自动生成如下图所示
的螺旋方阵(而不是人为地初始化或逐个赋值)。

n由程序读入。

11、请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。

二维数组
中的值在主函数中赋予。

(数组维数用宏定义)
12、矩阵乘法(数值求解算法)
编写一个函数,实现矩阵A(2行3列)与矩阵B(3行2列)相乘,乘积放在C数组中。

在主函数中定义矩阵A和矩阵B,并输出结果。

13、求所有不超过200的N值,N的平方是具有对称性质的回文数。

回文数就是将一个数从左
往右读都是一样的,如:满足题意要求的数有:N=11,11的平方为121,121为一个回文数。

14、计算分数的精确值
使用数组精确计算m/n(0<m<n<=100)的值,如果m/n是无限循环小数,则计算并输出它的第一循环节,同时要求输出循环节的起始位置(小数位的序号)
由于计算机内字长有限,常规的浮点运算都有精度限制,为了得到高精度的计算效果,就必须自行设计算法。

提示:可将商存放在一维数组中,进行除法运算时,可模拟人的手工操作,即每次求出商的一位后,将余数乘以10,再计算商的下一位。

若某次余数为0,则为有限不循环小数。

若某次计算后的余数与前面的某个余数相同时,则m/n是无限循环小数。

15、马克思手中的数学题(穷举算法)
马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人、小孩各若干,在一家饭馆吃饭总共花了50先令:每个男人花3先令,每个女人花2先令,每个小孩花1先令,问男人、女人、小孩各有几人?
16、用梯形法求定积分(数值求解算法)
用梯形法编程求函数f(x)=x2+2x+1的定积分 f(x)dx的值。

(我这里没有装函数,第一项为x的平方,后面f(x)前有个积分符号,范围是从0到2)
提示:把积分区间[a,b]等分为n等份(a、b、n的值由程序输入),可得到若干个小梯形,积分面积就近似为这些小梯形面积之和。

17、一个奇异的三位数(穷举算法)
一个自然数的七进制表达式是一个三位数,而这个数的九进制表示也是一个三位数,且这两个三位数的数码顺序刚好相反,求这个三位数。

18、约瑟夫问题(掌握一维数组的用法)。

15个基督教徒和15个异教徒在海上遇险,必须将一半的人投入大海,其余的人才能幸免于难,于是想了一个办法:30个人围成一个圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环直到仅余15个人为止。

问:怎样排法,才能使每次投入大海的是异教徒?
提示: 30个人顺序编号,自增量k报数,k%9==0时,此人投入大海。

投入大海标志为置数组元素值为0或(-1),投入大海的人不再报数。

程序输出要求:程序执行后,显示原始顺序,每次投入大海人的信息及剩下人的顺序。

19、回文数的形成
任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后重复以上步骤,则最终可得到一个回文数。

请编程验证。

(回文数就是将一个数从左向右读都是一样的,如121,11等)。

(注:回文数不超过2147483647)
回文数的这一形成规则目前还属于一个猜想,尚未获得数学上的验证,有些回文数要经历上百个步骤才能获得,请编程验证,打印形成过程。

如输入整数78,则形成回文数的
过程为: 78+87=165,165+561=726,726+627=1353,1353+3531=4884。

提示:用一个函数来求反序数,另一个函数判断是否为回文数,在主函数中输入输出。

20、人机猜数游戏
由计算机“想”一个四位数,请人猜这个四位数是多少。

人输入一个四位数后,计算机首先判断这个数四个数位中有几个猜对了,并且在猜对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机所想的四位数为止。

请编程实现该游戏,游戏结束时,显示人猜一个数共用了几次。

提示:库函数random()产生一个随机数。

如: int z;
z=random(9999); //产生一个0~9999的随机数
21、条件编译
用条件编译方法实现以下功能:
输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变为其下一个字母,译为密码输出(如’a’变为’b’………’z’变为’a’)。

用宏命令来控制是否要译成密码。

例如: #define change 1 则输出密码,若#define change 0则不译成密码,按原码输出。

22、取子串函数
编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的字串
23、设计一个函数,对n个字符串按由小到大的顺序排列,n由程序读入,字符串的输入输出
都在main函数中进行。

24、输入三行文字,找出其中有多少个空格和多少个单词(规定单词间以一个或多个空格分开)。

若一个单词恰好在行末结束,则下一行的开头应有空格,句号和逗号后面也应有空格。

25、计算字符串中子串出现的次数
利用输入函数输入任意两个字符串,请编写程序求出第二个字符串在第一个字符串中出现的次数,即在第一个字符串中有几个第二个字符串。

相关文档
最新文档