1、1.1.下列叙述中正确的是下列叙述中正确的是A A)C C语言程序将从源程序中第一个函数开始执行语言程序将从源程序中第一个函数开始执行B B)可以在程序中由用户指定任意一个函数作为主函数,程序将)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行从此开始执行C C)C C语言规定必须用语言规定必须用mainmain作为主函数名,程序将从此开始执行作为主函数名,程序将从此开始执行,在此结束,在此结束D D)mainmain可作为用户标识符,可以命名任意一个函数作为主函数可作为用户标识符,可以命名任意一个函数作为主函数参考答案:参考答案:C C)解答:解答:A A)错误,由于)错误,
2、由于main()main()不一定写在第一个位置上,所以该句话不准确。不一定写在第一个位置上,所以该句话不准确。B B)错误,)错误,C C语言中规定,程序必须从主函数开始执行,在主函数中结束。语言中规定,程序必须从主函数开始执行,在主函数中结束。C C)正确。)正确。D D)错误,在)错误,在main()main()函数中,函数中,mainmain不可以作为标识符的名,但是在其它函不可以作为标识符的名,但是在其它函数中,数中,mainmain可作为标识符的名称(不推荐这样做)。可作为标识符的名称(不推荐这样做)。main()main()是程序的开是程序的开始和结束的位置,不是任意函数都可以作
3、为主函数。始和结束的位置,不是任意函数都可以作为主函数。一、选择一、选择2.2.以下选项中,能用作用户标示符的是以下选项中,能用作用户标示符的是A A)void Bvoid B)8_8 8_8 C C)_0_ D_0_ D)unsignedunsigned参考答案:参考答案:C C)解答:解答:A A)不能,)不能,void void 为为C C语言的保留字。语言的保留字。B B)不能,阿拉伯数字不能出现在标识符的第一个位置上。)不能,阿拉伯数字不能出现在标识符的第一个位置上。C C)能,符合)能,符合C C语言标识符命名法则。语言标识符命名法则。D D)不能,)不能,unsignedunsi
4、gned为为C C语言的保留字。语言的保留字。3.3.以下叙述中正确的是以下叙述中正确的是A A)C C程序的基本组成单位是语句程序的基本组成单位是语句 B B)C C程序中的每一行只能写一条语句程序中的每一行只能写一条语句C C)简单)简单C C语句必须以分号结束语句必须以分号结束 D D)C C语句必须在一行内完成语句必须在一行内完成参考答案:参考答案:C C)解答:解答:A A)不正确,)不正确,C C程序的基本组成单位应该是函数,函数的组成单位是程序的基本组成单位应该是函数,函数的组成单位是语句。语句。B B)不正确,)不正确,C C程序中的每一行可写多条语句,如:程序中的每一行可写多
5、条语句,如:x=1;y=2;z=3;x=1;y=2;z=3;。C C)正确。)正确。D D)不正确,)不正确,C C语句不一定在一行内完成。语句不一定在一行内完成。4.4.以下程序运行后的输出结果是以下程序运行后的输出结果是 【】。#include stdio.h#include main()main()int int a=200,b=010;a=200,b=010;printf(%d%dn,a,b);printf(%d%dn,a,b);参考答案:参考答案:20082008解答:解答:a a为十进制数为十进制数200200,b b为八进制数,转换成十进制数为为八进制数,转换成十进制数为8 8。
6、输出格式。输出格式为十进制整数输出格式,输出的两个数之间没有空隙,所以输出为十进制整数输出格式,输出的两个数之间没有空隙,所以输出的序列为的序列为“2008”2008”。5.5.有以下程序有以下程序#include stdio.h#include main()main()int s,t,A int s,t,A=10;double B=6;=10;double B=6;s=sizeof(A);t=sizeof(B s=sizeof(A);t=sizeof(B););printf(%d,%dn,s,t);printf(%d,%dn,s,t);在在VC6VC6平台上编译运行,程序运行后的输出结果是平
7、台上编译运行,程序运行后的输出结果是A A)2 2,4 B4 B)1 1,4 4 C C)4 4,8 D8 D)1010,6 6参考答案:参考答案:C C)解答:解答:在本题中在本题中sizeof(Asizeof(A)和和sizeof(Bsizeof(B)是求变量是求变量A A,B B所占的字节数。在所占的字节数。在VC6VC6编译编译系统中,规定整型数均占用系统中,规定整型数均占用4 4个字节,双精度数占用个字节,双精度数占用8 8个字节。所以答案个字节。所以答案C C)是正确的。是正确的。6.6.有以下定义:有以下定义:int a;long b;double x,y;int a;long
8、b;double x,y;则以下选项中则以下选项中正确的表达式是正确的表达式是A A)a%(int)(x-y)Ba%(int)(x-y)B)a=x!=y;a=x!=y;C C)()(a a*y y)%b D%b D)y=x+y=xy=x+y=x参考答案:参考答案:B B)解答:解答:A A)错误,)错误,x-yx-y的值可能出现的值可能出现“0”0”,0 0不能作除数。不能作除数。B B)正确,)正确,a=x!=ya=x!=y可看成可看成a=(x!=y),“x!=y”a=(x!=y),“x!=y”的值可能为的值可能为“0”“0”也也可能为可能为“1”1”。所以该表达式是正确。所以该表达式是正确
9、。C C)错误,()错误,(a a*y y)的值是一个实型数,)的值是一个实型数,C C语言中求余计算语言中求余计算“%”%”,必,必须是实型数之间进行计算。须是实型数之间进行计算。D D)错误,该赋值方式相当于给表达式赋值,所以是错误的。)错误,该赋值方式相当于给表达式赋值,所以是错误的。7.7.若若a a是数值型,则逻辑表达式是数值型,则逻辑表达式(a=1)|(a!=1)(a=1)|(a!=1)的值是的值是A A)1 B1 B)0 0 C C)2 D2 D)不知道不知道a a的值,不能断定的值,不能断定 参考答案:参考答案:A A)解答:解答:a a的值只有两种可能,等于的值只有两种可能,
10、等于“1”1”或者不等于或者不等于“1”1”。该表达式。该表达式(a=1)|(a!=1)(a=1)|(a!=1)的值永远为真,所以,该表达式的值为的值永远为真,所以,该表达式的值为“1”1”。8.8.表达式表达式3.6-53.6-52+1.2+52+1.2+52 2的值是的值是A A)4.3 B4.3 B)4.8 C4.8 C)3.3 D3.3 D)3.83.8参考答案:参考答案:D D)解答:解答:该表达式的值该表达式的值3.6-53.6-52+1.2+52+1.2+52=3.6-2+1.2+1=3.82=3.6-2+1.2+1=3.89.9.表达式表达式a+=a-=a=9a+=a-=a=9
11、的值是的值是A A)9 B9 B)9 C9 C)13 D13 D)0 0参考答案:参考答案:D D)解答:解答:表达式表达式a+=a-=a=9a+=a-=a=9可化为可化为a+=a-=9a+=a-=9可化为可化为a+=a=9-9a+=a=9-9可化为可化为a+=a=0a+=a=0可化为可化为a+=0a+=0。即。即a=0a=0。10.10.有以下程序有以下程序#include stdio.h#include main()main()char c1,c2;char c1,c2;c1=A+8-4;c1=A+8-4;c2=A+8-5;c2=A+8-5;printf(%c,%dn,c1,c2);pri
12、ntf(%c,%dn,c1,c2);已知字母已知字母A A的的ASCIIASCII码为码为6565,程序运行后的输出的结果是,程序运行后的输出的结果是A A)E,68 BE,68 B)D,69 CD,69 C)E,D DE,D D)输出无定值)输出无定值参考答案:参考答案:A A)解答:本题的关键在于下面的表达式解答:本题的关键在于下面的表达式c1=A+8-4=65+56-52=69 c1=A+8-4=65+56-52=69 是是“E”E”的的ASCIIASCII值。值。c2=A+8-5=65+56-53=68 c2=A+8-5=65+56-53=68 是是“D”D”的的ASCIIASCII值
13、。值。在输出时在输出时printf(%c,%dn,c1,c2);printf(%c,%dn,c1,c2);c1c1按字符输出,所以将字符按字符输出,所以将字符“E”E”输出。输出。c2c2按有符号的十进制整形数输出,所以将数值按有符号的十进制整形数输出,所以将数值“68”68”输出。输出。11.11.若变量已正确定义若变量已正确定义,在,在if(W)printf(%fn,k);if(W)printf(%fn,k);中,以下中,以下不可替代不可替代W W的是的是A A)ab+c B)ch=getcharab+c B)ch=getchar()()C)a=b+c D)aC)a=b+c D)a+参考答
14、案:参考答案:A A)解答:解答:A A)错误,在)错误,在C C语言中没有语言中没有“”这样的运算符这样的运算符,判断不相等用!判断不相等用!=。B B)正确。)正确。if(W)if(W)中的中的“W”W”可以是任意表达式。可以是任意表达式。C C)正确。同上。)正确。同上。D D)正确。同上。)正确。同上。12.12.有以下程序有以下程序#includestdio.h#include main()main()int int a=1,b=0;a=1,b=0;if(!a)b+;if(!a)b+;else if(a=0)if(a)b else if(a=0)if(a)b+=2;+=2;else
15、b+=3;else b+=3;printf(%dn printf(%dn,b);,b);程序运行的结果是程序运行的结果是A A)0 B0 B)1 C1 C)2 D2 D)3 3参考答案:参考答案:A A)解答:参考本题的流程图。解答:参考本题的流程图。在本题中,第一个判断为在本题中,第一个判断为“假假”,第二个判断也为,第二个判断也为“假假”。所以,。所以,b b的值的值仍然为仍然为“0”0”。13.13.设有定义:设有定义:intint a=1,b=2,c=3;a=1,b=2,c=3;,以下语句中执行效果与,以下语句中执行效果与其它三个其它三个不同不同的是的是A A)if(aif(ab)c=
16、a,a=b,b=c;b)c=a,a=b,b=c;B B)if(ab)cif(ab)c=a,a=b,b=c;=a,a=b,b=c;C C)if(ab)c=a;aif(ab)c=a;a=b;b=c;=b;b=c;D D)if(ab)cif(ab)c=a;a=b;b=c;=a;a=b;b=c;参考答案:参考答案:C C)解答:解答:本题的含义是本题的含义是“ab”ab”为为“真真”A A)执行)执行c=a,a=b,b=c;c=a,a=b,b=c;逗号表达式语句。逗号表达式语句。B B)执行)执行c=a,a=b,b=c;c=a,a=b,b=c;复合语句。复合语句。C C)只执行)只执行c=a;c=a;
17、这条语句。这条语句。D D)执行)执行c=a;a=b;b=c;c=a;a=b;b=c;复合语句。复合语句。14.14.以下是以下是ifif语句的基本形式语句的基本形式if(if(表达式表达式)语句语句其中表达式其中表达式A A)必须是逻辑表达式)必须是逻辑表达式 B B)必须是关系表达式)必须是关系表达式C C)必须是逻辑表达式或关系表达式)必须是逻辑表达式或关系表达式 D D)可以是任意合法的表达式)可以是任意合法的表达式参考答案:参考答案:D D)解答:解答:根据根据C C语言的法则,可以是任意表达式。语言的法则,可以是任意表达式。15.15.若有定义语句若有定义语句int a,b;dou
18、ble x;int a,b;double x;则下列选项中没有错误的是则下列选项中没有错误的是A A)switch(x%2)Bswitch(x%2)B)switch(int)x/2.0)switch(int)x/2.0)case 0:a+;break;case 0:a+;break;case 0:a+;break;case 0:a+;break;case 1:b+:break;case 1:b+;break;case 1:b+:break;case 1:b+;break;default:a+;b+;default:a+;b+;default:a+;b+;default:a+;b+;C C)sw
19、itch(int)x%2)Dswitch(int)x%2)D)switch(int)(x)%2)switch(int)(x)%2)case 0:a+;break;case 0.0:a+;bresk case 0:a+;break;case 0.0:a+;bresk;case 1:b+;break;case 1.0:b+;break case 1:b+;break;case 1.0:b+;break;default:a+;b+default:a+;b+;default:a+;b+default:a+;b+;参考答案:参考答案:C C)解答:解答:A A)错误,在)错误,在C C语言中求余运算必须
20、在整型数之间运算。语言中求余运算必须在整型数之间运算。B B)错误,在)错误,在switch(int)x/2.0)switch(int)x/2.0)中,不应出现中,不应出现2.02.0实型数。实型数。C C)正确。)正确。D D)错误。)错误。case 0.0case 0.0,表示错误。,表示错误。16.16.以下选项中与以下选项中与ifif(a=1a=1)a=ba=b;else a+else a+;语句;语句功能不同功能不同的的switchswitch语句是语句是A A)switch(aswitch(a)B)B)switch(aswitch(a=1)=1)case 1:a=b;break;c
21、ase 0:a=b;break case 1:a=b;break;case 0:a=b;break;default:a+;case 1:a+;default:a+;case 1:a+;C C)switch(aswitch(a)D)D)switch(aswitch(a=1)=1)defaule defaule:a+;break;case 1:a=b;breaka+;break;case 1:a=b;break;case 1:a=b;case 0:a+;case 1:a=b;case 0:a+;参考答案:参考答案:B B)解答:解答:在在B B)选项中表达的是)选项中表达的是a=1a=1时做时做a
22、+;a+;,与题意相反。,与题意相反。17.17.以下程序中,与语句:以下程序中,与语句:k=ab?(bk=ab?(bc?1:0):0;c?1:0):0;功能相同的是功能相同的是A A)if(ab)&(bc)kif(ab)&(bc)k=1;B=1;B)if(ab)|(bif(ab)|(bc)k=1;c)k=1;else k=0 else k=0 else k=0 else k=0C C)if(a=b)kif(ab)kif(ab)k=1;=1;else if(bc)k else if(bc)k=1=1 else k=0 else k=0参考答案:参考答案:A A)解答:解答:该题的流程图该题的流
23、程图从该逻辑框图中,可判断出从该逻辑框图中,可判断出A A)的描述与题意吻合,其它的都不能)的描述与题意吻合,其它的都不能表达该题意。表达该题意。18.18.以下程序段的执行结果是以下程序段的执行结果是 intint x=23;x=23;do do printf(“%d”,x printf(“%d”,x-);-);while(!x while(!x););A A)输出)输出321 B321 B)输出)输出23 23 C C)不输出任何内容)不输出任何内容 D D)死循环)死循环参考答案:参考答案:B B)解答:解答:先执行循环体,输出表达式先执行循环体,输出表达式x-x-的值为的值为2323,
24、变量,变量x x的值为的值为2222,再判,再判断循环条件断循环条件!x!x,为假,则退出循环,为假,则退出循环19.19.从以下给出的表达式中选出与从以下给出的表达式中选出与while(Ewhile(E)语句中的语句中的(E)(E)不不能等价的表达式。能等价的表达式。A A)(!E=0)B(!E=0)B)(E0)|(E0)|(E0)C C)(E!=0)D(E!=0)D)(E=0)(E=0)参考答案:参考答案:D D)解答:解答:while(Ewhile(E)中的中的E E只要不等于只要不等于0 0即为即为“真真”A)A)正确,表达式正确,表达式!E=0!E=0当当E!=0E!=0时为真,时为
25、真,E=0E=0时为假时为假 B)B)正确正确C)C)正确正确D)D)错误,表达式错误,表达式E=0E=0当当E=0E=0时为真,时为真,E!=0E!=0时为假时为假20.20.有以下程序有以下程序#includestdio.h#include main()main()int int a=1,b=2;a=1,b=2;for(;a for(;a8;a+)b+=a;a+=2;8;a+)b+=a;a+=2;printf(%d,%dn,a,b);printf(%d,%dn,a,b);程序运行后的输出效果是程序运行后的输出效果是A A)9,18 B9,18 B)8,11 C8,11 C)7,11 D7,
26、11 D)10,1410,14参考答案:参考答案:D D)解答:解答:当当a=1a=1时:时:执行循环体执行循环体b+=a;a+=2;b+=a;a+=2;执行后,执行后,b=3b=3,a=3a=3,再执行,再执行a+a+,所以,所以a=4a=4;当当a=4a=4时:时:执行循环体执行循环体b+=a;a+=2;b+=a;a+=2;执行后,执行后,b=7b=7,a=6a=6,再执行,再执行a+a+,所以,所以a=7a=7;当当a=7a=7时:时:执行循环体执行循环体b+=a;a+=2;b+=a;a+=2;执行后,执行后,b=14b=14,a=9a=9,再执行,再执行a+a+,所以,所以a=10a=
27、10;当当a=10a=10时:循环结束。输出序列时:循环结束。输出序列“1010,14”14”。程序运行结束。程序运行结束。21.21.有以下程序有以下程序#includestdio.h#include main()main()int int y=10;y=10;for(;y for(;y0;y-)0;y-)if(y%3=0)if(y%3=0)printf(“%d”,-y printf(“%d”,-y););程序运行后的输出效果是程序运行后的输出效果是A A)741 B741 B)852 C852 C)963 D963 D)875421875421参考答案:参考答案:B B)解答:解答:当当y
28、=0y=0时退出循环,循环条件成立时时退出循环,循环条件成立时y y的范围是的范围是10101 1,能被,能被3 3整除整除的有的有9 9,6 6,3 3,因此输出的,因此输出的-y-y的值应为的值应为85285222.22.有以下程序有以下程序#include stdio.h#include main()main()int y=10;int y=10;while(y-);while(y-);printf(y=%dn,y);printf(y=%dn,y);程序执行后的输出结果是程序执行后的输出结果是A A)y=0 B)y=-1 C)y=1 D)while y=0 B)y=-1 C)y=1 D)
29、while 构成无限循环构成无限循环参考答案:参考答案:B B)解答:解答:本题注意,本题注意,while(ywhile(y-);-);。该语句后面有一个。该语句后面有一个“;”。实际上该循环执。实际上该循环执行的是一个空语句,但变量行的是一个空语句,但变量y y每执行一次会被减每执行一次会被减“1”1”。所以。所以y y的值最终的值最终为为“-1”-1”。23.23.设变量已正确定义,以下不能统计出一行中输入字符个数(设变量已正确定义,以下不能统计出一行中输入字符个数(不包括回车符)程序段是不包括回车符)程序段是A A)n=0;while(ch=getchar()!=n)nn=0;while
30、(ch=getchar()!=n)n+;+;B B)n=0;while(getchar()!=n)nn=0;while(getchar()!=n)n+;+;C C)for(n=0;getchar()!=n;n+);for(n=0;getchar()!=n;n+);D D)n=0;for(ch=getchar();ch!=n;nn=0;for(ch=getchar();ch!=n;n+);+);参考答案:参考答案:D D)解答:解答:A A)正确。)正确。B B)正确。)正确。C C)正确。)正确。D D)错误,在)错误,在for()for()循环体内,第一个表达式仅执行一次,所以读不循环体内,
31、第一个表达式仅执行一次,所以读不到给出的其它字符。到给出的其它字符。24.24.下列叙述中正确的是下列叙述中正确的是A A)breakbreak语句只能用于语句只能用于switchswitch语句语句B B)在)在switchswitch语句中必须使用语句中必须使用defaultdefaultC C)breakbreak语句必须与语句必须与switchswitch语句中的语句中的casecase配对使用配对使用D D)在)在switchswitch语句中,不一定使用语句中,不一定使用breakbreak语句语句E E)在循环体内使用)在循环体内使用breakbreak语句和语句和continu
32、econtinue语句的作用相同。语句的作用相同。参考答案:参考答案:D D)解答:解答:A A)错误,也可用于循环语句中。)错误,也可用于循环语句中。B B)错误,可使用,也可不使用,根据实际情况而定。)错误,可使用,也可不使用,根据实际情况而定。C C)错误,)错误,casecase语句后不一定需要语句后不一定需要breakbreak语句。语句。D D)正确。)正确。E E)错误,)错误,breakbreak语句作用是结束循环,语句作用是结束循环,continuecontinue语句的作用是,本语句的作用是,本次循环结束,开始下一次的循环。次循环结束,开始下一次的循环。1、C语言的基本数据
33、类型有语言的基本数据类型有 、。2、C语言中变量的四要素为语言中变量的四要素为 、。3、结构化程序设计的三种基本结构是、结构化程序设计的三种基本结构是 、。4、在循环结构中,、在循环结构中,break语句的功能是语句的功能是 ,continue语句的语句的功能是功能是 。5、格式化输入函数名、格式化输入函数名 ,格式化输出函数名,格式化输出函数名 ,字符输,字符输入函数名入函数名 ,字符输出函数名,字符输出函数名 。*6、VC+开发环境中,以下常用操作的快捷键:编译开发环境中,以下常用操作的快捷键:编译 、运、运行行 、定位到出错的行、定位到出错的行 。参考答案:参考答案:1 1、整型,字符型
34、,浮点型、整型,字符型,浮点型 2 2、变量名、类型、变量值、存储单元、变量名、类型、变量值、存储单元3 3、顺序结构,选择结构,循环结构、顺序结构,选择结构,循环结构4 4、breakbreak:跳出循环;:跳出循环;continuecontinue:跳出本次循环,进入下一次循环:跳出本次循环,进入下一次循环5 5、scanfscanf,printfprintf,getchargetchar,putcharlputcharl6 6、Ctrl+F7Ctrl+F7,Ctrl+F5Ctrl+F5,F4 F4 二、填空二、填空输入输入n,判断,判断n是否为素数是否为素数比较比较break和和cont
35、inue的区别的区别程序段:程序段:n=100;k=sqrt(n);for(i=2;ik)printf(“yesn”);else printf(non”);程序段程序段:n=100;k=sqrt(n);for(i=2;ik)printf(“yesn”);else printf(non”);若若n=100输出输出no若若n=100输出输出yes分析下面程序段的输出结果 _n=100;k=sqrt(n);for(i=2;i=k;printf(i=%dn,i)if(n%i=0)continue;i+;7、以下程序的运行结果是、以下程序的运行结果是 。main()int i,j,m,n;i=8;j=1
36、0;m=+i;n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);参考答案:参考答案:i=8;j=10;i=8;j=10;+i+i表达式的值为表达式的值为9 9,变量,变量i i的值为的值为9 9,m=+im=+i的值为的值为9 9j+j+表达式的值为表达式的值为1010,变量,变量j j的值为的值为1111,n=j+n=j+的值为的值为1010故结果是:故结果是:9,11,9,10 9,11,9,10 8、以下程序段的功能是、以下程序段的功能是 。while(c=getchar()!=n)count=count+1;9、以下程序段的功能是、以下程序段的功能是 。for(n=
37、0;n26;n+)printf(%c ,A+n);10、以下程序段的功能是、以下程序段的功能是 。for(sum=0,i=1;i=100;sum=sum+i,i+=2);参考答案:参考答案:8 8、统计输入字符的个数、统计输入字符的个数9 9、输出、输出2626个大写字母个大写字母1010、计算、计算100100以内的奇数和以内的奇数和题目一:有题目一:有1、2、3、4个数字,能组成多少个互不相同个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有
38、的排列后再去掉不满足条件的排列。组成所有的排列后再去掉不满足条件的排列。三、编程题三、编程题 void main()int i,j,k,count=0;for(i=1;i5;i+)*以下为三重循环以下为三重循环*/for(j=1;j5;j+)for(k=1;k5;k+)/*确保确保i、j、k三位互不相同三位互不相同*/if(i!=k&i!=j&j!=k)printf(“%d”,i*100+j*10+k);count+;printf(“共共%d个满足条件的三位数个满足条件的三位数n”,count);题目二:古典问题:有一对兔子,从出生后第题目二:古典问题:有一对兔子,从出生后第3个月起个月起每个
39、月都生一对兔子,小兔子长到第三个月后每个月又每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?多少?程序分析:兔子的规律为数列程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.程序源代码程序源代码(1):void main()long f1,f2,f3;int i,n=20;f1=f2=1;printf(“第一个月:第一个月:%12ldn”,f1);printf(“第二个月:第二个月:%12ldn”,f2);for(i=3;i=n;i+)f3=f1+f2;/*前两个月加起来赋值给第三
40、个月前两个月加起来赋值给第三个月*/printf(“第第%d个月:个月:%12ld”,i,f3);f1=f2;f2=f3;程序源代码程序源代码(2):void main()long f1,f2;int i;f1=f2=1;for(i=1;i=20;i+)printf(“%12ld%12ld”,f1,f2);if(i%2=0)printf(n);/*控制输出,每行四个控制输出,每行四个*/f1=f1+f2;/*前两个月加起来赋值给第三个月前两个月加起来赋值给第三个月*/f2=f1+f2;/*前两个月加起来赋值给第三个月前两个月加起来赋值给第三个月*/题目三:输入两个正整数题目三:输入两个正整数m
41、和和n,求其最大公约,求其最大公约数和最小公倍数。数和最小公倍数。程序分析:利用辗除法。程序分析:利用辗除法。程序源代码:程序源代码:void main()int a,b,num1,num2,temp;printf(“please input two numbers:n”);scanf(“%d,%d”,&num1,&num2);if(num1num2)/使得使得num1大于大于num2 temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(b!=0)/*利用辗除法,直到利用辗除法,直到b为为0为止为止*/temp=a%b;a=b;b=temp;pr
42、intf(gongyueshu:%dn,a);printf(gongbeishu:%dn,num1*num2/a);题目四:两个乒乓球队进行比赛,各出三人。甲队为题目四:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为三人,乙队为x,y,z三人。已抽签决定比赛名单。三人。已抽签决定比赛名单。有人向队员打听比赛的名单。有人向队员打听比赛的名单。a说他不和说他不和x比,比,c说他说他不和不和x,z比,请编程序找出三队赛手的名单。比,请编程序找出三队赛手的名单。程序分析:用循环找出程序分析:用循环找出a、b、c的所有可能的对手,的所有可能的对手,用选择去掉不符合要求的用选择去掉不符合要求
43、的 void main()char i,j,k;/*i是是a的对手,的对手,j是是b的对手,的对手,k是是c的对手的对手*/for(i=x;i=z;i+)for(j=x;j=z;j+)if(i!=j)/*a的对手不能同时是的对手不能同时是b的对手的对手*/for(k=x;k=z;k+)if(i!=k&j!=k)/*C的对手不能是的对手不能是a、b的对手的对手*/if(i!=x&k!=x&k!=z)printf(“order is a-%ctb-%ctc-%cn”,i,j,k);题目五:给一个不多于题目五:给一个不多于5位的正整数,要求:一、位的正整数,要求:一、求它是几位数,二、逆序打印出各位
44、数字求它是几位数,二、逆序打印出各位数字程序分析:学会分解出每一位数程序分析:学会分解出每一位数 程序源代码程序源代码(1):#includeint main()int i=1,n,s;printf(请输入一个数请输入一个数:n);scanf(%d,&n);dos=n%10;printf(倒数第倒数第%d位是位是%dn,i,s);n=n/10;i+;while(n!=0);程序源代码程序源代码(2):main()int a,b,c,d,e,x;scanf(“%ld”,&x);a=x/10000;/*分解出万位分解出万位*/b=x%10000/1000;/*分解出千位分解出千位*/c=x%100
45、0/100;/*分解出百位分解出百位*/d=x%100/10;/*分解出十位分解出十位*/e=x%10;/*分解出个位分解出个位*/if(a!=0)printf(“there are 5,%ld%ld%ld%ld%ldn”,e,d,c,b,a);else if(b!=0)printf(“there are 4,%ld%ld%ld%ldn”,e,d,c,b);else if(c!=0)printf(“there are 3,%ld%ld%ldn”,e,d,c);else if(d!=0)printf(“there are 2,%ld%ldn”,e,d);else if(e!=0)printf(there are 1,%ldn,e);
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。