华南俳烁实业有限公司

自考

各地資訊
當(dāng)前位置:華課網(wǎng)校 >> 自考 >> 模擬試題 >> 工學(xué)類 >> C語(yǔ)言程序設(shè)計(jì) >> 文章內(nèi)容

排行熱點(diǎn)

  • 歷年真題
  • 模擬試題
  • 自考自答

自學(xué)考試《C語(yǔ)言程序設(shè)計(jì)》練習(xí)題及答案

來源:華課網(wǎng)校  [2017年1月31日]  【

  程序填空題

  導(dǎo)讀:在程序填空題中,已經(jīng)給出了程序的主干,讀者首先要理解程序的思路,再選擇正確的內(nèi)容填入空白處,使程序完成既定的功能。這類習(xí)題的設(shè)計(jì)就是要引導(dǎo)讀者逐步掌握編程的方法。本節(jié)習(xí)題的難度適中,可能有些典型的程序在課堂上已經(jīng)有所接觸,讀者一定要獨(dú)立完成它,這樣就可以逐步提高自己的編程能力。在程序設(shè)計(jì)語(yǔ)言學(xué)習(xí)的中期,讀者對(duì)程序設(shè)計(jì)已經(jīng)有了初步的了解,而自己編寫程序又不知從何處入手,此時(shí)解答此類題目可以避免盲目性,從而提高學(xué)習(xí)的效率。

  【3.1】下面程序的功能是不用第三個(gè)變量,實(shí)現(xiàn)兩個(gè)數(shù)的對(duì)調(diào)操作。

  #include

  main()

  { int a,b;

  scanf("%d%d",&a,&b);

  printf("a=%d,b=%d\n",a,b);

  a= ① ;

  b= ② ;

  a= ③ ;

  printf("a=%d,b=%d\n",a,b);

  }

  【3.2】下面程序的功能是根據(jù)近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。

  #include

  double pi(long n)

  { double s=0.0;

  long i;

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

  s=s+ ① ;

  return( ② );

  }

  【3.3】下面的程序的功能是求一維數(shù)組中的最小元素。

  findmin(int *s,int t,int *k)

  { int p;

  for(p=0,*k=p;p

  if(s[p]

 、 ;

  }

  main()

  { int a[10],i,*k=&i;

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

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

  findmin(a,10,k);

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

  }

  【3.4】下面程序的功能是計(jì)算1-3+5-7+ …… -99+101的值。

  main()

  { int i,t=1,s=0;

  for(i=1;i<=101;i+=2)

  { ① ;

  s=s+t;

 、 ;

  }

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

  }

  【3.5】有以下程序段:

  s=1.0;

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

  s=s+1.0/(k*(k+1));

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

  填空完成下述程序,使之與上述程序的功能完全相同。

  s=0.0;

 、 ;

  k=0;

  do

  { s=s+d;

  ② ;

  d=1.0/(k*(k+1));

  }while( ③ );

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

  【3.6】下面程序的功能是從鍵盤上輸入若干學(xué)生的學(xué)習(xí)成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入為負(fù)數(shù)時(shí)結(jié)束輸入。

  main()

  { float x,amax,amin;

  scanf("%f",&x);

  amax=x;

  amin=x;

  while( ① )

  { if(x>amax) amax=x;

  if( ② ) amin=x;

  scanf("%f",&x);

  }

  printf("\namax=%f\namin=%f\n",amax,amin);

  }

  【3.7】下面程序的功能是將形參x的值轉(zhuǎn)換為二進(jìn)制數(shù),所得的二進(jìn)制數(shù)放在一個(gè)一維數(shù)組中返回,二進(jìn)制數(shù)的最低位放在下標(biāo)為0的元素中。

  fun(int x,int b[])

  { int k=0,r;

  do

  { r=x% ① ;

  b[k++]=r;

  x/= ② ;

  }while(x);

  }

  【3.8】下面程序的功能是輸出1到100之間每位數(shù)的乘積大于每位數(shù)的和的數(shù)。例如數(shù)字26,數(shù)位上數(shù)字的乘積12大于數(shù)字之和8。

  main()

  { int n,k=1,s=0,m;

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

  { k=1;

  s=0;

  ① ;

  while( ② )

  { k*=m%10;

  s+=m%10;

 、 ;

  }

  if(k>s)

  printf("%d",n);

  }

  }

  【3.9】下面程序的功能是統(tǒng)計(jì)用0至9之間的不同的數(shù)字組成的三位數(shù)的個(gè)數(shù)。

  main()

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

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

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

  if( ① ) continue;

  else for(k=0;k<=9;k++)

  if( ② ) count++;

  printf("%d",count);

  }

  【3.10】下面程序的功能是輸出100以內(nèi)的個(gè)位數(shù)為6、且能被3整除的所有數(shù)。

  main()

  { int i,j;

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

  { j=i*10+6;

  if( ② ) countinue;

  printf("%d",j);

  }

  }

  【3.11】下面程序的功能是用輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)m和n的最大公約數(shù)。

  hcf(int m,int n)

  { int r;

  if(m

  { r=m;

  ① ;

  n=r;

  }

  r=m%n;

  while( ② )

  { m=n;

  n=r;

  r=m%n;

  }

 、 ;

  }

  【3.12】下面程序的功能是使用冒泡法對(duì)輸入的10個(gè)浮點(diǎn)數(shù)從小到大進(jìn)行排序。排好序的10個(gè)數(shù)分兩行輸出。程序如下:

  #include

  main()

  { ① ;

  int i,j;

  printf("Input 10 numbers please\n");

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

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

  printf("\n");

  for(i=2; ③ ;i++ )

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

  if( ⑤ )

  { x=a[j];

 、 ;

  a[j+1]=x;

  }

  printf("The sorted 10 numbers;\n");

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

  { if( ⑧ )

  printf("\n");

  printf("%f\t",a[i]);

  }

  printf("\n");

  }

  【3.13】下面程序的功能是讀入20個(gè)整數(shù),統(tǒng)計(jì)非負(fù)數(shù)個(gè)數(shù),并計(jì)算非負(fù)數(shù)之和。

  #include "stdio.h"

  main()

  { int i,a[20],s,count;

  s=count=0;

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

  scanf("%d", ① );

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

  { if(a[i]<0)

 、 ;

  s+=a[i];

  count++;

  }

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

  }

  【3.14】下面程序的功能是刪除字符串s中的空格。

  #include

  main()

  { char *s="Beijing ligong daxue";

  int i,j;

  for(i=j=0;s[i]!='\0';i++)

  if(s[i]!= ' ') ① ;

  else ② ;

  s[j]= '\0';

  printf("%s",s);

  }

  【3.15】下面程序的功能是將字符串s中所有的字符'c'刪除。請(qǐng)選擇填空。

  #include

  main( )

  { char s[80];

  int i,j;

  gets(s);

  for(i=j=0;s[i]!= '\0';i++ )

  if(s[i]!= 'c') ① ;

  s[j]= '\0';

  puts(s);

  }

首頁(yè) 1 2 3 4 5 6 7 尾頁(yè)
責(zé)編:zhangjing0102
营山县| 大厂| 大竹县| 江西省| 陆良县| 邯郸县| 汾阳市| 台南市| 双城市| 台东市| 柞水县| 五原县| 墨竹工卡县| 尼勒克县| 祥云县| 梨树县| 博爱县| 彰化县| 依兰县| 常山县| 绿春县| 泌阳县| 海南省| 正镶白旗| 安岳县| 拉萨市| 青川县| 同德县| 化州市| 洪湖市| 中山市| 常山县| 泾阳县| 凌云县| 揭阳市| 孟村| 准格尔旗| 怀化市| 永丰县| 灵武市| 新和县|