程序结构练习题
顺序结构程序设计练习题
顺序结构程序设计练习题一、选择题1、下面正确的赋值语句是()。
A)x+y=30B)y=π*r*r C)y=x+30D)3y=x2、为了给x,y,z三个变量赋初值1,下面正确的赋值语句是()A)x=1:y=1:z=1B)x=1,y=1,z=1C)x=y=z=1D)xyz=13、赋值语句:a=123+left("123456",3)执行后,a变量中的值是。
A)"12334"B)123C)12334D)2464、在Visual Basic中,下列____程序行是正确的。
A)X=Y=5B)A+B=C^3C)Y=1&Y=Y+1D)I=X10”5、假定X是一个数值型变量,那么由函数组成的表达式INT(X/2)=X/2,作用是____。
A)用于测试X是否偶数B)返回一个整数C)返回一个奇数D)用于测试X是否整数6、在Visual Basic中,下列____单词用于注释语句。
A)Rem B)End C)Else D)Loop7、inputBox函数反回值的类型为()。
A)数值B)字符串C)变体D)数值或字符串(视输入的数据而定)8、如果在立即窗口中执行以下操作:a=8:b=9print a>b则输出结果是()。
A)–1B)0C)False D)True9、语句Print Format(32548.5,"000,000.00")的输出结果是()A)32548.5B)32,548.5C)032,548.50D)32,548.5010、为了把焦点移到某个指定的控件,所使用的方法是()A)SetFocus B)Visible C)Refresh D)GetFocus11、在窗体(Name属性为Form1)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:Private Sub Command1_Click() a=Text1.Text+Text2.TextPrint aEnd Sub Private Sub Form_Load() Text1Text=""Text2Text=""End sub程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为()。
循环结构程序设计练习题 内含答案
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是( d )。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、以下程序程序的执行后的输出结果是( c )。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}A.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0) printf(“%c”,*s); s++;}}main(){ char a[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97A.dB.goC.godD.good6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。
A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。
流程图练习题(三种结构)
流程图练习题(1)1.下列图形符号属于判断框的是________.2.下列关于流程线的说法①流程线表示算法步骤执行的顺序,用来连接图框;②流程线只要是上下方向就表示自上向下执行可以不要箭头;③流程线无论什么方向,总要按箭头的指向执行;④流程线是带有箭头的线,它可以画成折线.其中正确的有________.3.如图所示的流程图的输出结果是________.(第3题)(第4题)4.如上右图图的作用是交换两个变量的值并输出,则①处应为________.5.下列所画4个流程图是已知直角三角形两直角边a,b求斜边c的算法,其中正确的是________.6.如图,对本题流程图表示的算法,描述最准确的是________.①可用来判断a,b,c是否为一组勾股数;②可用来判断a,b,c之间大小顺序;③可用来判断点(a,b)是否在直线x=c上;④可用来判断点(a,b)与圆心在原点,半径为c的圆的位置关系.7.解决下列几个问题,只用顺序结构画不出其流程图的是________.①利用公式1+2+3+…+n =n (n +1)2计算1+2+3+…+100的值;②当p (x 0,y 0)及直线l :Ax +By +C =0一定时,求点p 到直线l 的距离d ; ③求函数f (x )=2x 3-3x 2-x -1当x =-1时的函数值;④求函数y =⎩⎪⎨⎪⎧x -1,x >0x 2,x ≤0当x =x 0时的函数值.8.(2011年南京高一检测)如图,该流程图的运行结果S =________.(第9题)(第8题) (第10题) 9.运行如图所示的流程图,输出的结果是________.10.下列框图用来求点p (x 0,y 0)到直线l :Ax +By +C =0的距离d ,图中①处为________.11.给出流程图如图,若输出的结果为2,则①处的处理框内应填的是________.12.下图算法的功能是________.(第11题)(第12题)13、.写出下列流程图的运行结果.(1)则x=______;(2)则ω=______;(3)若R=1,则y1=________.12.如图阅读下列两个求三角形面积的流程图,回答问题.(1)图①的流程图输出结果S是多少?图②中若输入a=4,h=3,输出的结果是多少?(2)对比一下两个流程图你有什么发现?13.下列语句表达中是算法的有________.①从济南去巴黎可以先乘火车到北京再坐飞机抵达;②利用公式S =12ah 计算底为1,高为2的三角形的面积;③12x >2x +4; ④求M (1,2)与N (-3,-5)两点连线的方程可先求MN 的斜率,再利用点斜式方程求得.14.下列四种叙述为算法的是______________.①在家里一般是妈妈做饭 ②做米饭需要刷锅、淘米、添水、加热这些步骤 ③在野外做饭叫野炊 ④做饭必须要有米15.下列各式中S 值不可以用算法求解的是________. ①S =1+2+3+4;②S =12+22+32+ (10002)③S =1+12+13+…+11000;④S =1+2+3+4+….16.已知A (-1,0),B (3,2),下面是求直线AB 的方程的一个算法,请将其补充完整:第一步,____________________________.第二步,用点斜式写出直线AB 的方程y -0=12[x -(-1)].第三步,将第二步的方程化简,得到方程x -2y +1=0. 17.结合下面的算法:第一步,输入x ;第二步,判断x 是否小于0,若是,则输出x +2,否则执行第三步; 第三步,输出x -1.当输入的x 的值为-1,0,1时,输出的结果分别为________,________,________.18.写出求方程2x +3=0的解的算法步骤:第一步____________,第二步____________,第三步____________.19.已知函数f (x )=⎩⎪⎨⎪⎧x 2-x +1 (x ≥2),x +1 (x <2),设计一个算法求函数的任一函数值.第一步 输入x ;第二步 ______________________________________; 第三步 输出x 2-x +1; 第四步 输出x +1.流程图练习题(2)1.如图所示的流程图中含有的基本结构是________.(第1题)(第4题) 2.下列函数求值算法中需要用到选择结构的是________.①f (x )=x 2-1; ②f (x )=2x +1;③f (x )=⎩⎪⎨⎪⎧x 2+1 (x >1)x 2-1 (x ≤1); ④f (x )=2x .3.某算法的程序框图如图所示,则输出量y 与输入量x 满足的关系式是________.4.①已知圆的半径,求圆的内接正三角形的边长;②求方程ax +b =0(a ,b 为常数)的根; ③求三个实数a ,b ,c 中的最小者.解决上述问题必须用选择结构的是________.5.已知函数y =2|x |,如图所示是表示给定x 的值,求其相应函数值的流程图,若输入log 122,则输出结果为______.(第5题) (第6题) 6.(改编题)指出流程图的运行结果:若输入-4,则输出结果为________.7.已知函数f (x )=⎩⎪⎨⎪⎧4x (0<x ≤5),20(5<x ≤9),56-4x (9<x <14),求f (a )(0<a <14)的算法中,需要用到条件结构,其中判断框的形式是________.8.给出一个流程图,如图所示,其作用是输入x 的值,输出相应的y 的值.若要使输入的x 的值与输出的y 的值相等,则这样的x 的值的个数有________.(第8题) (第9题)9.阅读如图所示的流程图,回答问题:若a =50.6,b =0.65,c =log 0.55,则输出的数是________.10.已知流程图:若输出的数是3,则输入的数x =________.11.(2011年盐城质检)下图的作用是判断输入数x 的奇偶性,则②处应为________.(第10题) (第11题) 12.如图流程图的功能是________.(第12题)13.画出求函数y =⎩⎪⎨⎪⎧x 2+1(x ≥0)-x 2+1(x <0)的值的流程图.解:11.已知下列算法:(1)指出其功能(用算式表示);(2)画出该算法的程序框图.①输入x ;②若x >0执行③,否则执行⑥;③y ←2x +1;④输出y ;⑤结束;⑥若x=0执行⑦;否则执行⑩;⑦y ←12;⑧输出y ;⑨结束;⑩y ←-x ;⑪输出y ;⑫结束.12.某居民区的物业部门每月向居民收取卫生费,计费方法如下:3人和3人以下的户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出流程图.流程图练习题(3)1.算法中通常有三种不同的基本逻辑结构,下面说法正确的是________.①一个算法只能包含一种基本逻辑结构;②一个算法可以包含三种基本逻辑结构的任意组合;③一个算法最多可以包含两种基本逻辑结构;④一个算法必须包含三种基本逻辑结构.2.解决下列问题需用循环结构的是________.①求函数y=|x-1|的函数值;②求函数y=2x,在x=1,2,3,…,10时的函数值;③求1+2+3+…+10的值.3.(2010年高考湖南卷)如图,是求12+22+32+…+1002的值的程序框图(即流程图),则正整数n=________.(第3题)(第4题)4.算法流程图如图所示,其输出结果是________.5.已知下列说法①选择结构中,根据条件是否成立有不同的流向;②循环结构中循环体根据条件是否成立会被反复执行;③循环结构的形式只有一种.其中正确的是________.6.如图所示的流程图,若输入m=4,n=6,则输出a=________,i=________.(第6题)(第7题)7、(2010年高考天津卷改编)阅读上边的程序框图(即流程图),运行相应的程序,则输出s的值为________.8.如图是计算1+3+5+…+99的值的流程图,那么在空白的判断框中,应填入________.(第8题)(第9题)9.某篮球队6名主力队员在最近三场比赛中投进的三分球个数如下表所示:队员i 12345 6三分球个数a1a2a3a4a5a6上图是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图(即流程图),则图中判断框应填________,输出的s=________.(注:框图中的赋值符号“=”也可以写成“←”或“:=”)10.(2010年高考江苏卷)如图是一个算法流程图,则输出的S 的值是________.(第10题) (第11题)11.某流程图如图所示,该程序运行后输出的倒数第二个数是________.12.阅读如图所示的流程图,若该框图是计算“A 4+A 5+A 6”的值,那么判断框中应填________.(第12题)(第13题)13、 (2010年高考福建卷改编)阅读如图所示的程序框图(即流程图),运行相应的程序,输出的i 值等于________.14.如下图所示的四个流程图,都是为计算2222100642++++ 而设计的,正确的流程图序号为_________;图③中,输出的结果为__________________________ (只须给出算式表达式).15.现欲求12151311-++++n 的和(其中n 的值由键盘输入),下左图已给出了其流程图的一部分,则其中①应填 ,②应填 .是 否。
C语言——顺序结构程序设计练习题
顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
C语言(顺序结构程序设计)习题与答案
正确答案:D
16、已知ch是字符型变量,下面正确的赋值语句是( )。
A.ch="\";
B.ch= '\xff';ห้องสมุดไป่ตู้
C.ch= '123';
D.ch= '\08';
正确答案:B
二、判断题
1、每个语句和数据定义的最后都必须有分号。(√)
2、算述运算*、/、+和一具有相同的优先级。(×)
A.0~65535
B.0~2147483647
C.0~32767
D.0~255
正确答案:A
12、已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A.必须在系统调用的库函数的后面
B.必须在最开始
C.可以任意
D.必须在最后
正确答案:C
3、下面四个选项中,均是不合法的浮点数的选项是( )。
A.160.
0.12
e3
B.123
2e4.2
.e5
C.-e3
.234
1e3
D..18
123e4
0.
正确答案:B
4、下面四个选项中,均是合法浮点数的选项是( )。
A.+le+1
5e-9.4
03e2
B.123e
1.2e-.4
+2e-1
C语言程序设计(结构)习题与答案
一、单选题1、设有定义:struct complex{int real, unreal;} data1={1,8},data2;则以下赋值语句中错误的是()。
A.data2.real=data1.unreal;B.data2=(2,6);C.data2=data1;D.data2.real=data1.real;正确答案:B2、设有定义:struct{char mark[12];int num1;double num2;} t1,t2;若变量均已正确赋初值,则以下语句中错误的是()。
A.t2.num1=t1.num1;B.t2.num2=t1.num2;C.t1=t2;D.t2.mark=t1.mark;正确答案:D3、有以下定义语句:struct student{int num;char name[9];};则不能正确定义结构体数组并赋初始值的是( )。
A.struct stu[]={{1,"zhangsan"},{2,"li si"}};B.struct student stu[2]={{1,"zhangsan"},{2,"li si"}};C.struct student stu[2]={1, "zhangsan",2,"li si"};D.struct student stu[]={{1,"zhangsan"},{2,"li si"}}; 正确答案:A4、有以下程序:#include<stdio.h>struct S{ int a,b;}data[2]={10,100,20,200};int main(){struct S p=data[1];printf("%d\n",++(p.a));return 0;}程序运行后的输出结果是()。
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。
循环结构程序设计练习题内含答案
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}A.自然数 1~9的累加和B.自然数 1~10 的累加和C.自然数 1~9中的奇数之和D.自然数 1~10 中的偶数之和2、以下关于 for 语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用 break 跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若 i和 k 都是 int 类型变量,有以下 for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是(d)。
A. 循环体执行两次B.循环体执行一次C.循环体一次也不执行D. 构成无限循环4、以下程序程序的执行后的输出结果是(c)。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2 -i][i]);}A.753B.357C.369D.7515、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0)printf(“%c”,*s);s++;}}main(){ char a[]={“good”};fun( a) ;printf(“ n”);}注意:字母 a 的 ASCⅡ码值为 97A.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。
A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。
顺序结构程序设计练习题
A.intI=100;B.for(;;);
while(1)
{I=I%100+1;
if(I>100)break;}
C.intk=0;D.ints=36;
do{--k;}while(s);
while(k>=0);--s;
答案:C
5.以下能正确计算1*2*3*……*10的程序是()。
车>
C)11,12<回车>D)11,<回车>12<回车>
15.有以下程序段:
intm=0,n=0;
charc=‘a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是(A)。A)10,A,10B)16,a,10C)10,a,0D)10,A,0
k=(++a<0)&&(b+=5);
printf("%d%d%d\n",k,a,b);
}
A)104B)103C)003D)
004
答案:D
15.下列运算符中,结合方向为自左向右的是()。
(A)?:(B),(C)+=(D)+的是()
A)!B)%C)-=D)&&
答案:(A)
putchar(c2);
}
当运行时输入:a<回车>后,以下叙述正确的是______。A)变量c1被赋予字符a,c2被赋予回车符
B)程序将等待用户输入第2个字符
C语言习题五循环结构程序设1
习题五循环结构程序设计1. 有以下程序main(){ int i, j;for(i=1;i<4;i++){ for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);printf("\n");} }程序运行后的输出结果是。
A、1*1=1 1*2=2 1*3=3B、1*1=1 1*2=2 1*3=32*1=2 2*2=4 2*2=4 2*3=63*1=3 3*3=9C、1*1=1D、1*1=11*2=2 2*2=4 2*1=2 2*2=41*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9解析:本题考查的是循环嵌套。
在一个循环体内又完整地包含了另一个循环,称为循环嵌套。
外循环i 的值分别为1、2、3,当i=1,内循环j=1时,输出1*1=1;当内循环j=2时,输出1*2=2;当内循环j=3时,输出1*3=3;当i=2,内循环j=2时,输出2*2=4;当内循环j=3时,输出2*3=6;当i=3,内循环j=3时,输出3*3=9。
故本题答案选B。
2. 有以下程序main(){ int k=5, n=0;do{switch(k){case 1: case 3: n+=1; k--; break;default: n=0; k--;case 2: case 4: n+=2; k--; break;}printf("% d",n);}while(k>0 && n<5);}程序运行后的输出结果是______。
A、235B、0235C、02356D、2356解析:本题考查的是循环嵌套。
do-while语句的特点是先执行循环体,然后判断循环条件是否成立,当循环条件的值为0时循环结束。
执行switch语句,寻找与5吻合的case 5分支,没有寻找到,于是执行default后的语句,n=0,k的值变为4,继续执行switch语句,寻找与4吻合的case 4分支,开始执行其后的各语句:n+=2=0+2=2,k的值变为3,遇到break语句跳出该switch语句体。
C语言循环结构练习题
(1)编写一个程序,求100199********-++-+-Λ之值。
(2)编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。
(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。
(6)编写一个程序,求e 的值。
!1!21!111n e ++++≈Λ (7)编写一个程序,求满足如下条件的最大的n :10003212222≤++++n Λ(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。
编写一个程序,采用迭代法问某人共摘了多少只桃子。
(9) 输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。
(东师大,01年)(10)求一组整数中的正数之积与负数之和,直到遇到0时结束。
(东师大,03年)(11)输入一组实数,求前10个正数的平均值。
(东师大,02年)(12)编程求1~200中能被2,3,5除余1的前10个整数。
(东师大,02年)(13)输入100个整数,统计这些数中能被3或5整除数所占的百分比。
(东师大,02年)(14)计算并输出200—600中能被7整除,且至少有一位数字是3的所有数的和。
(东师大,01年)(15)输出1~999中能被5整除,且百位数字是5的所有整数。
(东师大,04年)(16)设N 是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N 值。
(东师大,03年)\(17)有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a !+b !+c !。
(如:145=1!+4!+5!)(东师大,04年)(18)编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字之积为12。
C语言第4章程序题
c语言程序设计练习题第三章顺序结构一、选择题1、下面程序的输出是______main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=13B) k=11,k=13,k=13C) k=11,k=013,k=oXbD) k=11,k=13,k=b2、以下合法的C语言赋值语句是A)a=b=58; B)k=int(a+b) ; C)a=58,b=58; D)-- i;3、以下程序的输出结果是A)0 B)1 C)3 D)不确定main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);5、执行下面程序段后,c3中的值是_____A)0B)1/2 C)0.5 D)1int c1=1 , c2=2 , c3;c3=c1/c2;6、若执行以下程序段,其输出结果是______A)3,0,-10 B)0,0,5C)-10,3,-10 D)3,0,5int a=0 , b=0 , c=0;c=(a-=a-5) , (a=b,b+3) ;printf(“%d , %d , %d\n” , a,b,c);7、以下程序段的输出是_______A)*0000057.66* B)* 57.66*C)*0000057.67*D)* 57.67*float a=57.666;printf(“*%010.2f*\n”, a);8、若有以下定义和语句:int a=5a++;此处表达式a++的值是____A) 7 B) 6C) 5 D) 49、若有以下定义和语句:char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A")则输出结果是_______A) 2,M B) 3,EC) 2,e D) 输出结果不确定10、以下程序的输出结果是______main(){ int x=10,y=10;printf("%d%d\n",x--,--y);}A) 10 10 B) 9 9C) 9 10 D) 10 911、★在C语言中,如果下面的变量都是int类型,则输出结果是______ sum=pad=5;pad=sum++,pad++,++pad;printf("%d\n",pad);A) 7 B) 6C) 5 D) 412、★以下程序的输出结果_____#include<stdio.h>main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A) 11,10 B) 9,10C) 010,9 D) 10,913、请读程序int i =65536printf("%d\n",i);上面程序的输出结果是_____A) 65535 B) 0C) 有语法错误,无输出结果 D) 114、已知字符A的ASCII码为十进制的65,下面程序的输出是_____main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,CC) C,D D) 不确定的值15、★若有定义和语句:char s[10]; s="abcd"; printf("%d\n",s);则结果是_____A) 输出 abcd B) 输出 aC) 输出 adcb D) 编译不能通过16、★若有定义:int x,y; char a,b,c; 并有以下输入数据(此处<CR>代表换行,代表空格):1 2 <CR>A B C<CR>则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______A) scanf("x=%d y=%d",&x,&y); a=getchar(); c=getchar();B) scanf("%d%d",&x,&y); a=getchar(); b=getchar(); c=getchar();C) scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);D) scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);17、★两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____ main(){int x;scanf("%d",&x);if (x++>5) printf("%d",x)else printf("%d\n",x--);}A) 7和5 B) 6和3C) 7和4 D) 6和418、★若执行下面的程序从键盘输入3和4,则输出是_______main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if (a<b) s=b;s=s*s;printf("%d\n",s);}A) 14 B) 16C) 18 D) 2019、★设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>20、★以下程序的输出结果是____#include<stdio.h>main(){printf("%d\n",NULL);}A) 不确定B) 0C) –1 D) 1二、填空题1、复合语句在语法上被认为是___分程序_____,空语句的形式是___;___。
C语言——顺序结构程序设计练习题
C语⾔——顺序结构程序设计练习题顺序结构程序设计习题⼀、选择题:(以下各题□代表空格。
)1.以下程序运⾏的结果是:#includeint main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运⾏的结果是:#includeint main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下⾯输⼊形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#includeint main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为⼤写字母A;B)程序的输出结果为⼩写字母a;C)运⾏时产⽣错误信息;int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#includeint main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d⼀种;B)%x是格式符的⼀种,它可以适应与任何⼀种类型的数据;C)%x是格式符的⼀种,其变量的值按⼗六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
循环结构程序设计练习题
循环结构程序设计练习题1、运行以下语句后,A的值为______。
Dim A As IntegerA=1Do Until A=100 A) 99 B) 100A=A+2 C) 溢出D) 101Loop2、以下程序运行结果是()。
S=0For H=1 T o 10 A)15 B)25If Int(H/2)<>H/2 Then C)35D)45S=S+HEnd IfNext HPrint S3、在窗体上画一个command1的命令按钮,然后编写如下事件过程:X = 0N = Inputbox("")For I = 1 T o NFor J = 1 T o IX = X + 1Next JNext IPrint X程序运行后单击命令按钮,如果输入3,则在窗体上显示的内容是( )A) 3 B) 4C) 5 D) 64、设有以下循环结构Do循环体Loop While <条件>则以下叙述中错误的是( )A)"条件"是一个为0的常数,则一次也不执行循环体B)"条件"可以是关系表达式、逻辑表达式或常数C)循环体中可以使用exit Do语句D)如果"条件"总是为true,则不停地执行循环体5、下面程序的循环次数是()For J=8 T o 35 Step 3Print J A)7B)8Next J C)9D)106、对正实数x 的第四位小数四舍五入的vb表达式是()。
A) 0.001*Int(X+0.005) B ) 0.001*(1000*X+0.5)C) 0.001*Int(1000*X+5) D) 0.001*Int(1000*(X+0.0005))7、下面程序运行后在文本框中的结果是()For K=1 T o 3For M=1 T o K A)12B)14For N=M T o 3 C)18D)24X=X+1Next N,M,KT ext1.T ext=X8、下面程序运行后的输出结果是()For H=1 T o 13 Step 2H=H+1 :Print H;A)2 4 6 8 10 12B)1 3 5 7 9 11 13 Next H C)2 5 8 D)2 5 8 11 14 9、下面程序的作用是什么()M=0:N=0For H=1 T o 10X=Val(Inputbox(“请输入数据”,””,0))If X<0 ThenM=M+XElseif X>0 ThenN=N+1End IfNext HPrint M,NA)计算从键盘上输入的数据之和,并统计输入数据的数目B) 分别计算从键盘上输入的正数之和与负数之和C) 分别统计从键盘上输入的正数和负数的数目D) 计算从键盘上输入的负数之和,并统计正数的数目10、下列关于for循环的叙述中,正确的是()A) 循环体至少被执行一次B) 循环体有可能不被执行C) 步长不允许是小数D) 循环初值等于终值时循环体不被执行11、下列程序的输出结果是哪一个()Do While X<20X=X+1:X=X*X A)36B)25Loop C)16 D)12Print X12、下面程序的运行结果是()A=1:B=1DoA=A+1:B=B+1Loop Until B>5Print "K=";A;Spc(3);"B=",B+AA)K=7 B=14B)K=5 B=10C)K=6 B=6 D)K=6 B=1213、下面语句组中,不能实现20次循环的有()A) N=0 B) N=0Do DoN=N+1 N=N+1Loop Until N>=20Loop Until N<20C) N=0 D) N=0Do Do Whle N <20N=N+1 N=N+1Loop While N<20 Loop14、下面程序能计算1+(1+2)+(1+2+3)+…+(1+2+3…+9)的是()A) S=0 B) S=0:T=0For H=1 T o 9 For H=1 T o 9S=S+1 S=S+TNext H Next HC) S=0 D) S=0For H=1 T o 9 For H=1 T o 9T=0 For J=1 T o HFor J=1 T o H T=T+HT=T+J Next JNext J S=S+TS=S+T Next HNext H15、下面程序的运行结果是()Dim X(1 T o 10)As IntegerMax=1e-30For H=1 T o 10X(H)=HIf X(H)>=Max Then Max=X(H)1Next HErase XPrint “Max=”;Max;“X(10)=”;X(10)A) Max=10 X(10)=10B)Max=10 X(10)=0C) Max=0 X(10)=10 D)Max=0 X(10)=016、阅读以下程序,执行该程序后,数组a和数组b的值是()Dim A(50),B(50)For N=1 T o 50:A(N)=N:Next NFor N=1 T o 50B(N)=A(N)+A(N-1)Print B(N);Next NA) 数组a和数组b各存储1~50的自然数B) 数组a存储1~50的自然数,数组b存储1~99的自然数C) 数组a存储1~50的自然数,数组b存储1~99的奇数D) 数组a存储1~50的自然数,数组b存储2~100的偶数17、运行下面程序后的输出结果是()For H=1 T o 4 A) 1 2 3 4Print H;B) 1 2 3 4 5Next H C) 1 2 3 4 4Print H D) 1;2;3;4;518、判断下面程序是计算哪一个数学式子的()N=Val(Inputbox(“请输入n的值”)T=1:S=0For H=1 T o 2*N+1 Step 2T=T*H:S=S+TNext HPrint SA) 1+3+5+…+2n+1B) 1*3*5*…*(2n+1)C) 1!+3!+5!+…+(2n+1)! D) 1+1*3+1*3*5+…+1*3*..*(2n+1)19、运行以下程序后,显示的结果是()Dim D(6,6)For H=1 T o 6For J=1 T o 6D(H,J)=6*H*H*JNext J,HFor H=1 T o 6Print D(H,H);Next HA) 1 2 3 4 5 6 B) 1 4 9 16 25 36C) 6 48 162 384 750 1296D) 1 2 3 4 5 62 4 6 8 10 123 6 9 12 15 184 8 12 16 20 2420、运行以下程序后,显示的结果是()Dim N(5) As IntegerN(0)=2For H=2 T o 5 A)1 2 3 4 5N(H)=N(H-2)*H*H B)1 2 6 24 120Print N(H);C)8 0 128 0Next I D)2 4 12 48 24 21、当x的值分别为5,9,8,2,-999时,下面程序运行后的结果是()B=0X= Val(Inputbox(“请输入一个数”))Do While X<>-999 And D<>2If X>B Then B=XX= Val(Inputbox(“请输入一个数”))LoopPrint B A)9 B)8 C)2 D)-99922、有如下事件过程,其运行结果是()For I=1 T o 4Print T ab(2*I+1);11*I;Next IA) 11 22 33 44 B)11 C) 11 D) 1122 22 2233 33 3344 44 4423、有如下事件过程,其运行结果是()Private Sub Form_Click()A=0For h=1 T o 10A=A+1B=0For J=1 T o 10 A) 10 20 B) 20 110A=A+1 C) 110 20 D) 200 110B=B+2Next J,hPrint A;BEnd Sub24、有如下事件过程,程序运行三次当N分别为2、4、6时,其第二次的结果是()Private Sub Form_Click()N= Val(Inputbox(“请输入一个数”))For h=1 T o NJ=1J=J*hNext hPrint h,JEnd SubA) 5 24 B) 4 24 C) 5 4 D) 4 425、有如下事件过程,其运行结果是()Private Sub Form _Click()For I=0 T o List1.Listcount-1If I Mod 2=0 ThenPrint List1.List(I)End IfNextEnd SubPrivate Sub Form _Load()List1.Additem “中国”List1.Additem “日本”A)中国韩国B) 日本新加坡List1.Additem “韩国”C) 中国韩国香港List1.Additem “新加坡”D) 中国日本韩国新加坡香港List1.Additem “香港”End Sub二、填空题1、下面语句循环的次数是(7 )For X=-0.5 T o -3.5 Step -0.52、运行下面程序后,显示结果是(225 )Dim A(15)For H=1 T o 15A(H)=H^2Next HPrint A(H-1)3、下面程序运行后的输出结果是(160 )For J=1 T o 202If J Mod 5<>0 Then A=A+JNext JPrint A4、以下程序是找出50以内的所有能构成直角三角形的整数组,请补充完整该程序.For A=1 T o 50For B=A T o 50C=Sqr(A*A+B*B)If ()Then Print A;B;CNext BNext A5、下面程序运行后文本框中的输出结果是()K=1For J=1 T o 6K=K*JNext JT ext1.T ext=K+J6、以下程序是计算(1+1/2)*(1+1/3)*…*(1+1/10),阅读该程序,请将程序补充完整S=1()S=()Next YPrint S7、以下程序是用随机数模拟掷,统计掷50次出现的个点数的次数。
程序设计与数据结构练习题 附答案
一、单项选择题1.有下列程序段落:int i,a[5];for(i=0;i<5;i++)scanf(“%d”,&a[i]);若要使数组元素的值分别为1,2,3,4,5,应从键盘输入(B)。
A.1,2,3,4,5↙B.1 2 3 4 5↙C.12345↙D.1;2;3;4;5↙2.数组名作为函数参数进行传递时,形参获得的是(D)。
A.该数组第一个元素的值B.该数组所有元素的值C.该数组所有元素的地址D.该数组的首地址3.设有如下宏定义:#define A 3+2#define B A*A则表达式“B*B”的值为( A )。
A.23B.5 C.25D.6254.在下列说明中,结构类型变量x 所占用内存字节数为(D)。
struct exp{ int i;float j;double k;}x;A.8个B.7个C.14个D.随计算机而定5.设有定义:int k=3,*p=&k; 则表达式*p的值是(D)。
A.1 B.0 C.2 D.36.下列程序的输出结果为(A)。
main(){ int i=3,b;b=(i--)+(i--);printf(“%d”,b);}A.6 B.2 C.3 D.47.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是(D)。
A.c=b=a B. (a=c)||(b=c) C. a=c=b D. (a=c)&&(b=c)8.下列叙述不正确的是( A )。
A.函数定义可以嵌套B.宏定义可以嵌套C.函数调用可以嵌套D.循环结构可以嵌套9.设char *p=“abcde”,则printf(“%s”, p ) 的输出结果为( D )。
A.c B.cde C.b D.abcde10.p1,p2 为指向浮点的指针变量,下列运算没有意义的是(D)。
A.*p1-*p2 B.p1++ C.*p1+*p2 D.p1+p211.设有int i=010,j=10; 则printf( “%d,%d\n”,++i,j--);的输出是(B)。
多分支结构程序设计习题(精)
多分支结构程序设计习题1、【水仙花数问题】题目描述:在三位整数中,有这样一种数:它每个数位上的数的立方和等于它本身,这样的数被称为“水仙花数”。
例如:153是一个水仙花数,因为153=13+53+33,请你编程测试下列各数是否为“水仙花数”。
测试数据:111 123 153 230 370 371 372 400 407 501 9992、【月份的天数问题】题目描述:给定某年某月,编程输出这个月的天数。
输入格式:1900 2 输出格式:282004 2 293、【个人所得税问题】-1600元)*税率;请编程实现以上计算方案。
输入格式:1000 输出格式:02500 904、【划分等级问题】题目描述:给出一百分制成绩(整型),要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。
输入格式:92 输出格式:A45 E5、【运输打折问题】题目描述:某运输公司对用户计算运费。
路程(S)越远,每公里运费越低。
标准如下:其中基本运输费用为每吨每公里1元,现请你帮助该运输公司设计自动计费程序,帮助会计人员计算运输费用。
要求输入每次运输的载重(吨)、里程(公里),输出其运输费用。
输入格式:1 200 输出格式:20010 2500 22500简单分支习题部分参考答案5、求解一元二次方程#include <iostream.h>void main(){int a,b,c;cout<<"Please input a,b,c=";cin>>a>>b>>c;if ((a+b>c) && (b+c>a) && (a+c>b))if ((a*a+b*b==c*c) || (b*b+c*c==a*a) || (a*a+c*c==b*b))cout<<"Yes"<<endl;elsecout<<"No"<<endl;elsecout<<"Error"<<endl;}6、求解一元二次方程#include <iostream.h>#include <math.h>void main(){float a,b,c,d,x1,x2;cout<<"Please input a,b,c=";cin>>a>>b>>c;d=b*b-4*a*c;if (d<0)cout<<"Not real root"<<endl;elseif (d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}else{x1=-b/(2*a);cout<<"x1=x2="<<x1<<endl;}}7、排序问题#include <iostream.h>void main(){ int a,b,c,t;cout<<"Please input a,b,c=";cin>>a>>b>>c;if (a<b){t=a;a=b;b=t;}if (a<c){t=a;a=c;c=t;}if (b<c){t=b;b=c;c=t;}cout<<a<<"\t"<<b<<"\t"<<c<<endl;}8、大小写转换问题#include <iostream.h>void main(){char c;cout<<"Please input a char:";cin>>c;if (c>='A' && c<='Z')c=c+32;elseif (c>='a' && c<='z')c=c-32;cout<<c<<endl;}9、闰年问题#include <iostream.h>void main(){int year;cout<<"Please input year=";cin>>year;if (((year%4==0) && (year%100!=0)) || (year%400==0))cout<<"Yes"<<endl;elsecout<<"No"<<endl;}。
C语言循环结构程序设计习题与答案
一、单选题1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写#include <stdio.h>void main(){int i;int t= z s=;for(i=l;i<6;i++){t=t*i;s=s+t;)printf("l!+2!+3!+4!+5!=%d\n"z s);)A.l 1B.O 0C.O 1D.l 0正确答案:D2、下面代码段的输出是一int k,m;for(k=0;k<10;k++ ){if(m>50) continue;m=k*k;)printf("%d,%d\n”,k,m);A. 10,64B.9,81C.10,81D.8,64正确答案:A3、对于以下代码:int i;for(i=0;i<10;i++)pnntf("%d",i);for循环结束后,i的值是—A.llB.10C.9D.i不再存在了正确答案:B4、对于以下代码:int i=6;do{printf("%d", i-);}while(i-);正确的是—A,输出6420-2-4…,程序无法停机B,输出6420C.输出6420-2D输出642正确答案:A5、对于以下代码:int i=6;do{printf("%d", i-);}while(i);最后一个输出的值是—A.2B.3C.OD.l正确答案:D6、在代码:while(e)中,e等价于_A.e == 0B.e != 1C.e == 1D.e!=0正确答案:D7、在代码:while© |1)中,e等价于_A.e!=0B.e == 1C.e取任何值D.e == 0正确答案:C8、设有程序段int k=5;while(k=0) k=k-l;则下面描述中正确的是A,循环体语句一次也不执行B.while循环执行5次C.循环体语句执彳亍一次D彳盾环是无限循环正确答案:A9、下面程序段的运行结果是int n=0;while(n++<=2);printf("%d",n);A.有语法错B.2C.4D.3正确答案:C10、若有如下语句int x=3;do{ printf("%d\n"z x -=2);} while(!(-x));则上面程序段—A,是死循环B,输出的是1C.输出的是3和0D,输出的是1和・2正确答案:D11、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空,答案是#includemain()int n,sum=0;n=2345;sum=sum+(n%10)*(n%10);n=_;}while(n);printf("sum=%d"/sum);}A.n/10B.n%10C.n/100D.n/1000正确答案:A12、下面程序段—for(t=l;t< = 100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);)A.最多允许输出100个非负整数B.x>=0时什么也不输出C.printf函数永远也不执行D・当x<0时整个循环结束正确答案:A13、下列运算符中结合方向与其他不同的是A.+=B.< =c.>D.+正确答案:A14、下列运算符中结合方向与其他不同的是A.&&B.?:c.||D.+正确答案:B15、以下代码输出结果是—int x=0,y=20,z=30 ;if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.代码错误,不能输出B.y=50C.y=20D,不确定正确答案:B16、以下代码输出结果是—int x=0z y=20,z=30if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.y=20B.代码错误,不能执行C.y=50D,不确定正确答案:B17、下列程序段的输出结果是一int a=3,b=15;a+=b;b=b/2;}while(b>l);printf("%d\rT,a);正确答案:28二、多选题1、在c语言中,叙述正确的是()。
多分支结构程序设计习题(精)
多分支结构程序设计习题1、【水仙花数问题】题目描述:在三位整数中,有这样一种数:它每个数位上的数的立方和等于它本身,这样的数被称为“水仙花数”。
例如:153是一个水仙花数,因为153=13+53+33,请你编程测试下列各数是否为“水仙花数”。
测试数据:111 123 153 230 370 371 372 400 407 501 9992、【月份的天数问题】题目描述:给定某年某月,编程输出这个月的天数。
输入格式:1900 2 输出格式:282004 2 293、【个人所得税问题】-1600元)*税率;请编程实现以上计算方案。
输入格式:1000 输出格式:02500 904、【划分等级问题】题目描述:给出一百分制成绩(整型),要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。
输入格式:92 输出格式:A45 E5、【运输打折问题】题目描述:某运输公司对用户计算运费。
路程(S)越远,每公里运费越低。
标准如下:其中基本运输费用为每吨每公里1元,现请你帮助该运输公司设计自动计费程序,帮助会计人员计算运输费用。
要求输入每次运输的载重(吨)、里程(公里),输出其运输费用。
输入格式:1 200 输出格式:20010 2500 22500简单分支习题部分参考答案5、求解一元二次方程#include <iostream.h>void main(){int a,b,c;cout<<"Please input a,b,c=";cin>>a>>b>>c;if ((a+b>c) && (b+c>a) && (a+c>b))if ((a*a+b*b==c*c) || (b*b+c*c==a*a) || (a*a+c*c==b*b))cout<<"Yes"<<endl;elsecout<<"No"<<endl;elsecout<<"Error"<<endl;}6、求解一元二次方程#include <iostream.h>#include <math.h>void main(){float a,b,c,d,x1,x2;cout<<"Please input a,b,c=";cin>>a>>b>>c;d=b*b-4*a*c;if (d<0)cout<<"Not real root"<<endl;elseif (d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}else{x1=-b/(2*a);cout<<"x1=x2="<<x1<<endl;}}7、排序问题#include <iostream.h>void main(){ int a,b,c,t;cout<<"Please input a,b,c=";cin>>a>>b>>c;if (a<b){t=a;a=b;b=t;}if (a<c){t=a;a=c;c=t;}if (b<c){t=b;b=c;c=t;}cout<<a<<"\t"<<b<<"\t"<<c<<endl;}8、大小写转换问题#include <iostream.h>void main(){char c;cout<<"Please input a char:";cin>>c;if (c>='A' && c<='Z')c=c+32;elseif (c>='a' && c<='z')c=c-32;cout<<c<<endl;}9、闰年问题#include <iostream.h>void main(){int year;cout<<"Please input year=";cin>>year;if (((year%4==0) && (year%100!=0)) || (year%400==0))cout<<"Yes"<<endl;elsecout<<"No"<<endl;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序结构练习题知识要点流程控制是控制程序中语句执行的顺序。
任何程序设计语言都具备流程控制的功能,而C++语言提供了比其它高级语言更丰富的流程控制语言。
本章节主要介绍了程序设计中最基本三种结构:顺序、分支和循环,要求掌握以下的知识要点:1.掌握顺序结构的编程方法。
2.掌握使用cin、cout实现数据的输入/输出。
3.学会应用字符输入/输出函数。
4.掌握scanf()函数和printf()函数的使用。
5.掌握条件语句的形式和使用。
6.掌握条件语句的嵌套。
7.掌握switch语句的形式和使用。
8.掌握for,while,do-while三种循环语句的应用。
9.掌握循环语句的嵌套。
10.掌握break、continue、goto语句。
一、阅读下列程序,写出执行结果:1.#include<iostream.h>void main(){int year,mon,days,leap;cout<<"年月:"; cin>>year>>mon; switch(mon){case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31; break;case 4:case 6:case 9:case 11:days=30;break;case 2:if(year%400==0)leap=1;else if(year%4==0&&year%100!=0)leap=1;else leap=0;if(leap) days=29;else days=28;}cout<<year<<"年"<<mon<<"月的天数为:"<<days<<endl; }输入:200572.#include<iostream.h>void main(){int x,y,s;cout<<"输入两个整数:"; cin>>x>>y;s=x;while(1){if(s%y==0)break;s+=x;}cout<<"最小公倍数:"<<s<<endl; }输入:383.#include<iostream.h> void main(){int r,i,j;cout<<"i=";cin>>i;cout<<"j=";cin>>j;if(i<j)r=i,i=j,j=r; r=i%j;while(r){i=j;j=r;r=i%j;cout<<"最大公约数:"<<j<<endl; }输入:3824.#include<iostream.h>void main(){int i,m,n,k;float s=0;m=1,n=2;for(i=1;i<=15;i++){s=s+1.0*n/m;k=m;m=n;n=k+n;}cout<<"s="<<s<<endl;}5.#include <iostream.h>void main( ){cout<<"please input the b key to hear a bell."<<endl;char ch;cin>>ch;if (ch=='b')cout <<'\a';elseif (ch=='\n')cout <<"what a boring select on..."<<endl;elsecout <<"bye! \n";}6.#include<iostream.h>void main(){int i = 1 ;while ( i <= 10 )if ( ++ i % 3 != 1)continue;else cout<< i <<endl;}7.#include<iostream.h>void main(){int i = 0 , j = 5 ;do{ i ++ ; j ―― ;if ( i >3 ) break ;} while ( j > 0 );cout << "i=" << i <<'\t'<<"j="<< j << endl ; }8.#include<iostream.h>void main( ){int I,j,a=0;for(I=0;I<2;I++){for(j=0;j<4;j++){if(j%2) break;a++;}a++;}cout<<a<<endl;}二、编程题:1.输入某学生成绩,若成绩在90-100输出"excellent",若成绩在80-89输出"good",若成绩在70-79输出"general",若成绩在60-69输出”pass”,若成绩在0-59输出”no pass”。
2.编程计算1!+2!+……+20!。
3.输入三人数,按从小到大的大顺序输出。
4.在100~200中找出同时满足3除余2,用5除余3和用7除余2的所有整数。
5. 求100~999中的。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=13+53+33,所以153为水仙花数。
6.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,6=1+2+3,所以6为完数。
7. 编一程序显示如下图案:** * ** * * * ** * * * * * ** * * * * * * * *8. 编一程序显示如下图案:AA B CA B C D EA B C D E F G9. 根据π/4 =1-1/3+1/5-1/7+…求π的近似值,直到最后一项的值小于0.000001为止。
10.猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?11.编程序模拟剪刀,石头和纸游戏。
游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头.玩游戏者从键盘上输入S(表示剪刀)或R(表示石头)或P(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
12.编写程序输出菲波那切数列的前20项。
即前两项为1,以后每一项为前两项之和。
13.打印九九乘法表。
14.若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛?15.求符合以下条件的所有四位数:该数各位数字的四次方之和等于该数本身。
如1634就是这样一个数。
16.从键盘上任意一串字符,以按enter键结束,统计其中字母c出现的个数。
17.编写程序,用循环语句输出如下图形:*******************************18.求sum=a+aa+aaa+aaaa+….+aa....a(n个a)之值,其中a是一位数字。
如当a=3,n=6时sum=3+33+333+3333+33333+333333。
a和n的值由键盘输入。
19.用迭代法求a的平方根x=。
迭代公式为:要求前后两次求出的x的差绝对值小于10-6。
20.输入一行字符,以回车结束输入,分别统计其中出现的大写英文字母、小写英文字母、数字字符、空格和其他字符等5类字符出现的次数。
例如,若输入I am 20 years old!<enter>,则统计的5类字符的次数分别是1,10,2,4,1。
21.编写程序,救出并输出1000以内的所有素数。
22.计算公式的值。
23.编程输出十位数字与个位数字的和能被7整除,百位数字与十位数字的和能被3整除的所有3位数。
24.求s=1+(1+2)+(1+2+3)+…….+(1+2+3+……+n)的值。