久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > c語言經典練習題100道(六)

c語言經典練習題100道(六)

來源:千鋒教育
發(fā)布人:syq
時間: 2022-07-29 17:18:22 1659086302

  【程序26】 題目:利用遞歸方法求5!。

c語言經典練習題

  1. 程序分析:遞歸公式:fn=fn_1*4!

  2. 程序源代碼:

#include "stdio.h"

#include "conio.h"

main(){

  int i;

  int fact();

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

  printf("\40:%d!=%d\n",i,fact(i));

  getch();}int fact(j)int j;{

  int sum;

  if(j==0)

    sum=1;

  else

    sum=j*fact(j-1);

  return sum;

}

  ——————————————————————————————————————

  【程序27】 題目:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來。

  1. 程序分析:

  2. 程序源代碼:

#include "stdio.h"

#include "conio.h"

main(){

  int i=5;

  void palin(int n);

  printf("\40:");

  palin(i);

  printf("\n");

  getch();}void palin(n)int n;{

  char next;

  if(n<=1)

  {

    next=getchar();

    printf("\n\0:");

    putchar(next);

  }

  else

  {

    next=getchar();

    palin(n-1);

    putchar(next);

  }

}

  ——————————————————————————————————————

  【程序28】 題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第 3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?

  1. 程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數,需知道第四人的歲數,依次類推,推到第一人(10歲),再往回推。

  2. 程序源代碼:

#include "stdio.h"

#include "conio.h"

age(n){

int n;

  int c;

  if(n==1) c=10;

  else c=age(n-1)+2;

  return(c);

}

main(){

  printf("%d",age(5));

  getch();

}

  ——————————————————————————————————————

  【程序29】 題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

  1. 程序分析:學會分解出每一位數,如下解釋:()

  2. 程序源代碼:

#include "stdio.h"

#include "conio.h"

main( ){

  long a,b,c,d,e,x;

  scanf("%ld",&x);

  a=x/10000;/*分解出萬位*/

  b=x%10000/1000;/*分解出千位*/

  c=x%1000/100;/*分解出百位*/

  d=x%100/10;/*分解出十位*/

  e=x%10;/*分解出個位*/

  if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);

  else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);

    else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);

      else if (d!=0) printf("there are 2, %ld %ld\n",e,d);

        else if (e!=0) printf(" there are 1,%ld\n",e);

  getch();

}

  ——————————————————————————————————————

  【程序30】 題目:一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。

  1. 程序分析:同29例

  2. 程序源代碼:

#include "stdio.h"

#include "conio.h"

main( ){

  long ge,shi,qian,wan,x;

  scanf("%ld",&x);

  wan=x/10000;

  qian=x%10000/1000;

  shi=x%100/10;

  ge=x%10;

  if(ge==wan&&shi==qian)/*個位等于萬位并且十位等于千位*/

    printf("this number is a huiwen\n");

  else

    printf("this number is not a huiwen\n");

  getch();

}

  ——————————————————————————————————————

  更多關于物聯(lián)網培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業(yè)內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT