---—--—-———---———--——-————-——————-——--——-—-—--—--—-—-—-—-
题目:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回—1。
---———--——--—---———----—-—-—--—-—-—--—-—--——--———-——---*/ #include int low,high,mid; low=0; high=n-1; /***********SPACE***********/ while(【low〈=high】) { mid=(low+high)/2; /***********SPACE***********/ if(key〈a[mid]) 【high=mid—1】; /***********SPACE***********/ else if(key>a[mid]) 【low=mid+1】; /***********SPACE***********/ else 【return(mid)】; } return -1; } void main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; int b,c; b=4; c=fun(a,10,b); if(c==-1)printf(”not found”); else printf(\"position %d\\n\",c); } /*-—-————-——-—--————-——-—--——-----———----—----—---—-----— 2 【程序填空】 ————---——--—-————-—-—---—-————---—----—--——-—-——----—-——— 题目:求n!,n值由键盘输入。 ——--——-—-————---—---———-————————-—————--—--—-——-——-—-——*/ #include 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\,t); } a/*-———-———-————---—-———--———--———-————-—-—----——--———-—-— 3 【程序填空】 ——----—-—-——-----—--——————-———--——-—-——-————---——-——--——— 题目:以下程序的功能是统计一个字符串中的字母、数字、空格、 和其它字符的个数。 ———-—--—-—--——-————-———--———————-—--—---—-—-——---—----—*/ #include \"stdio.h\" main () { char s1[80];int a[4]={0}; int k; /***********SPACE***********/ 【void fun(char s[],int[])】; gets(s1); /***********SPACE***********/ 【fun(s1,a)】; puts(s1); for(k=0;k〈4;k++) printf(\"%4d”,a[k]); } void fun(char s[],int b[]) { int i; for (i=0;s[i]!=’\\0';i++) if ('a’<=s[i]&&s[i]〈='z'||'A’〈=s[i]&&s[i]<=’Z') b[0]++; /***********SPACE***********/ else if (【'0’〈=s[i]&&s[i]〈=’9'】) b[1]++; /***********SPACE***********/ else if (【s[i]==32】 ) b[2]++; else b[3]++; } /*-------—-———--——---———--——--——--—-——--—-—-——-—-———-—--- 4 【程序填空】 --—-—————————-——-—--------————--——-——---——-----—---—-——-- 题目:判断一个给定的整数是否为素数。 ———--—---—————-——--—-——-———-—-—----——-—-—----————-—-——-*/ #include〈stdio。h> #include ”math。h” void main( ) { int m,i,k; scanf(\"%d\); k=sqrt(m); /***********SPACE***********/ for(i=2;【i〈=k】;i++) /***********SPACE***********/ if(【m%i==0】) break; /***********SPACE***********/ if(【i〉k】) printf(\"Yes\\n”); else printf(\"No\\n”); } /*-—————----—--——-——————---—--—-——-—---—-—---——----—----— 5 【程序填空】 ————-—-—---——-—-—-———----——-------—---———------——-——————- 题目:以下程序的功能:计算并输出500以内最大的10个能被 13或17整除的自然数之和。 —--—----—-——---———-—-——--—-—-——----——---——-——--—--—-—--*/ #include 〈stdio.h> /***********SPACE***********/ int fun(【int k】 ) { int m=0, mc=0; /***********SPACE***********/ while (k >= 2 && 【mc〈10】) { /***********SPACE***********/ if (k%13 == 0 || 【k%17==0】) { m = m+ k; mc++; } k—-; } /***********SPACE***********/ 【return(m)】; } void main ( ) { printf(\"%d\\n”, fun (500)); } /*--—-———------—--——-————-————-—-——-—----——-—--——--—-——-— 6 【程序填空】 ——-———--—-————--—————--——-—-————--——--—--—-—-———-———-——-— 题目:输入N个数据存入数组中,将其倒置存放,并打印输出. —----—-—-——-—--—-—--——---------——----—--—-—————-——-——-—*/ #include /***********SPACE***********/ for(i=0;i<【n/2】;i++) { t=a[i]; /***********SPACE***********/ a[i]=【a[n-i—1]】; a[N-i-1]=t; } for(i=0;i〈N;i++) printf(”%d \[i]); } /*---——--——----———-———---—--——---—-—-—-—--——-——---————--— 7 【程序填空】 —-—--——-----————-——-———---—----————--—————--—-——-———-—-—— 题目:输出Fibonacci数列的前15项,要求每行输出5项。 Fibonacci数列:1,1,2,3,5,8,13。...。。.。..。 —-—--————-—--—--——---—-—-—------——--——---——-———-—-——---*/ #include for (i=2;i<15;i++) /***********SPACE***********/ fib[i]=【fib[i—2]+fib[i—1]】; for(i=0;i〈15;i++) { printf(”%d\\",fib[i]); /***********SPACE***********/ if ( 【i%5==4】 ) printf(\"\\n\"); } } /*——--———---—--—---——————-——-————-————-—-—-—————-——--—--— 8 【程序填空】 ——--——----———----———-———-———------——-—-—-————-———-—-——--- 题目:以下程序的功能是求100-999之间的水仙花数(水仙花数 是指一个三位数的各个位数字的立方和是这个数本身, 如:153=1^3+5^3+3^3)。 ———-——--—--———-——————-———-——-—--—-—------—-——-—-—————-—*/ #include { int i,j,k,m; m=n; /***********SPACE***********/ 【k=0】 for(i=1;i〈4;i++) { /***********SPACE***********/ 【j=m%10】 m=(m-j)/10; k=k+j*j*j; } /***********SPACE***********/ if(k==n) 【return(1)】 else return(0);} void main() { int i; for(i=100;i〈1000;i++) /***********SPACE***********/ if(【fun(i)】==1)printf(”%d is ok!\\n” ,i); } /* ———-—-—-—————-—-——-—-——-————————--—-——---—-—--———------ 9 【程序填空】 —---—---————-——--————-—--—-—----——-—-—-—-——-——-—-—-————-- 题目:某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评 委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分。 —----—-——-----—-----—---——-——-——-———---——-——-—-——----—-*/ #include〈stdio。h> void main() { float mark,max,min,aver=0。0,sum=0。0; int i; for(i=1;i<=10;i++) { printf(”输入第%d位评委的打分\\n”,i); scanf(\"%f”,&mark); if(i==1) { max=mark; /***********SPACE***********/ 【min=mark】; } else if(mark〈min) min=mark; /***********SPACE***********/ else if(【mark〉max】) max=mark; /***********SPACE***********/ 【sum+=mark】; } aver=(sum-max—min)/8; printf(\"The Average score is %f\\n\; } /*---———---——--——----——----———--———---————------—---—---— 10 【程序填空】 —-——-—-—-——-—-—--—-—-—-———-----—----——-———-----—-—-—————- 题目:输出9*9口诀. -—-—---———-—------—-—-———-——-—--—————-————--—-——------—*/ #include /***********SPACE***********/ { for(j=1;j<10;【j++】) { result=i*j; /***********SPACE***********/ printf(”%d*%d=%—3d\",i,j,【result】); } printf(”\\n\"); } } /*-—----—-———---—-———-——--—---—-—————-—-——--—--———-—-—--— 11【程序填空】 -—--—-——--—-——--———-——-—-—--—-————-————-———--—-————---—-- 题目:用辗转相除法求两个整数的最大公约数、最小公倍数。 ——----————--—-—————--————-—-—————-——————----——————-——--*/ #include〈stdio。h〉 void main() { int n,m,nm,r,t; printf(”Enter m,n=?”); scanf(\"%d%d\",&m,&n); nm=n*m; if (m〈n) { 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=%d\\n”,n); /***********SPACE***********/ printf(”The min Gbshu=%d\\n\【nm/n】); } /*--—--—------—--—-————-——--—-——----——---——---—————-——--— 12【程序填空】 —-—-————-——-—------—---——-——————--——-—-——-——---—————-———— 题目:以下程序的功能是将一个数组中的元素按逆序存放。 ———------—-——--———-———————-————----——--—-——---———---—-—*/ #define N 7 #include〈stdio。h> void main () { static int a[N]={12,9,16,5,7,2,1},k,s; printf(\"\\n the origanal array:\\n\"); for (k=0;k s=a[k]; /***********SPACE***********/ 【a[k]=a[N-k-1]】 ; /***********SPACE***********/ 【a[N—k—1]=s】 ; } printf(”\\n the changed array:\\n”); for (k=0;k /*----—-——----——---—---—-—---——-———-——--—-——-——------——-- 13 【程序填空】 ———--—--—---—--—---——--—---——--————-—-—---————----—--—--— 题目:输入3个整数,输出最大数。 —-—-——----———--—---——--————-————--—---——---—---———————-*/ #include printf(”input three numbers: ”); scanf(”%d%d%d”,&a,&b,&c); /***********SPACE***********/ if(【a>b】) max=a; /***********SPACE***********/ 【else】 max=b; if(max〈c) /***********SPACE***********/ 【max=c】 printf(\"max=%d\\n\",max); } /*--——--—---—-—-—--—-————-—--—----——-—-—-—-—-—--——————-—- 14 【程序填空】 ---——----—-—-—-——--——--—-—————--————---—--—-——--————-———- 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 --——----——--——-----—----——-——--——-----—---——--——----———*/ #include /***********SPACE***********/ {【t=x;x=y;y=t;】} if(x>z) /***********SPACE***********/ {【t=z;z=x;x=t;】} if(y〉z) /***********SPACE***********/ {【t=y;y=z;z=t;】} printf(”small to big: %d %d %d\\n\,y,z); } /*—--———----—————-——-—-——----—--——----—————-—-—--—--—-—-— 15 【程序填空】 —-—--——-----——--———-————----——-------——----—---—---—————— 题目:打印出如下图案(菱形) * *** ***** ******* ***** *** * —-—---—-——-—-—-——————---—---———--—---—--—--——————---——-*/ #include〈stdio.h> void main() { int i,j,k; /***********SPACE***********/ for(i=0;【i〈4】;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】;j<3;j++) { for(k=0;k〈j+3;k++) printf(\" \"); /***********SPACE***********/ for(k=0;k<【5—2*j】;k++) printf(”*\"); printf(\"\\n”); } } /*---—--———-—--———--—-———-—-—-———--—--—--——-————-—----—-— 16 【程序填空】 -—-———-———-—----——--—-—-—-——----——----—--——--—--——-----—— 题目:以下程序的功能:计算并输出high以内最大的10个素数 之和,high由主函数传给fun函数,若high的值为100, 则函数的值为732. ——————-—---—--——————-———-——-—-—————-——-——-—---—-———--——*/
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务