C程序填空.docx

上传人:b****4 文档编号:4993425 上传时间:2022-12-12 格式:DOCX 页数:137 大小:47.47KB
下载 相关 举报
C程序填空.docx_第1页
第1页 / 共137页
C程序填空.docx_第2页
第2页 / 共137页
C程序填空.docx_第3页
第3页 / 共137页
C程序填空.docx_第4页
第4页 / 共137页
C程序填空.docx_第5页
第5页 / 共137页
点击查看更多>>
下载资源
资源描述

C程序填空.docx

《C程序填空.docx》由会员分享,可在线阅读,更多相关《C程序填空.docx(137页珍藏版)》请在冰豆网上搜索。

C程序填空.docx

C程序填空

一、程序填空(共131题)

TurboC(共131试题)

3)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

已定义一个含有30个元素的数组s,函数fun1的功能是按

     顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序

     每五个元素求一个平均值,并将该值存放在数组w中。

 

-------------------------------------------------------*/

 

floats[30],w[6];

fun1(floats[])

{

 intk,i;

 for(k=2,i=0;i<30;i++)

 {

    /***********SPACE***********/

    ________________;

    k+=2;

 }

}

fun2(floats[],floatw[])

{

 floatsum=0.0;

 intk,i;

 for(k=0,i=0;i<30;i++)

 {

    sum+=s[i];

    /***********SPACE***********/

    ________________;

    {

       w[k]=sum/5;

       /***********SPACE***********/

       ________________;

       k++;

    }

 }

}

main()

{

  inti;

  fun1(s);

  /***********SPACE***********/

  ________________;

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

  {

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

      printf("%8.2f",s[i]);

  }

  printf("\n");

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

  printf("%8.2f",w[i]);

}

 

 

答案:

【1】s[i]=k或s[i]=(i+1)*2

【2】if((i+1)%5==0)或if((i+1)/5*5==i+1)

【3】sum=0或sum=0.0

【4】fun2(s,w)

 

4)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

下面的程序是求1!

+3!

+5!

+……+n!

的和。

 

-------------------------------------------------------*/

 

main()

{

 longintf,s;

 inti,j,n;

 /***********SPACE***********/

 ________________;

 scanf("%d",&n);

 /***********SPACE***********/

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

 {

    f=1;                 

    /***********SPACE***********/

    for(j=1;________________;j++)

    /***********SPACE***********/

    ________________;

     s=s+f;

 }

 printf("n=%d,s=%ld\n",n,s);

}

 

答案:

【1】s=0

【2】i+=2或i=i+2或i++,i++

【3】j<=i或i>=j或jj

【4】f=f*j

 

5)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

将一个字符串中下标为m的字符开始的全部字符复制成为另

     一个字符串。

 

-------------------------------------------------------*/

 

#include

voidstrcopy(char*str1,char*str2,intm)

{

  char*p1,*p2;

  /***********SPACE***********/

  ________________; 

  p2=str2;

  while(*p1)

  /***********SPACE***********/

  ________________;

  /***********SPACE***********/

  ________________;

}

main()

{

  inti,m;

  charstr1[80],str2[80];

  gets(str1);

  scanf("%d",&m);

  /***********SPACE***********/

  ________________;

  puts(str1);puts(str2);

}

 

答案:

【1】p1=str1+m

【2】*p2++=*p1++或*(p2++)=*(p1++)或*p2=*p1,p2++,p1++或*p2=*p1++,p2++或*p2++=*p1,p1++

【3】*p2='\0'或*p2=0或*p2=NULL

【4】strcopy(str1,str2,m)

 

6)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

以下程序是用选择法对10个整数按升序排序。

 

-------------------------------------------------------*/

 

/***********SPACE***********/

________________

 

main()

{

  inti,j,k,t,a[N];

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

  scanf("%d",&a[i]);

  for(i=0;i

  {

    /***********SPACE***********/

    ________________;

    /***********SPACE***********/

    for(j=i+1;________________;j++)

      if(a[j]

    /***********SPACE***********/

    if(________________)

    {

      t=a[i];

      a[i]=a[k];

      a[k]=t;

    }

 }

 printf("outputthesortedarray:

\n");

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

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

 printf("\n");

}

 

答案:

【1】#defineN10

【2】k=i

【3】jj或j<=N-1或N-1>=j

【4】 k!

=i

 

7)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

从键盘上输入一个字符串,将该字符串升序排列后输出到

     文件test.txt中,然后从该文件读出字符串并显示出来。

 

-------------------------------------------------------*/

 

#include

#include

#include

 

main()

{

  FILE *fp;

  chart,str[100],str1[100];   intn,i,j;

  if((fp=fopen("test.txt","w"))==NULL)

  {

      printf("can'topenthisfile.\n");

      exit(0);

  }

  printf("inputastring:

\n");gets(str);

  /***********SPACE***********/

  ________________;

  /***********SPACE***********/

  for(i=0;________________;i++)

    for(j=0;j

    /***********SPACE***********/

    if(________________)

    {

       t=str[j];

       str[j]=str[j+1];

       str[j+1]=t;

     }

  /***********SPACE***********/

 ________________;

  fclose(fp);

  fp=fopen("test.txt","r");

  fgets(str1,100,fp);

  printf("%s\n",str1);

  fclose(fp);   

}

 

答案:

【1】n=strlen(str)或for(n=0;str[n]!

='\0';n++)或for(n=0;str[n];n++)或for(n=0;str[n]!

=0;n++)

【2】ii或i<-1+n或ii或-1+n>i或i<=n-1或n-1>=i或-1+n>=i

【3】str[j]>str[j+1]或str[j+1]

【4】fputs(str,fp)或fprintf(fp,"%s\n",str)或fprintf(fp,"%s",str)

 

8)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

以每行5个数来输出300以内能被7或17整除的偶数,并求出

     其和。

 

-------------------------------------------------------*/

 

#include

#include

main()

{

 inti,n,sum;

 sum=0;

 /***********SPACE***********/

 ________________;

 /***********SPACE***********/

 for(i=1;________________;i++)

 /***********SPACE***********/

   if(________________)

     if(i%2==0)

     {

        sum=sum+i;

        n++;

        printf("%6d",i);

        /***********SPACE***********/

        if(________________) 

           printf("\n");

     }

  printf("\ntotal=%d",sum);

}

 

答案:

【1】n=0

【2】i<=300或i<300或300>=i或300>i

【3】 i%7==0||i%17==0或!

(i%7)||!

(i%17)或!

(i%17)||!

(i%7)或!

(i%7&&i%17)

【4】 n%5==0或!

(n%5)或n/5*5==n

 

9)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

以下程序的功能如(图1)。

 

-------------------------------------------------------*/

 

#include

main()

{

 intf;

 /***********SPACE***********/

 ________________;

 floatt,pi;

 t=1;pi=t;f=1;n=1.0;

 /***********SPACE***********/

 while(________________)

 {

   n=n+2;

   /***********SPACE***********/

   ________________;

   t=f/n;

   pi=pi+t;

 }

 /***********SPACE***********/

 ________________;

  printf("pi=%10.6f\n",pi);

}

 

答案:

【1】floatn或duoblen

【2】fabs(t)>=1e-6或fabs(t)>=0.000001或1e-6<=fabs(t)或0.000001<=fabs(t)

【3】f=-f或f=-1*f或f=f*(-1)或f=f*-1或f=(-1)*f

【4】pi=pi*4或pi*=4

(图1)

 

11)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

求100-999之间的水仙花数

说明:

水仙花数是指一个三位数的各位数字的立方和是这个数本身。

例如:

153=1^3+5^3+3^3)。

 

-------------------------------------------------------*/

 

intfun(intn)

{inti,j,k,m;

 m=n;

 /***********SPACE***********/

 ________________;

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

 {

    /***********SPACE***********/

    ________________;

    m=(m-j)/10;

    k=k+j*j*j;

 }

 if(k==n)

   /***********SPACE***********/

   ________________;

 else

   return(0);}

main()

 inti;

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

   /***********SPACE***********/

 if(________________==1)

   printf("%disok!

\n",i);

}

 

答案:

【1】k=0

【2】j=m%10或j=m-m/10*10或j=m-10*(m/10)

【3】return

(1)

【4】fun(i)

(图1)

 

12)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

产生并输出如下形式的方阵。

1222221

3122214

3312144

3331444

3315144

3155514

1555551

 

-------------------------------------------------------*/

 

main()

{

 inta[7][7];

 inti,j;

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

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

    {

/***********SPACE***********/

     if(________________)a[i][j]=1;

/***********SPACE***********/

     elseif(i

     elseif(i>j&&i+j<6)a[i][j]=3;

/***********SPACE***********/

     elseif(________________)a[i][j]=4;

     elsea[i][j]=5;

     }

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

    {

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

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

/***********SPACE***********/

   ________________;

    }

}

 

答案:

【1】 i==j||i+j==6

【2】a[i][j]=2

【3】 i6 或 j>i&&i+j>6 或 ii&&i+6

【4】printf("\n")

 

13)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

产生并输出杨辉三角的前七行。

 

1

1    1

1    2    1

1    3    3    1

1    4    6    4    1

1    5   10   10    5    1

1    6   15   20   15    6    1

 

-------------------------------------------------------*/

 

main()

{

 inta[7][7];

 inti,j,k;

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

 {

    a[i][0]=1;

    /***********SPACE***********/   

    ________________;

 }

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

   /***********SPACE***********/

   for(j=1;j<________________;j++)

     /***********SPACE***********/

     a[i][j]=________________;

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

 {

    /***********SPACE***********/

    for(j=0;________________;j++)

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

      printf("\n");

  }

}

 

答案:

【1】a[i][i]=1

【2】i

【3】a[i-1][j]+a[i-1][j-1]或a[i-1][j-1]+a[i-1][j]

【4】j<=i或i>=j或jj或j-1j-1

 

14)./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

 

功能:

输出100到1000之间的各位数字之和能被15整除的所有数,

     输出时每10个一行。

 

-------------------------------------------------------*/

 

main()

{

 intm,n,k,i=0;

 for(m=100;m<=1000;m++)

 {

   /***********SPACE***********/

   ________________;

   n=m;

   do

   {

    /***********SPACE***********/

      k=k+________________;

      n=n/10;

    }

    /****

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

当前位置:首页 > 求职职场 > 简历

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

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