第五章循环结构的程序设计补充习题(1)
- 格式:doc
- 大小:31.50 KB
- 文档页数:5
循环结构程序设计练习一一、累加、累乘1.求1-100的偶数和解1:应用FOR语句SUM=0FOR I=1 TO 100IF____________SUM=SUM+IENDIFENDFOR?’1~100的偶数和为:’,SUM解2:使用DO WHILE 实现:SUM=0____________DO WHILE ____________IF MOD(I,2)=0SUM=SUM+IENDIF____________ENDDO?’1~100的偶数和为:’,SUM解3:使用LOOP语句实现:SUM=0____________DO WHILE I<100I=I+1IF ____________LOOPELSESUM=SUM+IENDIFENDDO?’1~100的偶数和为:’,SUM2.累乘:求指定数的阶乘(即N!)。
CLEARINPUT "请输入N的值:" TO N____________FOR I=1 TO NMUL=MUL*IENDFOR?N,’的值为:’,MUL3.编程从键盘输入N的值,求1+1/2!+1/3!+1/4!+….+1/N!解1:应用双重循环CLEARSUM=_①_INPUT "请输入N的值: " TO NFOR I=1 TO NMUL=_②_FOR J=1 TO IMUL=MUL*__③__ENDFORSUM= SUM+____④_____ENDFOR?'求得的总和为: ',SUM解2:应用单循环:CLEARSUM=0MUL=1INPUT "请输入N的值: " TO NFOR I=1 TO NMUL=MUL*ISUM= SUM+____________ENDFOR?'求得的总和为: ',SUM4.该程序完成以下式子的计算1-1/3!+1/5!-1/7!+…。
SET TALK OFFINPUT “请输入1后面的项目个数:”TO EP STORE 1 TO N ,P,YDO WHILEK=2*N+1P= P*(K-1)*KN=N+1ENDDO?‘Y=’+STR (Y,10,8)SET TALK ONRETURN5. 有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13……(注:该数列从第二项开始,其分子是前项的分子与分母的和,而其分母是前一项的分子),求出这个序列前24项的和。
第 5 章循环结构程序设计练习题1.单项选择题( 1)语句 while (!e);中的条件!e等价于A。
A. e==0B. e!=1C. e!=0D. ~e( 2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在 for循环中,不能用break 语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A.不能使用do-while语句构成的循环B. do-while 语句构成的循环必须用break 语句才能退出C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环( 4) C 语言中 while 和 do-while 循环的主要区别是A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句( 5)以下程序段C。
int x=-1;do{x=x*x;}while (!x);A.是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误( 6)下列语句段中不是死循环的是__C__。
A.i=100;while (1){i=i%100+1;if (i==20) break;}B.for (i=1;;i++)sum=sum+1;C.k=0;do{++k;} while (k<=0);D.s=3379;while (s++%2+3%2)s++;( 7)与以下程序段等价的是__A__。
while (a){if (b) continue;c;}A.while (a)B.while (c){ if (!b) c; }{ if (!b) break; c; }C. while (c)D. while (a){ if (b) c; }{ if (b) break; c; }( 8)以下程序的输出结果是_B___。
例1/****************************************************************************** *****题目:计算n的阶乘!设计:狼影时间:2012-03-05 19:59******************************************************************************* ********//****************************************************************************** ***注意!下面所求数的阶乘不能超过31,要请求更大数的阶乘!请参照第二个阶乘函数!哈!第二个能看懂的就看啊!思想是用数组来保存数据,然后在输出数组中的数!(下面对它做了充分的解释,祝你能看懂哈!!)******************************************************************************* ******//***********************第一个函数*******************************/# if 1# include <stdio.h>main(){int n, i;unsigned long sum = 1;//请求用户输入数据,不能超过12,所以为了避免溢出出错,在下面限制了数的大小printf("请输入要求什么数的阶乘\n");scanf("%d", &n);//限制数的大小if(n<0 || n>12)printf("你输入错误!\n");if(n==0 ||n == 1)printf("此数的阶乘为1\n");//求当n大于一时的阶乘!if(n>1 && n<=12){for(i = 2; i<=n; i++){sum *= i;}printf("%d!=%d\n" ,n, sum);}}# endif/****************************************************************************** *****************请输入要求什么数的阶乘1212!=479001600Press any key to continue******************************************************************************* ******************请输入要求什么数的阶乘13你输入错误!Press any key to continue******************************************************************************* *********************//**********************************************第二个函数利用数组求大数阶乘!*******************************//****************************************************************************** *************************重点!要将数组中的每一位元素都乘以2到n的数;规范数组元素,看每位数组元素保留几位数;在规范中,如何计算进位?解决:用数组元素整除位数加一的最小数例如:保留3位,就要用数组元素整除1000 ;123/1000 = 0,进位为01234/1000 = 1,进位为1;如何保证每位数组元素有一定的位数?解决:用数组元素整除位数加一的最小数求余如:保留3位123%1000 = 123; 1234%1000 = 234;当有进位时,数组下标要加一;如何判断有进位?当当前的下标元素加一的数组元素>零时,说明有进位;正确输出(要逆序输出数组,从右向左);例如:7!= 5040 假如每位数组元素保留3位数则在数组中7!的表示法为40 / 5(为了方便看每位数组元素用/隔开)由上知数组逆序输出,因为产生的进位都会加到数组的下一位;由上可以看到如果按上面的逆序输出得到的是540,少了一个零,为了保证零的不缺失,所以输出时除了最高位的都要用03d%保证三位,不足三位的在左边补零。
第五章循环结构的程序设计补充习题(1)一、单选题1. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。
B) do-while语句构成的循环只能用break语句退出。
C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。
2. 设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。
A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次3. 有如下程序main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环4. 有如下程序main(){ int n=9;while(n>6) {n--;p rintf(“%d”,n);}}该程序段的输出结果是A) 987 B) 876 C) 8765 D) 98765. 有以下程序main(){ int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d\n",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是A)-1 B)-3 C)-5 D)06.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;7. 标有/**/的语句的执行次数是:int y , i ;for(i=0;i<20;i++){ if( i%2==0) continue ;y+=i ; /**/}A) 20 B)19 C)10 D) 98.要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10main(){ int n; float s;s=;for(n=10;n>1;n--) s=s+1/n;printf("%\n",s);}程序运行后输出结果错误,导致错误结果的程序行是A)s=; B)for(n=10;n>1;n--)C)s=s+1/n; D)printf("%\n",s)9.C语言中while和do-while循环的主要区别是______。
第5章循环结构程序设计习题解答1.输入n个整数,求这n个数之中的偶数平均值,并输出。
#include<stdio.h>void main(){int n,i,x,k=0,s=0;printf("Input a number(n):");scanf("%d",&n);printf("Input %d numbers:",n);for(i=0;i<n;i++){scanf("%d",&x);if(x%2==0){s+=x;k++;}}s/=k;printf("average=%d\n",s);}2.输入一串字符,直到输入一个星号*为止,统计(输出)其中字母个数和数字字符个数。
#include<stdio.h>void main(){int n=0,m=0;char c;printf("Input a string character:");do{scanf("%c",&c);if(c>='0'&&c<='9')n++;else if(c>='A'&&c<='Z'||c>='a'&&c<='z')m++;}while(c!='*');printf("number_char=%d\n",n);printf("letter_char=%d\n",m);}3.从键盘输入一正整数n,计算该数各位数字之和并输出。
例如,输入数是5246,则计算5+2+4+6=17并输出。
#include<stdio.h>void main(){int n,r,m=0,s=0;printf("Input a number(int):");scanf("%d",&n);do{r=n%10;s=s+r;n/=10;if(m==0)printf("%d",r);//加式中的第1项不带“+”elseprintf("+%d",r);m++;}while(n>0);printf("=%d\n",s);}4.输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。
循环结构程序设计补充题1、选择题(1)C 语言while 语句中,用于条件判断的表达式是 。
A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式(2)下列while 循环,将执行 。
i=4;while(--i) printf );,%(i d ''''A .3次 B. 4次 C .0次 D.无限次(3)下列程序段执行后s 值为 。
int i=1,s=0;while(i++) if(!(I%3)) break; else s+=i;A. 2B. 3C. 6D.以上均不是(4)下述程序的输出结果为 。
#include<stdio.h>main( ){ int x=3,y=6,z=0;while(x++!=(y-=1)){z++;if(y<x) break;}printf (“x=%d, y=%d, z=%d”,x,y,z);}A. x=4,y=4,z=1B. x=5,y=4,z=3C. x=5,y=4,z=1 D x=5,y=5,z=12、填空题(1)用for 语句循环打印0 1 2 0 1 2 0 1 2;for(i=1;i<=9;i++) printf (“%2d”,_____);(2)下列程序段的输出为 。
#include<stdio.h>main( ){ int i=1;while(i<=-1)printf (“###”);printf (“%d”,i);}(3)下列程序段的输出为 。
#include<stdio.h>main( ){ int i=5;do{i--;printf(“###”);}while(i);printf(“%d”,i);}(4)下列程序段的输出为。
int x=5,y=10;do{x>y?(x-=1,y+3):(x+=4,y-=2);}while(x+y<15);printf(“x=%d,y=%d\n”,x,y);(5)下述程序的输出结果为。
一、单选题1.for语句中的表达式可以部分或全部省略,但两个C不可省略。
但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。
A)0 B)1C);D),2.程序段如下int k=-20;while(k=0) k=k+1;则以下说法中正确的是C。
A)while循环执行20次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次3.程序段如下int k=0; while(k++<=2); printf("%d\n",k);则执行结果是D。
A)2 B)3C)4 D)无结果4.在C语言的循环语句for,while,do-while中,用于直接中断循环的语句是C 。
A)swich B)continueC)break D)if5.循环语句中的for语句,其一般形式如下:for(表达式1;表达式2;表达式3)语句其中表示循环条件的是B。
A)表达式1 B)表达式2C)表达式3 D)语句6.以下能正确计算1×2×3×…×10的程序段是C。
A)do {i=1;s=1; s=s*i; i++; } while(i<=10);B)do {i=1;s=0; s=s*i; i++; } while(i<=10);C)i=1;s=1; do {s=s*i; i++; } while(i<=10);D)i=1;s=0; do {s=s*i; i++; } while(i<=10);7.不是无限循环的语句为A。
A)for(y=0,x=1;x>++y;x=i++)i=x; B)for( ; ;x++=i);C)while(1){x++;} D)for(i=10; ;i--) sum+=i;8.有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 && n<3);此处do—while循环的结束条件是D。
第五章循环结构得程序设计补充习题(1)一、单选题1、以下叙述正确得就是A) dowhile语句构成得循环不能用其它语句构成得循环来代替。
B) dowhile语句构成得循环只能用break语句退出。
C) 用dowhile语句构成得循环,在while后得表达式为非零时结束循环。
D) 用dowhile语句构成得循环,在while后得表达式为零时结束循环。
2、设有程序段int k=10;while(k=0) k=k1;则下面描述中正确得就是。
A)while循环执行10次B)循环就是无限循环C)循环体语句一次也不执行D)循环体语句执行一次3、有如下程序main{ int x=23;do{ printf("%d",x);}while(!x);}该程序得执行结果就是A) 321 B) 23 C) 不输出任何内容D) 陷入死循环4、有如下程序main{ int n=9;while(n>6) {n;printf(“%d”,n);}}该程序段得输出结果就是A) 987 B) 876 C) 8765 D) 98765、有以下程序main{ int s=0,a=1,n;scanf("%d",&n);do{ s+=1; a=a2; }while(a!=n);printf("%d\n",s);}若要使程序得输出值为2,则应该从键盘给n输入得值就是A)1 B)3 C)5 D)06、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价得赋值语句就是A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;7、标有/**/得语句得执行次数就是:int y , i ;for(i=0;i<20;i++){ if( i%2==0) continue ;y+=i ; /**/}A) 20 B)19 C)10 D) 98、要求以下程序得功能就是计算:s= 1+1/2+1/3+……+1/10main{ int n; float s;s=1、0;for(n=10;n>1;n) s=s+1/n;printf("%6、4f\n",s);}程序运行后输出结果错误,导致错误结果得程序行就是A)s=1、0; B)for(n=10;n>1;n)C)s=s+1/n; D)printf("%6、4f\n",s)9、C语言中while与dowhile循环得主要区别就是______。
循环结构一、选择题1、设i和x都是int类型,则for循环语句( )for(i=0,x=0;i<=9&&x!=876;i++) scanf(“%d”,&x);(A)最多执行10次(B)最多执行9次(C)执行无限次(D)一次也不执行2、下述for循环语句()int i,k;for(i=0,k=-1;k=1;i++,k++) printf(“***”);(A)判断循环结束的条件非法(B)执行无限次(C)只循环一次(D)一次也不执行3、在下述程序中,判断i>j共执行了()次#include<stdio.h>main(){int i=0,j=10,k=2,s=0;for(;;){i+=k;if(i>j){printf(“%d”,s);break;}s+=i;}}(A)4 (B)5 (C)6 (D)74、以下程序的输出结果是()#include<stdio.h>main(){int i;for(i=1;i<=5;i++){if(i%2)putchar(…<‟);elsecontinue;putchar(…>‟);}putchar(…#‟);}(A)<><><># (B)><><><# (C)<><># (D)><><# 5、以下程序的输出结果是()#include<stdio.h>main(){int k=0,m=0,i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)k++;k-=j;}m=i+j;printf(“k=%d,m=%d”,k,m);}(A)k=0,m=3 (B)k=0,m=5 (C)k=1,m=3 (D)k=1,m=56、下列程序的输出结果是()int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf(“%d”,m);(A)12 (B)15 (C)20 (D)25 7、以下程序的输出结果是()int x=3;do{printf(“%d”,x-=2);}while(!(--x));(A)1 (B)3 0 (C)1 -2 (D)死循环8、以下程序的运行结果是()#include<stdio.h>void main( ){int y=10;for(;y>0;y--)if(y%3==0){printf(“%d”,--y);continue;}}(A)741 (B)852 (C)963 (D)87543219、若x是int型变量,以下程序段的输出结果是()for(x=3;x<6;x++) printf((x%2)?(“**%d”):(“##%d\n”),x);(A)**3 (B)##3 (C)##3 (D)**3##4 ##4 **4 **4##5 **5**5 ##510、如下程序的输出结果是()#include<stdio.h>main(){ int x,i;for(i=1;i<=100;i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d”,x);}printf(“\n”);}(A)3981 (B)4284 (C)2668 (D)287011、以下循环体的执行次数是:()#include<stdio.h>main(){ int i,j;for(i=0,j=1;i<=j+1;i+=2,j--) printf(“%d\n”,i);}(A)3 (B)2 (C)1 (D)012、以下程序的输出结果是()#include<stdio.h>main(){int n=9;while(n>6) {n--;printf(“%d”,n);}}(A)987 (B)876 (C)8765 (D)9876 13、有以下程序段int k=0;while(k=1) k++;while循环执行的次数是()(A)无限次(B)有语法错,不能执行(C)一次也不执行(D)一次14、以下程序的输出结果是()#include <stdio.h>main(){ int i=0,a=0;while(i<20){ for(;;){ if((i%10)==0) break;else i--;}i+=11; a+=i;}printf("%d\n",a);}(A)21 (B)32 (C)33 (D)1115、以下的for循环()for(x=0,y=0;(y!=123)&&(x<4);x++);(A)死循环(B)循环次数不定(C)循环执行4次(D) 循环执行3次16、语句while(!E);中的条件!E等价于()(A)E==0 (B)E!=1 (C) E!=0 (D) -E17、以下程序片段的执行结果是()int x=23;do{printf(“%d”,x--);}while(!x);(A)321 (B) 23 (C) 无输出(D) 死循环18、下面程序的输出结果是()#include<stdio.h>main(){int k,j,m;for(k=5;k>=1;k--){m=0;for(j=k;j<=5;j++)m=m+k*j;}printf(“%d”,m);}(A)124 (B) 25 (C) 36 (D)1519、下面程序的输出结果是()#include<stdio.h>main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d%d”,x--,y);}(A)10 1 9 2 (B)9 8 7 6 (C)10 9 9 0 (D)10 10 9 120、下面程序的输出结果是()a=1;b=2;;c=2;while(a<b<c) {t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);(A)1,2,0 (B)2,1,0 (C)1,2,1 (D)2,1,1二、填空题1、以下程序段的输出结果是_____。
第五章循环结构的程序设计补充习题(1)一、单选题1. 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do—while语句构成的循环只能用break语句退出。
C) 用do—while语句构成的循环,在while后的表达式为非零时结束循环。
D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。
2。
设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。
A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次3。
有如下程序main(){int x=23;do{printf("%d”,x—-);}while(!x);}该程序的执行结果是A)321 B)23 C)不输出任何内容D)陷入死循环4. 有如下程序main(){ int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是A) 987 B)876 C)8765 D) 98765。
有以下程序main(){ int s=0,a=1,n;scanf(”%d”,&n);do{s+=1;a=a-2;}while(a!=n);printf(”%d\n",s);}若要使程序的输出值为2,则应该从键盘给n输入的值是A)—1 B)—3 C)-5 D)06。
若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0) s=a;for(b=1;b〈=c;b++)s=s+1;则与上述程序段功能等价的赋值语句是A)s=a+b;B)s=a+c; C)s=s+c;D)s=b+c;7. 标有/**/的语句的执行次数是:int y ,i ;for(i=0;i<20;i++){if( i%2==0)continue ;y+=i ;/**/}A)20 B)19 C)10 D)98。
要求以下程序的功能是计算:s= 1+1/2+1/3+……+1/10main(){int n; float s;s=1。
0;for(n=10;n>1;n—-)s=s+1/n;printf("%6。
4f\n",s);}程序运行后输出结果错误,导致错误结果的程序行是A)s=1。
0; B)for(n=10;n>1;n-—)C)s=s+1/n;D)printf("%6.4f\n",s)9.C语言中while和do-while循环的主要区别是______。
A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do—while允许从外部转到循环体内D)do—while的循环体不能是复合语句10。
以下能正确计算1*2*3*…*10的程序段是______.A)do {i=1;s=1;s=s*i;i++;}while(i<=10);B)do {i=1,s=0;s=s*i;i++;}while(i〈=10);C)i=1;s=1;do{s=s*i;i++;}while(i〈=10);D)i=1;s=0;do{s=s*i;i++;}while(i<=10);11. 以下正确的描述是()A) 循环体中的continue语句的作用是结束整个循环的执行B)switch语句中不能出现break语句C) continue语句只能中止本次循环D)break语句不能用于多重循环12。
语句while(!E);中的表达式!E等价于________。
A)E==0 B)E!=1 C)E!=0 D)E==113. 设有程序段t=0;while(printf(“*")){ t++;if(t〈3) break;}则下面描述正确的是。
A)其中循环控制表达式与0等价B)其中循环控制表达式与‘0’等价C)其中循环控制表达式是不合法的D)以上说法都不对14. 下面有关for循环的正确描述是.A)f or循环只能用于循环次数已经确定的情况B)f or循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来15。
对for(表达式1;;表达式3)可理解为。
A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1; 表达式1;表达式3)D)for(表达式1;表达式3;表达式3)16.下面程序段()。
for(t=1;t〈=100;t++){scan f(“%d,&x);if(x<0)continue;printf(“%3d”,x);}A)当x〈0时整个循环结束B) x>=0时什么也不输出C)printf函数永远也不执行D)最多允许输出100个非负整数二、填空题1. continue 语句是用来结束________循环的.2. 下列程序段循环执行的次数是次.int x=0;while(x=1){x—-;if(x==0)break;}3. 循环程序段“k=5;for(;k<0;k——);”执行后,k的值为 .4. 执行循环结构中的语句能够立即退出该结构。
5.执行循环结构中的语句能够立即执行下一次循环.6。
设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 .for(i=0,j=10;i<=j;i++,j——)k=i+j;三、判断题1.若有说明int c;则while(c=getchar());是正确的C语句。
() 2.do—while语句构成的循环不能用break语句退出.( )3.for循环只能用于循环次数已经确定的情况。
( )4.for( ;;)S中的语句S必执行无穷多次. ( )5.若S为C语句,while(1) S必定是无限循环.()四、写出下列程序的运行结果1.下面程序的运行结果是。
#include 〈stdio。
h>main(){int num=0;while(num<=2){num++;printf(“%d\n”,num);}}2.以下程序的输出是。
#include <stdio.h>main(){ int i;for(i=1;i<=5;i++){if(i%2)printf(“*");else continue;printf(“#”);}printf(“$\n”);}3。
当运行以下程序时,从键盘键入right?〈CR>(<CR〉代表回车),则下面程序的运行结果是。
#include <stdio.h〉main(){ char c;while((c=getchar())!=‘?’) putchar(++c); }4.下列程序的输出结果是 .main ( ){ int a=0, n=5;for ( ;;){ a++; n-—;printf("%d,",a);a=n;if (n==0) break;}printf("%d”,a);}五、程序填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
请填空.int n=0;char c;c=getchar();while(____){if(_____)n++;c=getchar();}2下面程序的功能是将从键盘输入的一对数,由小到大排序输出。
当输入一对相等数时结束循环,请选择填空。
#include <stdio。
h〉main(){int a,b,t;scanf(“%d %d”,&a,&b);while(){if(a>b){ t=a; a=b; b=t;}printf(“%d,%d”\n”,a,b);scanf(“%d %d”,&a,&b);}}3。
已知能被4整除而不能被100整除的或者能被400整除的年份是闰年,则闰年的判断条件程序如下:main(){int year,leap;scanf(“%d ",&year);if ()leap=1;else leap=0;if ( )printf(“是闰年”);else printf(“不是闰年”);}4.下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空.#include <stdio。
h〉main(){int m=0,n=0;char c;while(( )!=‘\n’){if(c>=’A’&&c〈='Z’) m++;if(c>=’a’&&c〈='z') n++;}printf(“%d\n”,m〈n?);}5.下面程序的功能是将小写字母变成对应大写字母后的第二个字母.(如a变成B。
)其中y变成A,z变成B。
请选择填空.#include <stdio。
h〉main(){ char c;while((c=getchar())!=’\n’){if(c>=’a'&&c<='z’){ ;if(c>’Z');}printf(“%c”,c);}}6.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include <stdio.h〉main(){int a,max=0;scanf(“%d”,&a);while( ){ if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max);}7.鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。
for (x=1;x〈=29;x++){y=30-x;if ( )printf(”%d, %d\n",x, y);}。