C语音题目01

  • 格式:doc
  • 大小:81.00 KB
  • 文档页数:12

/*------------------------------------------------------- 1【程序填空】 ---------------------------------------------------------

题目:下面函数为二分法查找key值。数组中元素已递增排序, 若找到key则返回对应的下标,否则返回-1。

-------------------------------------------------------*/ #include fun(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(key/***********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 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 【程序填空】 ---------------------------------------------------------

题目:以下程序的功能是统计一个字符串中的字母、数字、空格、 和其它字符的个数。

-------------------------------------------------------*/ #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 #include "math.h" void main( ) { int m,i,k; scanf("%d",&m); 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 /***********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 #define N 10 void main( ) { int i, t, a[N]; printf("Enter %d Numbers:\n", N); for(i=0;i/***********SPACE***********/ scanf("%d",【&a[i]】); /***********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;iprintf("%d ",a[i]); } /*------------------------------------------------------- 7 【程序填空】 --------------------------------------------------------- 题目:输出Fibonacci数列的前15项,要求每行输出5项。 Fibonacci数列:1,1,2,3,5,8,13........... -------------------------------------------------------*/

#include void main() { /***********SPACE***********/ int 【fib】[15],i; fib[0]=1;fib[1]=1; for (i=2;i<15;i++) /***********SPACE***********/ fib[i]=【fib[i-2]+fib[i-1]】; for(i=0;i<15;i++) { printf("%d\t",fib[i]); /***********SPACE***********/ if ( 【i%5==4】 ) printf("\n"); } } /*------------------------------------------------------- 8 【程序填空】 ---------------------------------------------------------

题目:以下程序的功能是求100-999之间的水仙花数(水仙花数 是指一个三位数的各个位数字的立方和是这个数本身, 如:153=1^3+5^3+3^3)。

-------------------------------------------------------*/ #include int fun(int n) { int i,j,k,m; m=n; /***********SPACE***********/ 【k=0;】 for(i=1;i<4;i++) {