1、C语音题目01 /*-1【程序填空】- 题目:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回-1。-*/#includefun(int a,int n,int key) int low,high,mid; low=0; high=n-1;/*SPACE*/ while(【low=high】) mid=(low+high)/2;/*SPACE*/ if(keyamid) 【low=mid+1】;/*SPACE*/ else 【return(mid)】; return -1;void main() int a10=1,2,3,4,5,6,7,8,9,1
2、0; int b,c; b=4; c=fun(a,10,b); if(c=-1)printf(not found); else printf(position %dn,c);/*-2 【程序填空】-题目:求n!,n值由键盘输入。-*/#include void main() int n,i; float t; printf(please input n(n=0):);/*SPACE*/ scanf(%d,【&n】); i=1; t=1.0;/*SPACE*/ while(【i=n】)/*SPACE*/ 【t*=i】 i+; printf(%d!=%f,n,t);a/*-3 【程序填空】-题目:
3、以下程序的功能是统计一个字符串中的字母、数字、空格、 和其它字符的个数。-*/#include stdio.hmain () char s180;int a4=0; int k;/*SPACE*/【void fun(char s,int)】; gets(s1);/*SPACE*/ 【fun(s1,a)】; puts(s1); for(k=0;k4;k+) printf(%4d,ak); void fun(char s,int b) int i; for (i=0;si!=0;i+) if (a=si&si=z|A=si&si=Z) b0+;/*SPACE*/ else if (【0=si&si
4、=9】) b1+;/*SPACE*/ else if (【si=32】 ) b2+; else b3+; /*-4 【程序填空】-题目:判断一个给定的整数是否为素数。-*/#include #include math.hvoid main( ) int m,i,k; scanf(%d,&m); k=sqrt(m);/*SPACE*/ for(i=2;【ik】) printf(Yesn); else printf(Non); /*-5 【程序填空】-题目:以下程序的功能:计算并输出500以内最大的10个能被 13或17整除的自然数之和。-*/#include /*SPACE*/int fun(【
5、int k】 ) int m=0, mc=0;/*SPACE*/ while (k = 2 & 【mc10】) /*SPACE*/ if (k%13 = 0 | 【k%17=0】) m = m+ k; mc+; k-; /*SPACE*/ 【return(m)】;void main ( ) printf(%dn, fun (500);/*-6 【程序填空】-题目:输入N个数据存入数组中,将其倒置存放,并打印输出。-*/#include #define N 10void main( ) int i, t, aN; printf(Enter %d Numbers:n, N); for(i=0;iN
6、;i+)/*SPACE*/ scanf(%d,【&ai】);/*SPACE*/ for(i=0;i【N/2】;i+) t=ai;/*SPACE*/ ai=【aN-i-1】; aN-i-1=t; for(i=0;iN;i+) printf(%d ,ai);/*-7 【程序填空】-题目:输出Fibonacci数列的前15项,要求每行输出5项。 Fibonacci数列:1,1,2,3,5,8,13.-*/#include void main()/*SPACE*/int 【fib】15,i; fib0=1;fib1=1;for (i=2;i15;i+)/*SPACE*/fibi=【fibi-2+fib
7、i-1】; for(i=0;i15;i+)printf(%dt,fibi);/*SPACE*/if ( 【i%5=4】 ) printf(n); /*-8 【程序填空】-题目:以下程序的功能是求100999之间的水仙花数(水仙花数 是指一个三位数的各个位数字的立方和是这个数本身, 如:153135333)。-*/#includeint fun(int n) int i,j,k,m; m=n;/*SPACE*/ 【k=0;】 for(i=1;i4;i+) /*SPACE*/ 【j=m%10;】 m=(m-j)/10; k=k+j*j*j; /*SPACE*/ if(k=n) 【return(1)
8、;】 else return(0);void main() int i; for(i=100;i1000;i+)/*SPACE*/ if(【fun(i)】=1)printf(%d is ok!n ,i);/*-9 【程序填空】-题目:某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分。-*/#include void main() float mark,max,min,aver=0.0,sum=0.0; int i; for(i=1;i=10;i+) printf(输入第%d位评委的打分n,i); s
9、canf(%f,&mark); if(i=1) max=mark;/*SPACE*/ 【min=mark】; else if(markmax】) max=mark;/*SPACE*/ 【sum+=mark】; aver=(sum-max-min)/8; printf(The Average score is %fn,aver);/*-10 【程序填空】-题目:输出9*9口诀。-*/#include void main()int i,j,result;printf(n);/*SPACE*/for (i=1;【i10】;i+)/*SPACE*/ for(j=1;j10;【j+】)result=i*
10、j;/*SPACE*/printf(%d*%d=%-3d,i,j,【result】);printf(n);/*-11【程序填空】-题目:用辗转相除法求两个整数的最大公约数、最小公倍数。-*/#include void main() int n,m,nm,r,t; printf(Enter m,n=?); scanf(%d%d,&m,&n); nm=n*m; if (mn) t=m; m=n; n=t; r=m%n;/*SPACE*/ while (【r!=0】) m=n;/*SPACE*/ 【n=r;】/*SPACE*/ 【r=m%n;】 printf(The max Gyshu=%dn,n)
11、;/*SPACE*/ printf(The min Gbshu=%dn, 【nm/n】); /*-12【程序填空】-题目:以下程序的功能是将一个数组中的元素按逆序存放。-*/#define N 7#includevoid main () static int aN=12,9,16,5,7,2,1,k,s; printf(n the origanal array:n); for (k=0;kN;k+) printf(%4d,ak);/*SPACE*/ for (k=0;k【N/2】; k+ ) s=ak;/*SPACE*/ 【ak=aN-k-1】 ;/*SPACE*/ 【aN-k-1=s】 ;
12、printf(n the changed array:n); for (k=0;kN;k+)/*SPACE*/ 【printf】(%4d,ak);/*-13 【程序填空】-题目:输入3个整数,输出最大数。-*/#include void main( ) int a,b,c, max; printf(input three numbers: ); scanf(%d%d%d,&a,&b,&c);/*SPACE*/ if(【ab】) max=a; /*SPACE*/ 【else】 max=b; if(maxc) /*SPACE*/ 【max=c;】 printf(max=%dn,max);/*-14
13、 【程序填空】-题目:输入三个整数x,y,z,请把这三个数由小到大输出。-*/#includevoid main()int x,y,z,t; scanf(%d%d%d,&x,&y,&z); if (xy)/*SPACE*/ 【t=x;x=y;y=t;】 if(xz)/*SPACE*/ 【t=z;z=x;x=t;】 if(yz)/*SPACE*/ 【t=y;y=z;z=t;】 printf(small to big: %d %d %dn,x,y,z);/*-15 【程序填空】-题目:打印出如下图案(菱形) * * * * * * *-*/#includevoid main()int i,j,k;
14、/*SPACE*/for(i=0;【i4】;i+) for(j=0;j=4-i;j+) printf( );/*SPACE*/ for(k=1;k=【2*i+1】;k+) printf(*); printf(n);/*SPACE*/for(【j=0】;j3;j+) for(k=0;kj+3;k+) printf( );/*SPACE*/ for(k=0;k【5-2*j】;k+) printf(*); printf(n);_/*-16 【程序填空】-题目:以下程序的功能:计算并输出high以内最大的10个素数 之和,high由主函数传给fun函数,若high的值为100, 则函数的值为732。-
15、*/#include #include int fun( int high ) int sum = 0, n=0, j, yes;/*SPACE*/ while (high = 2) & (【n10】) yes = 1; for (j=2; j=high/2; j+ )/*SPACE*/ if (【high%j=0】)/*SPACE*/ yes=0; 【break】; if (yes) sum +=high; n+; high-; /*SPACE*/ 【return(sum)】;void main ( ) printf(%dn, fun (100);/*-17 【程序填空】-题目:输入如下形式的二项式系数列标。要求表的行数运行时输入, 若小于1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1