计算机二级题库.docx

上传人:b****7 文档编号:8849925 上传时间:2023-02-02 格式:DOCX 页数:64 大小:45.92KB
下载 相关 举报
计算机二级题库.docx_第1页
第1页 / 共64页
计算机二级题库.docx_第2页
第2页 / 共64页
计算机二级题库.docx_第3页
第3页 / 共64页
计算机二级题库.docx_第4页
第4页 / 共64页
计算机二级题库.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

计算机二级题库.docx

《计算机二级题库.docx》由会员分享,可在线阅读,更多相关《计算机二级题库.docx(64页珍藏版)》请在冰豆网上搜索。

计算机二级题库.docx

计算机二级题库

编程题库    

/*求菲玻那契数列的前20项。

菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。

*/

#include 

void fibonacci(int f[])

{ int i;

/************Fill in the blanks************/

  for(i=2;i<20;i++)

/************Fill in the blanks************/

    f[i]=f[i-1]+f[i-2];

}

main()

{ int f[20]={1,1},i;

  fibonacci(f);

  printf("\n菲玻那契数列的前20项为:

 ");

  for(i=0;i<20;i++){

    if(i%5==0) printf("\n");

/************Fill in the blanks************/

    printf("%12d",f[i]);

    }

 getch();

}

/*将一个二维数组a的行和列元素互换,存到另一个二维数组b中。

*/

#include 

void trans(int a[2][3],int b[3][2])

{/* 本函数将二维数组a的行和列元素互换,存到二维数组b中 */

/**********Error**********/

  int i,j;

  for(i=0;i<2;i++)

    for(j=0;j<3;j++)

/**********Error**********/

      b[j][i]=a[i][j];

}

main()

{ int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;

  printf("数组a:

\n");

  for(i=0;i<2;i++){

    for(j=0;j<3;j++)

      printf("%5d",a[i][j]);

    printf("\n");

  }

  trans(a,b);

  printf("数组b:

\n");

 for(i=0;i<3;i++){

    for(j=0;j<2;j++)

      printf("%5d",b[i][j]);

    printf("\n");

  }

  getch();

}

/*找出数组arr[]中的最大元素。

suffix函数的功能是:

求出形参数组a[]中最大元素的下标。

其中,形参n为数组元素的个数。

例如, 数组元素为:

 56 178 6 123 87 243 161 124 78 143

则输出结果为:

数组arr的最大元素为:

 arr[5]=243 */

#include 

int suffix(int a[],int n)

{ int i,k,max;

max=a[0];

for(i=1;i<10;i++)

if(max

return k;

}

main()

{ void CHECK();

  int arr[10]={56,178,6,123,87,243,161,124,78,143},k;

  clrscr();

  k=suffix(arr,10);

  printf("数组arr的最大元素为:

 arr[%d]=%d\n",k,arr[k]) ;

  getch();

  CHECK();

}

/*在sum函数中,根据整型形参m,计算如下公式的值。

            1         1           1                 1

    y = ------- + --------- + --------- + …… + -------

        100*100    200*200     300*300             m*m

    例如,若形参 m = 2000,则程序输出:

The result is:

 0.000160。

*/

#include 

/************Fill in the blanks************/

double sum(int m)

{ int i;

  double y,d;

/************Fill in the blanks************/

  y=0;

  for(i=100;i<=m;i+=100){

    d = (double)i * (double)i ;

    y += 1.0/d;

    }

/************Fill in the blanks************/

  return(y);

}

main( )

{ int n = 2000 ;

  printf("\nThe result is:

 %lf\n",sum(n));

  getch();

}

/*比较数组a[]和数组b[]中,a[i]>b[i]、a[i]=b[i]和a[i]

其中comp函数的功能是:

当x>y时,返回1;当x=y时,返回0;当x=y时,返回0。

*/

#include 

/**********Error**********/

int comp(int x,int y)

{ int flag;

  if(x>y) flag=1;

/**********Error**********/

  else if(x==y) flag=0;

  else flag=-1;

  return(flag);

}

main()

{ int i,n=0,m=0,k=0;

  int a[10]={5,-23,5,21,6,18,9,12,23,7};

  int b[10]={6,-9,64,23,-52,0,9,8,-35,12};

  printf("数组a:

\n");

  for(i=0;i<10;i++) printf("%4d",a[i]);

  printf("\n");

  printf("数组b:

\n");

  for(i=0;i<10;i++) printf("%4d",b[i]);

  printf("\n");

 for(i=0;i<10;i++){

    if(comp(a[i],b[i])==1) n=n+1;

    else if(comp(a[i],b[i])==0) m=m+1;

    else k=k+1;

    }

  printf("a[i]>b[i]%2d 次\na[i]=b[i]%2d 次\na[i]

  getch();

}

/*将 1 到 n 之间,能同时被 7 和 11 整除的整数存储到形参数组a[]中,并返回这些整数的个数。

例如:

当 n = 1000 时,程序输出:

77 154 231 308 385 462 539 616 693 770 847 924 */

#include 

int fun(int a[],int n)

{ int i;  int k=0;

  for(i=1;i<=1000;i++)

  if(i%7==0&&i%11==0)

  {a[k]=i;

   k++;

   }

   return k;

}

main()

{ void CHECK();

  int arr[20],i,k,n;

  clrscr();

  n=1000;

  k=fun(arr,n);

  for(i=0;i

    printf("%4d",arr[i]);

    getch();

  CHECK();

/*计算N×N的二维数组的所有数组元素的平均值。

    例如:

a 数组中的值为

                |0  1  2  7  9|

                |1  9  7  4  5|

           a =  |2  3  8  3  1|

                |4  5  6  8  2|

                |5  9  1  4  1|

则平均值为:

 4.280000。

*/

#include 

#define N  5

float count(int a[N][N])

{ int i,j;

float sum=0,ave;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

sum=sum+a[i][j];

ave=sum/(N*N);

return ave;

}

main()

{ void CHECK();

  int arr[N][N]={{0,1,2,7,9},{1,9,7,4,5},{2,3,8,3,1},{4,5,6,8,2},{5,9,1,4,1}};

  clrscr();

  printf("二维数组arr的元素的平均值为:

%f\n",count(arr)) ;

  getch();

  CHECK();

}

/*求广义菲玻那契数列的第n项。

广义菲玻那契数列前3项分别是1,1,1,从第4项开始,各项分别是其前3项之和。

广义菲玻那契级数的前n项为:

1,1,1,3,5,9,17,31,…… 。

例如,若 n = 20,则应输出

广义菲玻那契级数的第20项为:

 46499。

*/

#include 

long fibonacci(int n)

{ long a=1,b=1,c=1,d;

  int i;

/************Fill in the blanks************/

  for(i=4;i<=n;i++)

    {

/************Fill in the blanks************/

    d=a+b+c;

    a=b;

    b=c;

    c=d;

    }

/************Fill in the blanks************/

  return d;

}

main()

{ int n=20;

  printf("广义菲玻那契级数的第%d项为:

 %ld\n",n,fibonacci(n));

  getch();

}

/*应用冒泡排序算法,对数组a[]中的元素从小到大进行排序。

*/

#include 

void sort(int a[],int n)

{ int i,j,t;

  for(j=0;j

    for(i=0;i

      if(a[i]>a[i+1]){

        t=a[i];

/**********Error**********/

        a[i]=a[i+1];

/**********Error**********/

        a[i+1]=t;

      }

}

main()

{ int k,a[10]={6,-9,78,23,-12,0,9,8,-3,12};

  printf("数组a:

\n");

  for(k=0;k<10;k++)

    printf("%d ",a[k]);

  sort(a,10);

  printf("\n从小到大排序:

\n");

  for(k=0;k<10;k++)

    printf("%d ",a[k]);

  printf("\n");

  getch();

}

/*计算1到形参n之间,能被3和7整除的整数的和,并作为函数值返回。

例如,n为1800时,程序输出:

1到1800之间,能被3和7整除的整数的和为:

 76755 */

#include 

long sum(int n)

{

 int i;

 long sum=0;

 for(i=1;i<=n;i++)

 if(i%3==0&&i%7==0)

 sum=sum+i;

 return(sum);

}

main()

{ void CHECK();

  int n=1800;

  clrscr();

  printf("1到%d之间,能被3和7整除的整数的和为:

 %ld\n",n,sum(n)) ;

  getch();

  CHECK();

}

/*统计子字符串substr在字符串str中出现的次数。

例如,若字符串为This is a C Program,子字符串为is,则应输出2。

*/

#include 

int count(char str[],char substr[])

{ int i,j,k,num=0;

/************Fill in the blanks************/

  for(i=0;str[i]!

='\0';i++)

    for(j=i,k=0;substr[k]==str[j];k++,j++)

/************Fill in the blanks************/

      if(substr[k+1]=='\0')

    {

    num++;

    break;

    }

/************Fill in the blanks************/

  return num;

}

main()

{

  char str[80],substr[80];

  printf("Input a string:

 ");

  gets(str);

  printf("Input a substring:

 ");

  gets(substr);

  printf("The result is:

 %d\n",count(str,substr));

  getch();

}

/*求二维数组a[3][3]中各列元素的平均值,并依次存储在一维数组b[3]中。

*/

#include 

void  fun(int a[3][3],float b[3])

{  int i,j;

   for(i=0;i<3;i++){

     for(j=0;j<3;j++)

/**********Error**********/

       b[j]+=a[i][j];

     }

   for(i=0;i<3;i++)

/**********Error**********/

     b[i]/=3;

}

main()

{ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},i;

  float b[3]={0,0,0};

  fun(a,b);

  for(i=0;i<3;i++)

    printf("%4.1f ",b[i]);

  printf("\n") ;

  getch();

}

/*有一个3×4的矩阵,求所有元素中的最小值。

*/

#include 

min_value(int array[][4])

{ int i,j,min;

  min=array[0][0];

  for(i=0;i<3;i++)

/************Fill in the blanks************/

    for(j=0;j<4;j++)

      if(array[i][j]

/************Fill in the blanks************/

        min=array[i][j];

/************Fill in the blanks************/

  return(min);

}

main()

{ int a[3][4]={{-11,23,15,37},{29,48,6,-8},{15,17,34,12}};

  printf("矩阵中所有元素的最小值= %d\n",min_value(a));

  getch();

}

/*求班级学生考试成绩的平均值。

*/

#include 

float average(float array[],int n)

{ int i;

  float aver,sum=array[0];

/************Fill in the blanks************/

  for(i=1;i

    sum=sum+array[i];

/************Fill in the blanks************/

  aver=sum/n;

/************Fill in the blanks************/

  return (aver);

}

main()

{ float score_1[5]={98.5,97,91.5,60,55};

  float score_2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};

  printf("班级A学生考试成绩的平均值= %6.2f\n",average(score_1,5));

  printf("班级A学生考试成绩的平均值= %6.2f\n",average(score_2,10));

  getch();

}

/*将每个英语单词的第一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。

例如,若输入:

I am a student to take the examination.,

则应输出:

I Am A Student To Take The Examination.。

*/

#include  

/**********Error**********/

void change(char s[])

{ int i,k;

  k=0;

/**********Error**********/

  for(i=0;s[i]!

='\0';i++)

    if(k)

      {if(s[i]==' ') k=0;}

    else if(s[i]!

=' ')

      {k=1;

      s[i]=toupper(s[i]);

      }

}

main()

{ char str[80];

  printf("\nPlease enter an English text line:

 ");

  gets(str);

  printf( "Before changing:

\n  %s",str);

  change(str);

  printf("\nAfter changing:

\n  %s\n",str);

  getch();

}

/*计算

       1     1     1     1         1

  1 - --- + --- - --- + --- - ... ---

       2     3     4     5         n

例如,n=100时,运算结果为:

0.688172。

*/

#include 

float count(int n)

{ int i;

float sign=1; float sum=0;

for(i=1;i<=n;i++)

{

sum=sum+sign/i;

sign=(-1)*sign;

}

return sum;

}

main()

{ void CHECK();

  int n=100;

  clrscr();

  printf("     1     1     1     1         1\n");

  printf("1 - --- + --- - --- + --- - ... --- = %f\n",count(n));

  printf("     2     3     4     5        %d\n",n);

  getch();

  CHECK();

}

/*求出以下分数序列的前n项之和。

       2      3      5      8     13     21

     ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ……

       1      2      3      5     8      13

    例如,若n = 5,则应输出:

8.391667。

*/

#include 

/************Fill in the blanks************/

double sum(int n)

{ int a,b,c,k;

  double s;

/************Fill in the blanks************/

  s=0;

  a=2;

  b=1;

  for(k=1;k<=n;k++){

    s=s+(double)a/b;

    c=a;

/************Fill in the blanks************/

    a=b+c;

    b=c;

    }

  return s;

}

main()

{ int n=5;

  printf("\nThe value of function sum is:

 %lf\n",sum(n));

  getch();

}

/*计算两个双精度数的和的平方根。

例如,若输入:

23.18,32.4721,则输出:

z=7.460034。

*/

#include 

/**********Error**********/

double count(double a,double b)

{ double c;

/**********Error**********/

  c=sqrt(a+b);

  return c;

}

main()

{ double x,y,z;

  printf("Enter x,y:

");

  scanf("%lf,%lf",&x,&y);

  z=count(x,y);

  printf ("z=%f\n",z);

  getch();

}

/*计算n!

例如,给n输入5,则输出5!

=120。

*/

#include 

long count(int n)

{ int i;

long s=1;

for(i=1;i<=n;i++)

s=s*i;

return s;

}

main()

{ void CHECK();

  int n;

  clrscr();

  printf("Input N:

");

  scanf("%d", &n);

  printf("%d!

 =% ld\n",n,count(n));

  getch();

  CHECK(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1