vf编程试题集解析

合集下载

VF30道程序设计题参考答案

VF30道程序设计题参考答案

1求圆的面积cleainpu '请输入半径='to rif r>=0s=pi[]*r^2?'s=',selse?'此时半径无意义'endifretu2求分段函数的值cleainpu '请输入x='to xdo casecase x>0y=2*x+5case x=0y=-xcase x<0y=xendcase?'y=',yset talk onretu3输入一个成绩判断等级cleainput '请输入成绩='to x if x<=100 and x>=0do casecase x<60?'不及格'case x<70?'及格'case x<80?'中'case x<90?'良'otherwise?'优秀'endcaseendifif x>100 or x<0?'成绩无效'retu4输入多个成绩判断等级cleadime a[6]for i=1 to 6inpu'请输入成绩:'to a[i] ?':',str[a[i],3]if a[i]<=100 and a[i]>=0 do casecase a[i]<60?'不及格'case a[i]<70?'及格'case a[i]<80?'中'case a[i]<90?'良'otherwise?'优秀'endcaseendifif a[i]>100 or a[i]<0?'成绩无效'endifendforretu5求和1到100的和cleas=0for i=1 to 100s=s+iendfor?'s=',sretu6 1to100乘cleas=1for i=2 to 100s=s*iendfor?'s=',sretu7 1+3+……+99s=0for i=1 to 99 step 2s=s+iendfor?'s=',sretu8 1-2+3-……-100cleas=0for i=1 to 100s=s-(-1)^i*iendfor?'s=',sretu9 1+1/2+2/3+3/5+……前十项和cleas=1a=1b=1for i=1 to 9t=aa=bb=t+bs=s+a/bendfor?'s=',sretu10.1+2!+3!+cleas=0t=1for i=1 to 10t=t*is=s+tendif?'s=',sretu11. 对学生表中所有入学成绩≥650分的学生免去贷款cleaopen database 教学管理use 学生if 入学成绩>=650?姓名,'免去贷款'retu12. 输出图形* **** * ******* * **** ** *** *** ***** ** *** *** ** ***** *** *** ** **** * ******* * **** * 第一个cleafor t=1 to 4for i=1 to t??'*'endfor?endforretu下面是第五个图形cleafor t=4 to 1 step -1?space[4-t]for i=1 to t??'*'endforendforretu下面是第三个图形cleafor t=1 to 4?space[4-t]for i=1 to 2*t-1??'*'endfendfretu13. 判断一个整数是否素数cleainput'请输入x=' to xfor i=2 to x-1if mod[x,i]=0?x,'不是素数'exitendifendfor?x,'是素数'endifretu14. 判断十个整数是否素数cleadime a(10)for j=1 to 10input'请输入x=' to a(j)?for i=2 to a[j]-1if a[j]/i=int(a[j]/i)exitendifendforif i>a[j]-1?a[j],'是素数'else?a[j],'不是素数'endifendforretu15. 找出两个数的大数和小数cleadime a[2]for i=1 to 2input'请输入x=' to a[i]Endforif a[1]>=a[2]?a[1]else?a[2],'较大'endifretu16.找出三个数的最大数和最小数cleainput'请输入一个数:' to xstore x to max,minfor i=2 to 3input'请输入一个数:' to xif max<=xmax=xelsemin=xendfor?'最大数:',max?'最小数:',minretu17. 找出十个数的最大数和最小数cleadime a[10]for i=1 to 10input'请输入x=' to a[i]endforfor j=9 to 1 step -1for i=1 to jif a[i]<=a[i+1]t=a[i]a[i]=a[i+1]a[i+1]=tendifendforendfor?'最大值',a[1]?'最小值',a[10]retu18. 找出2×3矩阵中的最大数和最小数cleadime a[2,3]for i=1 to 2for j=1 to 3input'请输入x='to a[i,j]endforendforfor i=1 to 1for j=1 to 2if a[i,j]>=a[i,j+1]t=a[i,j]a[i,j]=a[i,j+1]a[i,j+1]=tendifendforendforfor j=1 to 3 step 2for i=1 to 1if a[i,j]>=a[i+1,j]t=a[i,j]a[i,j]=a[i+1,j]a[i+1,j]=tendifendforendfor?'最小值=',a[1,1]?'最大值=',a[2,3]retu19. 对三个整数从大到小排序cleadime a[3]for i=1 to 3input'请输入x=' to a[i]endforfor j=2 to 1 step -1for i=1 to jif a[i]<=a[i+1]t=a[i]a[i]=a[i+1]a[i+1]=tendifendforendforfor i=1 to 3space[2]?a[i]endfretu20.对十个整数从大到小排序(用选择法和起泡法两种方法cleadime a[10]for i=1 to 10input'请输入x=' to a[i]endforfor j=9 to 1 step -1for i=1 to jif a[i]<=a[i+1]t=a[i]a[i]=a[i+1]a[i+1]=tendifendforendforfor i=1 to 10space[2]?a[i]endforretu21. 输出Fibonacci(斐波那契)数列的前十项cleadime a[10]for i=1 to 10if i<3a[i]=1elsea[i]=a[i-2]+a[i-1]endif?a[i]endfor?retu22. 输出杨辉三角的前十行cleadime aa(10,10)for i=1 to 10?space(20-2*i)for j=1 to iif j>1.and.j<iaa[i,j]=aa(i-1,j-1)+aa(i-1,j)elseaa(i,j)=1endif??space[1]+str(aa[i,j],4)endfor?endforretu23. 对2×3矩阵转置cleadime a[2,3]for i=1 to 2for j=1 to 3input'请输入数值='to a[i,j]endforendfordime b[3,2]for j=1 to 3for i=1 to 2b[j,i]=a[i,j]??b[j,i]endfor?endforretu24. 求三位数中的所有水仙花数(即指一个三位数,其各位数字立方和等于该数本身)cleafor a=1 to 9for b=0 to 9for c=0 to 9if a^3+b^3+c^3=100*a+10*b+c?100*a+10*b+cendifendforendforendforretu25. 求100以内的所有完数(即一个数恰好等于除它本身外的所有因子之和)cleafor a= 1 to 100s=0for i=1 to a-1if a/i=int[a/i]s=s+iendifendforif a=s?sendifendforretu26. 已知三角形的三边(从键盘输入),求其面积(S^2=p(p-a)(p-b)(p-c), p=(a+b+c)/2) cleainput'请输入边长='to ainput'请输入边长='to binput'请输入边长='to cp=(a+b+c)/2m=p*(p-a)*(p-b)*(p-c)?'s=',sqrt(m)retu27. 求二元方程的根(分三种情况:两个不等实根,两个相等实根,两个不等虚根)cleai=val['i']input'请输入系数='to ainput'请输入系数='to binput'请输入系数='to cj=b^2-4*a*cdo casecase j>0x1=(-b+sqrt(j))/(2*a)x2=(-b-sqrt(j))/(2*a)?'x1=',x1?'x2=',x2case j=0x=(-b)/(2*a)?'x=',xotherwise?'存在两个不等虚根'endcaseretu28. 输入任意一个五位数,前后对应位置上的数据进行交换重新排列(例:25984→48952)cleainpu'请输入一个五位数:'to bdime a[5]a[5]=int[b/10000]i=int[b/1000]a[4]=mod(i,10)j=int[b/100]a[3]=mod[j,10]a[1]=mod[b,10]d=(b-a[1])/10a[2]=mod(d,10)?space(2)for k=1 to 5??str(a[k],1)endforretu29. 找出一个3x3矩阵的"鞍点",即该位置上的元素在该行上最大,在该列上最小(也有可能没有鞍点)cleadime a(3,3)for m=1 to 3for n=1 to 3inpu'请输入矩阵值='to a[m,n]endforendforfor i=1 to 3max=a[i,1]t=ik=1for j=1 to 3if max=<a[i,j]max=a[i,j]t=ik=jendifendformin=a[1,k]for z=1 to 3if min>=a[z,k]min=a[z,k]t1=zendiendfif t1=l?'存在鞍点=',a[t,k]endifendfor30. 求S(n)=a+aa+aaa+...+aaa....aaa(其中有n个a)之值,a是一个数字,n和a由键盘键入(例如:2+22+222+22222+22222,此时n=5)cleainput'请输入a='to ainput'请输入n='to ns=0m=0for i=1 to nm=m+a*10^(i-1)s=s+mendfor?'s=',sretu。

vf理论考试题及答案

vf理论考试题及答案

vf理论考试题及答案一、单项选择题(每题2分,共10题,满分20分)1. VF理论中,以下哪个是正确的函数定义?A. Function MyFuncB. Function MyFunc()C. Function MyFunc(参数1, 参数2)D. Function MyFunc(参数1; 参数2)答案:B2. 在VF中,以下哪个是正确的变量声明方式?A. Dim a, bB. Dim a, b As IntegerC. Dim a, b As StringD. Dim a, b As Double答案:B3. VF中的数组声明,以下哪个是正确的?A. Dim array[10]B. Dim array(10)C. Dim array(1 to 10)D. Dim array(10 to 1)答案:C4. 下面哪个是VF中的循环结构?A. ForB. WhileC. DoD. All of the above答案:D5. 在VF中,如何打开一个表单?A. Use 表单名B. Open 表单名C. Do 表单名D. Load 表单名答案:A二、多项选择题(每题3分,共5题,满分15分)6. VF中可以使用哪些类型的数据?A. NumericB. CharacterC. DateD. Logical答案:A, B, C, D7. 下列哪些是VF中的数据库对象?A. TableB. FormC. ReportD. Query答案:A, B, C, D8. VF中,哪些是合法的表达式?A. 5 + 3B. "Hello" + "World"C. 5 > 3D. 5 AND 3答案:A, C9. 在VF中,以下哪些是表单控件的事件?A. ClickB. LoadC. InitD. Close答案:A, B, C, D10. VF中,哪些是合法的文件操作命令?A. COPYB. DELETEC. RENAMED. ALL OF THE ABOVE答案:D三、填空题(每题2分,共5题,满分10分)11. 在VF中,使用________命令可以创建一个新的数据库。

vf试题及答案

vf试题及答案

vf试题及答案一、选择题(每题2分,共20分)1. Visual FoxPro中,下列哪个选项不是数据类型?A. 数字型B. 字符型C. 日期型D. 逻辑型答案:D2. 在Visual FoxPro中,哪个命令用于创建一个新的表单?A. CREATE FORMB. CREATE TABLEC. CREATE REPORTD. CREATE CLASS答案:A3. Visual FoxPro中,下列哪个函数用于计算两个日期之间的天数差?A. DATEDIFFB. DATEADDC. DATEFORMATD. DATEVALUE答案:A4. 在Visual FoxPro中,如何将一个表单的背景颜色设置为蓝色?A. THISFORM.BackColor = "Blue"B. THISFORM.BackColor = 0x0000FFC. THISFORM.BackColor = "0x0000FF"D. THISFORM.BackColor = "#0000FF"答案:D5. Visual FoxPro中,下列哪个命令用于打开一个表单?A. USEB. OPEN FORMC. DISPLAY FORMD. BROWSE答案:B6. 在Visual FoxPro中,如何将一个表的记录指针移动到第一条记录?A. GO TOPB. GO BOTTOMC. SKIP -1D. SKIP 1答案:A7. Visual FoxPro中,下列哪个函数用于获取当前日期?A. DATE()B. TODAY()C. NOW()D. TIME()答案:B8. 在Visual FoxPro中,如何将一个表的记录指针移动到最后一条记录?A. GO TOPB. GO BOTTOMC. SKIP -1D. SKIP 1答案:B9. Visual FoxPro中,下列哪个命令用于关闭一个表单?A. CLOSE FORMB. RELEASE FORMC. DESTROY FORMD. CLOSE答案:C10. 在Visual FoxPro中,如何将一个表的记录指针移动到下一条记录?A. GO TOPB. GO BOTTOMC. SKIP -1D. SKIP 1答案:D二、填空题(每题2分,共20分)1. 在Visual FoxPro中,使用________命令可以创建一个数据库。

VF历年笔试真题答案与解析

VF历年笔试真题答案与解析

清晰第一、效率第二&uot;的论点已成为当重和考虑下述几个因素:①源程序文档化。它包括以下3个方面:一是符号的命名应具
有一定的含义;二是正确的注释能够帮助读者理解程序;三是视觉组织,可以在程序中利
用空格、空行、缩进等技巧使程序层次清晰。②数据说明的方法。它包括以下3个方面:
一是数据说明的次序规范化;二是说明语句中变量安排有序化;三是使用注释来说明复杂
数据的结构。③语句的结构应该简单直接,不应该为提高效率而把语句复杂化。④输入和
输出方式和风格应尽可能方便用户的使用。
(2)【答案】A
【解析】软件设计是开发阶段最重要的步骤。从工程管理的角度来看可分为两步:概
的特点、习惯和逻辑思路。(4)【答案】B 【解析】用户所见到的数据模式是外模式也称用户模式。它是用户的数据视图,由概念模式导出。一个概念模式可以有若干个外模式,每个用户只关心与它有关的外模式,这样不仅可以屏蔽大量无关信息,而且有利于数据维护。 (5)【答案】D 程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。可以认为,著名的&uot;
设计(描述软件内部、软件与协作系统之间以及软件与人之间如何通信)、过程设计(把系
统结构部件转换成软件的过程)4个步骤。
(3)【答案】C
【解析】软件生命周期是指软件产品从提出、实现、使用、维护到停止使用退役的过
程。软件开发期包括概要设计、详细设计、实现和测试4个阶段。软件维护属于软件运行
要设计和详细设计。概要设计是将软件需求转化为软件体系结构、确定系统级接口、全局
数据结构或数据库模式;详细设计是指确立每个模块的实现算法和局部数据结构,用适应
方法表示算法和数据结构的细节。从技术观点来看,软件设计包括软件结构设计(定义软

VF表单编程例题详解

VF表单编程例题详解

11.1表单的建立与运行●创建表单的过程,就是定义控件的属性,确定事件或方法、代码的过程。

●表单就是一个容器,它可以容纳多个控件。

●11.1.2用表单设计器创建表单●打开表单设计器:●C r e a t e f o r m●文件/新建/表单/新建文件11.1表单的建立与运行●2.表单设计器环境●(1)属性窗口●表单及其控件均称为对象,每个对象都有自己属性,事件和方法。

●有的属性值可以在设置框中输入,有的需要从系统所提供的一组属性值中指定●有的属性是只读的,用户不能修改,斜体显示●要为属性设置一个字符值,可以在设置框中直接输入,不要加定界符。

(2)表单控件工具栏要求会使用的控件:标签、文本框、编辑框、命令按钮、组合框、列表框和表格(3)表单设计器工具栏(4)表单菜单表单中的对象设计过程:向表单添加控件-->设置属性-->设计代码11.1.3表单的运行有2种方法可以运行表单:(1)直接使用命令D O F O R M〈表单名〉(2)在表单设计器窗口,选择“表单”菜单中的“运行”命令,或直接单击工具栏中的红色惊叹号。

保存表单时,表单将被保存为一个表单文件(扩展名是.s c x)和一个表单备注文件(扩展名是.s c t)(P196)11.2表单的操作11.2.1表单的属性1.常用表单属性表单属性很多,但绝大多数很少用到。

表11.3中列出了有关表单的一些重要属性,这些属性规定了表单的外观和行为,经常在表单设计时用到。

请大家参考表11.3。

11.2.2常用事件与方法事件:一种系统预先定义而由用户或系统发出的动作2.表单事件以下3个事件用于表单和表单集:(1)L o a d事件:该事件代码从表单装入内存至表单被释放期间仅被运行一次。

(2)U n L o a d事件:在表单被释放时发生,是释放表单或表单集的最后一个事件。

(3)A c t i v a t e事件:常用设置表单上控件的初值和初始属性。

3.鼠标事件C l i c k事件:鼠标左键单击对象时发生的事件。

VF考试试题及答案

VF考试试题及答案

《Visual FoxPro程序设计基础》模拟试题及解答一、项目管理器、数据库、表和记录的输入和维护(25分)1、在自建文件夹下创建以自己名字拼音字母命名的项目管理器(如张三同学,应以“zhangsan.PJX”文件名,以下同);解答:①建立自己的目录:②设路径:点击VF程序中【工具】下拉菜单【选项】③建立项目名称:点击VF程序中【文件】下拉菜单【新建】2、在以自己名字拼音字母命名的项目管理器中建立一个以自己名字命名数据库(如张三同学,应为“zhangsan.DBC”);解答:①建立数据库:3、在数据库中创建学生表(表文件名为XS .DBF),长表名为:学生情况登记表,表结构如下:解答:①建立表:②长表名:4、在同一数据库中创建成绩表(表文件名为CJ .DBF), 长表名为:成绩表,表结构如下:表二、 CJ.DBF②长表名表一、 XS.DBF②点击VF程序中【显示】下拉菜单【追加方式】③点击VF程序中【显示】下拉菜单【浏览】(要先点选中cj.dbf)④点击VF程序中【显示】下拉菜单【追加方式】6、为表二中的字段Cj设置字段有效性规则:Cj应该在0到100之间,否则提示“你的输入有错误,请重新输入!”;解答:①点击VF程序中【修改】,在选中CJ,在其字段有效性下面选中规则(R)7、创建索引在表一中以字段Xh创建索引,索引表达式为主索引,索引名称为Xh;在表二中以字段Xh 建立索引,索引表达式为普通索引,索引名称为Xh;解答:①选中xs.dbf,点击【修改】,再选择【索引】,类型改为主索引。

②选中cj.dbf,点击【修改】,再选择【索引】,类型改为普通索引。

8、表一和表二建立永久性关系,并编辑起参照完整性,将更新规则设置为级联,删除规则设置为限制,插入规则设置为忽略。

解答:①点击VF程序中【显示】下拉菜单【数据库设计器】②用鼠标按住【学生情况登记表】中的钥匙,拖动鼠标箭头到【成绩表】中的索引。

③点击VF程序中【数据库】下拉菜单【编辑参照完整性】二、建立查询基于表一和表二在项目管理器中创建以自己名字命名的多表查询(如张三,应为“zhangsan .QPR”);解答:①建立查询表要求利用xs.Xh和cj.Cj产生一个平均成绩的字段,求每个学生的平均成绩;设置排序依据,按学号(xs.Xh)升序排列;解答:在函数和表达式中选AVG(cj.cj)三、建立报表利用报表向导,基于以上的表,在项目管理器中创建以自己名字命名的一对多报表(如张三同学,应为“zhangsan .FRX”),报表中的信息有:xs.Xh、xs.Xm、xs.Xb、xs.Ximing、xs.Zydh、cj.Cj;解答:①点击项目管理器中【文档】下拉菜单【报表】选中【报表向导】再选【一对多报告向导】四、建立表单1.基于表一和表二在项目管理器中创建以自己名字命名的一对多表单(如张三同学,应为“zhangsan .SCX”);2.如图所示设置表单布局,表单的标题为:学生成绩情况表;解答:①③点击VF程序中【显示】下拉菜单【数据环境】把需要的数据直接拖进表单113.表单运行时,屏幕显示结构如下所示;给按钮编程,实现其相应功能(注意,当记录处在第一条或最后一条记录时,上一条或下一条按钮变为不可操作)。

VF习题讲解(答案)

VF习题讲解(答案)

VF习题讲解(答案)一.填空题1.数据模型一般有______层次_____、__网状__________和_____关系_______。

2.人一般有身份证号、姓名、性别等属性,其中可作为主关键字的是_____身份证号____________。

3.函数INT(-3.415)的值是_____-3_________。

4.函数LEN(SPACE(2)-SPACE(3))的返回值是___5__________。

5.一个表的主关键字被包含到另一个表中时,在另一个表中称这些字段为___外键__________。

6.二维表中的行称为关系的_____元组______。

7.查询设计器与视图设计器相比,少了__________更新条件____选项卡。

8.扩展名为.DBC的文件表示____数据库____;表示应用程序文件的扩展名为_______.prg____。

9.用事件方式释放当前运行的表单用_____thisform.release_______________。

10.在Visual FoxPro中, _quit______命令能在程序终止后,直接退出VisualFoxPro系统环境,返回Windows操作系统环境。

11.若X="青岛理工大学",left(x,2)、SUBSTR(X,3,6)的显示结果分别为___”青”____________、_______”岛理工”________。

12.实现表之间临时联系的命令是______set relation to _____________。

13.在表的尾部追加一条空白记录的VF命令是_____appendblank________。

14.?VARTYPE(″10/25/01″)的输出值是__C_________。

15.?ROUND(123.456,2),显示结果为__123.46______,?ROUND(123.456,-2),显示结果为__100_________。

vf练习题目及解题方法

vf练习题目及解题方法

vf练习题目及解题方法导言VF(Variational Formulation,变分公式)是解决偏微分方程(Partial Differential Equations,PDE)的一种常用方法。

在数值计算中,我们通常使用有限元方法(Finite Element Method,FEM)来求解PDE的近似解。

本文将介绍一些VF 的练习题目,并提供相应的解题方法。

1. 一维扩散方程题目描述考虑以下一维扩散方程:∂u/∂t = ∂²u/∂x²其中,u是未知函数,t是时间,x是空间。

1.给定初始条件u(x,0) = f(x)和边界条件u(0,t)= u(1,t) = 0,求解方程的近似解。

2.使用有限元方法,将一维区间[0,1]等分为N个单元,求解方程的近似解。

3.计算近似解与真实解之间的误差。

解题方法1.首先,我们需要对时间和空间进行离散化处理。

可以使用Euler方法或Runge-Kutta方法对时间进行离散化,使用有限差分方法对空间进行离散化。

2.设定时间步长Δt和空间步长Δx。

3.将扩散方程离散化为差分方程。

使用向前差分或中心差分方法对时间导数和空间导数进行离散化。

4.在每一个时间步长上,根据前一时刻的解,使用离散化的方程来计算当前时刻的解。

5.重复上述步骤,直到达到所需的时间点。

6.带入初始条件和边界条件,求解代数方程组,得到近似解。

7.计算近似解与真实解之间的误差。

可以使用均方误差或其他适当的误差度量方法。

2. 二维泊松方程题目描述考虑以下二维泊松方程:∂²u/∂x² + ∂²u/∂y² = f(x,y)其中,u是未知函数,f是已知函数,x和y是空间变量。

1.给定边界条件u = g在边界上的值,求解方程的近似解。

2.使用有限元方法,将二维区域Ω离散化为三角网格,求解方程的近似解。

3.计算近似解与真实解之间的误差。

解题方法1.将二维区域Ω离散化为三角网格。

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

【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序4】题目:将一个正整数分解质因数。

例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n '.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。

例如6=1+2+3.编程找出1000以内的所有完数。

【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

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

【程序12】题目:企业发放的奖金根据利润提成。

利润(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,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

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

【程序13】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

请看具体分析:【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

【程序15】题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y 则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x最小。

【程序16】题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

【程序17】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少。

1.程序分析:采取逆向思维的方法,从后往前推断。

【程序18】题目:两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。

有人向队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序19】题目:打印出如下图案(菱形)****************************1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。

【程序20】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。

【程序21】题目:求1+2!+3!+...+20!的和1.程序分析:此程序只是把累加变成了累乘。

【程序22】题目:利用递归方法求5!。

1.程序分析:递归公式:fn=fn_1*4!【程序23】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。

问第4个人岁数,他说比第3个人大2岁。

问第三个人,又说比第2人大两岁。

问第2个人,说比第一个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。

要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

【程序24】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

【程序25】题目:一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

【程序26】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if 语句判断第二个字母。

【程序27】题目:求100之内的素数【程序28】题目:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

【程序29】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a累加后输出。

【程序30】题目:有一个已经排好序的数组。

现输入一个数,要求按原来的规律将它插入数组中。

1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

【程序31】题目:将一个数组逆序输出。

1.程序分析:用第一个与最后一个交换。

【程序32】题目:取一个整数a从右端开始的4~7位。

程序分析:可以这样考虑:(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。

可用~(~0 < <4)(3)将上面二者进行&运算。

【程序33】题目:打印出杨辉三角形(要求打印出10行如下图)1.程序分析:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【程序34】题目:输入3个数a,b,c,按大小顺序输出。

1.程序分析:利用指针方法。

【程序35】题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

【程序36】题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数【程序37】题目:有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

【程序38】题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

【程序39】题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)【程序40】题目:字符串排序。

【程序41】题目:海滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。

第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?【程序42】题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。

求??代表的两位数,及809*??后的结果。

【程序43】题目:求0—7所能组成的奇数个数。

【程序44】题目:一个偶数总能表示为两个素数之和。

【程序45】题目:判断一个素数能被几个9整除【程序46】题目:两个字符串连接程序【程序47】题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序48】题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序49】题目:计算字符串中子串出现的次数【程序50】题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud "中。

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

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

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

2。

程序源代码: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);}}【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1。

相关文档
最新文档