院级比赛题目

来源:互联网 发布:mysql 5.1.51.tar.gz 编辑:程序博客网 时间:2024/04/28 05:07

一、单项选择题(每题2分,共20分)

1.为避免if~else语句的二义性,C语言规定else总是和  B   匹配。

(A) 在同一行上的if                       (B)在其之前最近的未配对的if

(C) 缩进位置相同的if                   (D) 在其之前最近的if

2.有以下程序段C

  int k=0;

while(k=1) k++;

那么,while循环执行的次数是:

(A) 无限次                                       (B)有语法错误,不能执行

(C) 一次也不执行                       (D) 执行1

3.C语言中,要求运算数必须是整型的运算符是:B

(A)  /                    (B)                 (C)                 (D)  >

4.若有定义:char arr[]=”China”,则数组arr所占的空间为:C

(A) 4个字节        (B)5个字节     (C) 6个字节      (D) 7个字节

5.若有以下定义char a,int b,float c,double d, 则表达式a*b+d-c值的类型为:D

(A)  float            (B)int                  (C) char              (D) double

6若有以下定义,则数值不为3的表达式是________          

int x[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p1;

(A)  x[3]                                        (B)  p1 = x + 3, *p1++

(C)  p1 = x + 2, *(p1++)                  (D)   p1 = x + 2, *++p1

7在一个C语言源程序中,必须有main函数,它的位置________

     (A) 必须在整个源程序最开始   (B) 可以用其它函数代替  

 (C)可以在任何位置           (D) 必须在整个源程序最后

8若有说明语句:int a[ ][3]={1,2,3,4,5,6,7,8,9}; a数组的行数为________

 (A)不确定      (B) 1                (C) 2              (D) 3

9以下不能正确定义二维数组的选项是________

(A) int a[2][2]={{4}{5}}     (B) int a[][2]={4567}

(C) int a[2][2]={{4}56}    (D) int a[2][]={{45}{67}}

10函数的功能是交换xy值,且通过正确调用返回交换结果,不能正确执行此功能的函数是________

(A) fa(int *x,int *y)               

{int a,*p=a; *p=*x;*x=*y;*y=*p;}    

(B) fb(int x,int y)

  {int t;t=x;x=y;y=t;}

(C) fc(int *x,int *y)          

{intp;p=*x;*x=*y;*y=p;}        

  (D) fd(int *x,int *y)

         {*x=*x+*y;*y=*x-*y;*x=*x-*y;}

 

二、完成下面程序(每空3分,共24分)

1、输入一个整数,将其插入到非递增数组中,使数组仍保持有序。

#define N 11

#include "stdio.h"

main( )

{ int arr[N],x,j,k;

printf("\nplease enter the array(%d): ",N-1);

for(j=0;j<N-1;j++)

scanf("%d",&arr[j]);

  printf("please enter the number: ");

  scanf("%d",&x);    

for(      ;      ;      ); 

for(    ;  ;      ) 

          ;  

            ;   

 printf("the array is:\n ");

 for(j=0;j<N;j++)printf("%4d",arr[j]);

}

2、用公式π/4=1-1/3+1/5-1/7+….π的近似值,直到最后一项的绝对值小于10-6为止。

main( )

{ int j, s=1;

float pi=0k;

k=1;

  for(j=1;     ;j++)

{ pi=      ;

    s=        ;

    k=        ;

}

  printf("%f",pi);

}

三、编程题

1.编写一个程序,判断从键盘输入的一个数是否是素数。(10分)

2.编程计算下式的值1+(1+2)+(1+2+3)+(1+2+3+4)+...+(1+2+3+4+...+n)。(10分)

3.已知Fibomacci数列的计算公式为:

fib(n)=1                  n=1n=2时;

fib(n)=fib(n-1)+fib(n-2)    n>=3时。

请用递归的方法求这个数列的第n项。其中n由键盘输入。(10分)

4.求所有这样的三位整数:它的2倍、3倍还是三位整数,且这三个三位数使用19之间不同的数字。例如:n1922n3843n576。(12分)

5. 编写一个函数fun,实现功能如下:把一个数中的偶数提出,并且将这些偶数顺序输出。(14分)

1//**************************************************************************************************

#include<iostream.h>#include<conio.h>#include<math.h>int main(){   int n;   double k;   cout<<"Please intput a digital:";   while(cin>>n)   {      k=sqrt(n);      int i;  for( i=2;i<=k;i++)  {     if(n%i==0) break;          }         if(i<=k)  cout<<n<<"不是素数!"<<endl;  else  cout<<n<<"是素数."<<endl;      cout<<"Please intput a digital:";      }getch();return 0;}


 

*******************************************************************************************************************************************2#include<iostream.h>#include<conio.h>int main(){   int n,sum=0,s=0;   cout<<"Please intput a digital:";   while(cin>>n)   {    sum=0;      while(n)   {           s=0;      for(int i=1;i<=n;i++)        s=s+i;         sum=sum+s;       n--;   }          cout<<"The result is:"<<sum<<endl;         cout<<"Please intput a digital:";         }getch();return 0;}//************************************************************************************************************************************************3#include<iostream.h>#include<conio.h>int fib(int n){  if(n==1||n==2)    return 1;  else    return fib(n-1)+fib(n-2);}int main(){ int n;   cout<<"Please input a digital:";   while(cin>>n)   {      int a;    a=fib(n);         cout<<"The result is:"<<a<<endl;     cout<<"Please input a digital:";   }getch();return 0;}*****************************************************************************************************4#include<iostream.h>#include<conio.h> int main(){  for(int n=100;n<333;n++)  {      int d=2*n,e=3*n;     int a[10]={0},b[10]={0},i=0,j=0,k=0,p=0;         a[0]=n%10;      a[1]=(n/10)%10;      a[2]=n/100;             a[3]=d%10;       a[4]=(d/10)%10;      a[5]=d/100;             a[6]=e%10;       a[7]=(e/10)%10;       a[8]=e/100;                   for(i=0;i<9;i++)              for(j=0;j<9;j++)               {                  if(a[i]==a[j])                     b[i]++;                                    }           for(i=0;i<9;i++)          if(b[i]!=1)              break;                if(i==9)         cout<<n<<endl;  }  getch(); return 0;}5#include<iostream.h>#include<conio.h>void fun(int a[],int x[],int n){     for(int m=0,j=0;m<n;m++,j++)  if(a[m]%2==0)   x[j]=a[m];    int k,t;   for(int i=0;i<n-1;i++)   {      k=i;   for(int j=i+1;j<n;j++)    if(*(x+j)>*(x+k))     k=j;    if(k!=i)    {      t=*(x+i);   *(x+i)=*(x+k);   *(x+k)=t;            }            }}int main(){     int a[6],b[6]={0};for(int i=0;i<6;i++)cin>>a[i];fun(a,b,6);for(int j=0;j<6;j++)cout<<b[j]<<"\t";getch();return 0;}


因为粗心,我失去了最后一题的分。记录下     当做警告。。。。。哎      我发现我好笨     最简单的题目   明明会做    却在规定时间内不能全做出来  

真想抽自己一巴掌         静心静心吧    

 

 

原创粉丝点击