华南俳烁实业有限公司

自考

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

排行熱點

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

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

  【3.16】下面程序的功能是輸出兩個字符串中對應相等的字符。請選擇填空。

  #include

  char x[]="programming";

  char y[]="Fortran";

  main()

  { int i=0;

  while(x[i]!= '\0' && y[i]!= '\0')

  if(x[i]==y[i])

  printf("%c", ① );

  else

  i++;

  }

  【3.17】下面程序的功能是將字符串s中的每個字符按升序的規(guī)則插到數(shù)組a中, 字符串a(chǎn)已排好序。

  #include

  main()

  { char a[20]="cehiknqtw";

  char s[]="fbla";

  int i,k,j;

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

  { j=0;

  while(s[k]>=a[j] && a[j]!= '\0' )

  j++;

  for( ① )

 、 ;

  a[j]=s[k];

  }

  puts(a);

  }

  【3.18】下面程序的功能是對鍵盤輸入的兩個字符串進行比較,然后輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如:輸入的兩個字符串分別為"abcdefg"和"abceef",則輸出為-1。

  #include

  main()

  { char str1[100],str2[100],c;

  int i,s;

  printf("Enter string 1: "); gets(str1);

  printf("Enter string 2: "); gets(str2);

  i=0;

  while((str1[i] == str2[i] && str1[i]!= ① ))

  i++;

  s= ② ;

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

  }

  【3.19】下面的函數(shù)expand在將字符串s復制到字符串t時, 將其中的換行符和制表符轉換為可見的轉義字符表示,即用'\n'表示換行符,用'\t'表示制表符。

  expand(char s[],char t[])

  { int i,j;

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

  switch (s[i])

  { case '\n': t[ ① ] = ② ;

  t[j++] = 'n';

  break;

  case '\t': t[ ③ ] = ④ ;

  t[j++] = 't';

  break;

  default: t[ ⑤ ] = s[i];

  break;

  }

  t[j] = ⑥ ;

  }

  【3.20】下面的函數(shù)index(char s[], char t[])檢查字符串s中是否包含字符串t,若包含,則返回t在s中的開始位置(下標值),否則送回-1。

  index(char s[], char t[])

  { int i,j,k;

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

  { for(j=i,k=0; ① && s[j]==t[k];j++,k++) ;

  if( ② )

  return (i);

  }

  return(-1);

  }

  n

  【3.21】下面程序的功能是計算S= k! 。

  k=0

  long fun(int n)

  { int i;

  long s;

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

  s*=i;

  return( ② );

  }

  main()

  { int k,n;

  long s;

  scanf("%d",&n);

  s= ③ ;

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

  s+= ④ ;

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

  }

  【3.22】下面程序的功能是顯示具有n個元素的數(shù)組s中的最大元素。

  #define N 20

  main()

  { int i,a[N];

  for(i=0;i

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

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

  }

  fmax(int s[],int n)

  { int k,p;

  for(p=0,k=p;p

  if(s[p]>s[k]) ② ;

  return(k);

  }

  【3.23】下面程序的功能是由鍵盤輸入n,求滿足下述條件的x、y:

  nx和ny的末3位數(shù)字相同,且x≠y,x、y、n均為自然數(shù),并使x+y為最小。

  #include

  pow3(int n,int x)

  { int i, last;

  for(last=1,i=1;i<=x;i++ )

  last= ① ;

  return(last);

  }

  main()

  { int x,n,min,flag=1;

  scanf("%d", &n);

  for(min=2;flag;min++)

  for(x=1;x

  if( ② && pow3(n,x)==pow3(n,min-x))

  { printf("x=%d,y=%d\n", x, min-x );

 、 ;

  }

  }

  【3.24】下面的程序是用遞歸算法求a的平方根。求平方根的迭代公式如下:

  #include

  double mysqrt( double a, double x0 )

  { double x1, y;

  x1 = ① ;

  if( fabs(x1-x0)>0.00001 )

  y = mysqrt( ② );

  else y = x1;

  return( y );

  }

  main()

  { double x;

  printf("Enter x: ");

  scanf("%lf", &x);

  printf("The sqrt of %lf=%lf\n", x, mysqrt( x, 1.0) );

  }

  【3.25】以下程序是計算學生的年齡。已知第一位最小的學生年齡為10歲,其余學生的年齡一個比一個大2歲,求第5個學生的年齡。

  #include

  age( int n )

  { int c;

  if( n==1 ) c=10;

  else c= ① ;

  return(c);

  }

  main()

  { int n=5;

  printf("age:%d\n", ② );

  }

  【3.26】下面的函數(shù)sum(int n)完成計算1~n的累加和。

  sum(int n)

  { if(n<=0)

  printf("data error\n");

  if(n==1) ① ;

  else ② ;

  }

  【3.27】下面的函數(shù)是一個求階乘的遞歸調用函數(shù)。

  facto(int n)

  { if( n == 1 ) ① ;

  else return( ② );

  }

  【3.28】組合問題,由組合的基本性質可知:

  (1) C(m,n)=C(n-m,n)

  (2) C(m,n+1)=C(m,n)+C(m-1,n)

  公式(2)是一個遞歸公式,一直到滿足C(1,n)=n為止。當n<2*m時,可先用公式(1) 進行簡化,填寫程序中的空白,使程序可以正確運行。

  #include"stdio.h"

  main()

  { int m,n;

  printf("Input m,n=");

  scanf("%d%d", &m, &n);

  printf("The combination numbeers is %d\n", combin(m,n));

  }

  combin( int m, int n)

  { int com;

  if( n<2*m ) m=n-m;

  if( m==0 ) com=1;

  else if(m==1) ① ;

  else ② ;

  return(com);

  }

  【3.29】下列函數(shù)是求一個字符串str的長度。

   int strlen( char *str )

  { if( ① ) return (0);

    else return ( ② );

  }

  【3.30】用遞歸實現(xiàn)將輸入小于32768的整數(shù)按逆序輸出。如輸入12345,則輸出54321。

  #include"stdio.h"

  main()

  { int n;

  printf("Input n : ");

  scanf("%d", ① );

  r(n);

  printf("\n");

  }

  r( int m )

  { printf("%d", ② );

  m = ③ ;

  if( ④ )

  ⑤ ;

  }

責編:zhangjing0102
深州市| 通州区| 阜新| 洪洞县| 贵州省| 湾仔区| 临沂市| 瑞安市| 扎兰屯市| 靖宇县| 彰化市| 邓州市| 土默特左旗| 海原县| 汉寿县| 安西县| 台山市| 定西市| 郓城县| 云林县| 邳州市| 湖口县| 永州市| 姚安县| 中江县| 章丘市| 芦溪县| 共和县| 曲靖市| 永顺县| 丰县| 金秀| 湛江市| 开鲁县| 都匀市| 宁国市| 扶余县| 许昌市| 罗平县| 保亭| 延边|