华南俳烁实业有限公司

自考

各地資訊
當前位置:華課網校 >> 自考 >> 模擬試題 >> 工學類 >> C語言程序設計 >> 文章內容

排行熱點

自學考試《C語言程序設計》練習題及答案

來源:華課網校  [2017年1月31日]  【

  程序填空題

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

  【3.1】下面程序的功能是不用第三個變量,實現兩個數的對調操作。

  #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】下面程序的功能是根據近似公式:π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】下面的程序的功能是求一維數組中的最小元素。

  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】下面程序的功能是計算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】下面程序的功能是從鍵盤上輸入若干學生的學習成績,統(tǒng)計并輸出最高成績和最低成績,當輸入為負數時結束輸入。

  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的值轉換為二進制數,所得的二進制數放在一個一維數組中返回,二進制數的最低位放在下標為0的元素中。

  fun(int x,int b[])

  { int k=0,r;

  do

  { r=x% ① ;

  b[k++]=r;

  x/= ② ;

  }while(x);

  }

  【3.8】下面程序的功能是輸出1到100之間每位數的乘積大于每位數的和的數。例如數字26,數位上數字的乘積12大于數字之和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)計用0至9之間的不同的數字組成的三位數的個數。

  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以內的個位數為6、且能被3整除的所有數。

  main()

  { int i,j;

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

  { j=i*10+6;

  if( ② ) countinue;

  printf("%d",j);

  }

  }

  【3.11】下面程序的功能是用輾轉相除法求兩個正整數m和n的最大公約數。

  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】下面程序的功能是使用冒泡法對輸入的10個浮點數從小到大進行排序。排好序的10個數分兩行輸出。程序如下:

  #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個整數,統(tǒng)計非負數個數,并計算非負數之和。

  #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'刪除。請選擇填空。

  #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);

  }

首頁 1 2 3 4 5 6 7 尾頁
責編:zhangjing0102
和静县| 大渡口区| 禹州市| 博湖县| 连州市| 衡阳县| 嵊泗县| 二手房| 丰顺县| 澎湖县| 福泉市| 德令哈市| 新丰县| 盖州市| 仙游县| 娄底市| 那坡县| 临高县| 米林县| 丰顺县| 白河县| 左贡县| 阿坝县| 屏南县| 体育| 澜沧| 灵山县| 百色市| 孝感市| 鄂托克旗| 搜索| 竹山县| 湟中县| 博爱县| 开封县| 肥乡县| 安龙县| 右玉县| 南投市| 昌平区| 深水埗区|