编程题题库及答案.docx
程序设计题一、对应教材的选择结构知识点1.设计一函数,判断某一年是否是闰年。如果给定的年份能被4整除但不能被100整除或者年份能被400整除的是闺年,闰年的2月比平年的2月多一天。#include,s(dio.h"intfun(intyear)if(year%4=0&&year%100!=Oyear%400=0)return1;elsereturn0;)voidmain()inta;PrinIf("请输入年);scanf("%d"a);if(fun(a)=1)Printf("是");elsePrinlf("不是");)2.设计一函数,对于给定的一个百分制成绩,输出相应的五分制成绩。设:90分以上为'A';8089分为'B';7079分为'C';6069分为'D'60分以下为E'。#include,s(dio.h"voidfun(floatcj)if(cj>=90)printf(,A,');elseif(cj>=80)printf("B");elseif(cj>=70)Printf(nCn);elseif(cj>=60)printf("D);elseprintf(MEM);)voidmain()floata;primf(”请输入成绩n”);SCanfr%,&a);fun(a);3.设计一函数,对传递的实参字符串,统计其中字母个数,数字个数、空格个数及其它符号个数,在函数中输出各种字符的个数。#include,s(dio.h"voidfun(char*s)(intZm=O,sz=0,kg=O,ql=O;for(j*s!=s+)if(*s>='a,<fe<fe*s<=,z,H*s>=,A,<fc<fe*s<='Z')zm+;elseif(*s>='0,<fc<fe*s<='9,)sz+;elseif(*s=,')kg+;elseqt+;)Printf("字母个数:%dn,zm);Primfr数字个数:%dn'sz);Primfe空格个数:%dn",kg);Primf("其他符号个数:%dn'qt);)voidmain()chara200;Primf("请输入字符串n");gets(a);fun(a);14 .设计一函数,实现对分段函数的计算。_X2-I(Xmo)'2-x+l(x<O)#include"stdio.h,floatfun(floatx)if(x>=0)returnx*x-l;elsereturn2*x*x*x-x+l;)voidmain()floatx;PrinIf("请输入xn");scanf(%f'x);printf(,%fn",fun(x);)5 .设计一函数,用于实现符号函数。1x>Oy=V0X=0-1x<0#include"stdio.h"floatfun(floatx)if(x>0)return1;elseif(x=0)return0;elsereturn-1;)voidmain()floatx;Prindr请输入xn");scanf(',%f,x);printf(,%fn",fun(x);)6 .设计一函数,对输入的整数n判断其是奇数还是偶数,如果是奇数返回值1,偶数返回值2。#include"stdio.h"intfun(intn)if(n%2=0)return2;elsereturn1;)voidmain()intn;PrinIf("请输入nn,');scanf(,%d'n);printf(,%dn,fun(n);)7 .设计一函数,函数功能是返回两个整数中大的值。#include,'stdio.h"intfun(inta,intb)if(a>b)returna;elsereturnb;)voidmain()inta,b;PrinIir请输入a,bn");scanf("%d%dn,&a,&b);printf("%dn",fun(a,b);)8 .设计一函数,函数的功能是判断形参字符是否为字母,如果是小写字母则转换为对应的大写字母返回,如果是大写字母则转换为对应的小写字母返回,其它字符不转换,函数返回原字符。#include,stdio.h"voidfun(char*c)if(*c>='a,<fe<fc*c<='z')*c=*c-32;elseif(*c>=,A,<fe<fe*c<='Z,)*c=*c+32;)voidmain()chara;PrinIf("请输入cn");scanf(',%c',<fca);fun(<fea);printf(',%c',a);二、对应教材的循环结构知识点9 .设计一函数,函数功能用于实现返回1到n(n是整数,形参)的和。#include,s(dio.h"longfun(intn)(inti;longs=0;for(i=l;i<=n;i+)s=s+i;returns;)voidmain()intn;Prinlfr请输入nn”);scanf("%d"n);printf("%ld",fun(n);110 设计一函数,函数功能用于实现判断整数n(形参)是否为素数。#include,'s(dio.h"intfun(intn)inti;for(i=2;i<=n-l;i+)if(n%i=O)break;if(i=n)return1;elsereturn0;)voidmain()intn;PrinIf("请输入nn);scanf(',%d",<fen);if(fun(n)=l)Prinlf("是");elsePrinlf("不是");)11 设计一函数,函数功能用于返回整数m与n的最大公约数。(用While语句实现)#include"stdio.h'rintfun(intm,intn)intr;if(m<n)r=m;m=n;n=r;)r=m%n;while(r!=0)m=n;n=r;=m%n;)returnn;)voidmain()inta,b;Primf("请输入abn'');SCanf("%d%d”,&a,&b);printf(',%dn,fun(a,b);)12 设计一函数,函数功能用于返回整数m与n的最大公约数。(用do语句实现)#include"stdio.h'rintfun(intm,intn)intr;if(m<n)r=m;m=n;n=r;)dor=m%n;m=n;n=r;)while(r!=0);returnm;)voidmain()inta,b;PrimfC请输入abn'');scanf(',%d%d"a,<feb);printf("%dn',fun(a,b);J13 设计一函数,函数功能用于返回整数In与n的最大公约数。(用递归语句实现)#include"s(dio.h"intfun(intm,intn)if(m%n=0)returnn;elsefun(n,m%n);)voidmain()inta,b;PriIrtf("请输入abn");scanf("%d%d'&a,&b);printf(',%dn'fun(a,b);)14 设计一函数,函数功能用于返回表达式s=l+l(l*2)+l(2*3)+l(3*4)+.+l(n*(n+l)前n项和的值。#include"s(dio.h"doublefun(intn)(doubles=1;inti;for(i=l;i<=n;i+)s=s+l.O(i*(i+l);returns;Jvoidmain()intn;Primf("请输入NT);scanf("%d"n);printf("%lfn,fun(n);115 设计一函数,函数功能用于返回表达式s=l-l3+l5-l7+.的前n项和。#include,s(dio.h"doublefun(intn)doubles=0;inti,t=l;for(i=l;i<=n;i+)(s=s+t*1.0(2*i-l);t=-t;)returns;1voidmain()(intn;Primf("请输入nn");scanf("%d"n);printf("%lfn",fun(n);)16 设计一函数,函数功能实现求表达式s=l!+2!+.+n!,返回s的值。#include"stdio.h'rlongfun(intn)longs=O,sl=l;inti;for(i=l;i<=n;i+)sl=sl*i;s=s+sl;)returns;)voidmain()intn;Primf("请输入nn);scanf(',%d"11);printf("%dn,',fun(n);)17 设计一函数,函数功能实现统计三位整数中有多少个没有重复数字的偶数的个数。#include',stdio.h,rintfun()longs=0;inti,x,x1,x2;for(i=100;i<999;i+)/数字0n,i<nnnif(i%2=0)x0=i%10;xl=i10%10;x2=il(X);if(x!=x1&&xl!=x2&&x2!=x)s+;1returns;)voidmain()printf("%dn',fun();三、对应教材数组知识点18 设计一函数,函数功能实现返回一个包含n个元素的数组的最大值。#include',stdio.hnintfun(inta,intn)intmax,i;max=arr01;for(i=0;i<n;i+)if(ail>max)max=arri;returnmax;1voidmain()inta=3,56,7,4,3);printf(',%dn,fun(a,5);)19 设计一函数,函数功能实现返回一个包含n个元素的整型数组的最小值。#include,stdio.h"intfun(intarrl,in(n)intmin,i;min=arr0;for(i=0;i<n;i+)if(arril<min)min=arri;returnmin;)voidmain()inta11=(3,56,7,4,3);printf("%dn,fun(a,5);)20 设计一函数,函数功能实现返回一个包含n个元素的整型数组的所有元素和。#include,stdio.h"longfun(in(arr,intn)inti;longs=0;for(i=0;i<n;i+)s=s+arril;returns;)voidmain()inta=(3,