最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++條件及循環(huán)語句的綜合運(yùn)用實(shí)例

 更新時(shí)間:2015年09月09日 19:28:25   投稿:goldensun  
這篇文章主要介紹了C++條件及循環(huán)語句的綜合運(yùn)用實(shí)例,能夠幫助C++初學(xué)者更好地掌握C++的邏輯語句用法,需要的朋友可以參考下

用下面公式求π的近似值。π/4≈1-1/3+1/5-1/7+…直到最后一項(xiàng)的絕對值小于10-7為止。根據(jù)給定的算法很容易編寫程序如下:

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main( )
{
  int s=1;
  double n=1,t=1,pi=0;
  while((fabs(t))>1e-7)
  {
    pi=pi+t;
    n=n+2;
    s=-s;
    t=s/n;
  }
  pi=pi*4;
  cout<<"pi="<<setiosflags(ios::fixed)<<setprecision(6)<<pi<<endl;
  return 0;
}

運(yùn)行結(jié)果為

pi=3.141592

注意:不要把n定義為整型變量,否則在執(zhí)行“t=s/n;”時(shí),得到t的值為0(原因是兩個(gè)整數(shù)相除)。

【例】求Fibonacci數(shù)列前40個(gè)數(shù)。這個(gè)數(shù)列有如下特點(diǎn):第1、2個(gè)數(shù)為1、1。從第3個(gè)數(shù)開始,每個(gè)數(shù)是其前面兩個(gè)數(shù)之和。即:

  F1=1 (n=1)
  F2=1 (n=2)
  Fn=Fn-1+Fn-2(n≥3)


這是一個(gè)有趣的古典數(shù)學(xué)問題:有一對兔子,從出生后第3個(gè)月起每個(gè)月都生一對兔子,小兔子長到第3個(gè)月后每個(gè)月又生一對兔子,假設(shè)所有兔子都不死,問每個(gè)月的兔子總數(shù)為多少?

根據(jù)給出的每月兔子總數(shù)的關(guān)系,可編寫程序如下:

#include <iostream>
#include <iomanip>
using namespace std;
int main( )
{
  long f1,f2;
  int i;
  f1=f2=1;
  for(i=1;i<=20;i++)
  {
   cout<<setw(12)<<f1<<setw(12)<<f2;
   //設(shè)備輸出字段寬度為12,每次輸出兩個(gè)數(shù)
   if(i%2==0) cout<<endl;
     //每輸出完4個(gè)數(shù)后換行,使每行輸出4個(gè)數(shù)
     f1=f1+f2;
   //左邊的f1代表第3個(gè)數(shù),是第1?2個(gè)數(shù)之和
   f2=f2+f1;
   //左邊的f2代表第4個(gè)數(shù),是第2?3個(gè)數(shù)之和
  }
  return 0;
}

【例】找出100~200間的全部素?cái)?shù)。編寫程序如下:

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main( )
{
  int m,k,i,n=0;
  bool prime;//定義布爾變量prime
  for(m=101;m<=200;m=m+2) //判別m是否為素?cái)?shù),m由101變化到200,增量為2
  {
   prime=true;//循環(huán)開始時(shí)設(shè)prime為真,即先認(rèn)為m為素?cái)?shù)
   k=int(sqrt(m)); //用k代表根號m的整數(shù)部分
   for(i=2;i<=k;i++) //此循環(huán)作用是將m被2~根號m除,檢查是否能整除
     if(m%i==0) //如果能整除,表示m不是素?cái)?shù)
     {
      prime=false; //使prime變?yōu)榧?
      break; //終止執(zhí)行本循環(huán)
     }
     if (prime)//如果m為素?cái)?shù)
     {
      cout<<setw(5)<<m; //輸出素?cái)?shù)m,字段寬度為5
      n=n+1; //n用來累計(jì)輸出素?cái)?shù)的個(gè)數(shù)
     }
     if(n%10==0) cout<<endl; //輸出10個(gè)數(shù)后換行
   }
   cout<<endl;//最后執(zhí)行一次換行
   return 0;
}

【例】譯密碼
為使電文保密,往往按一定規(guī)律將電文轉(zhuǎn)換成密碼,收報(bào)人再按約定的規(guī)律將其譯回原文。例如,可以按以下規(guī)律將電文變成密碼:將字母A變成字母E,a變成e,即變成其后的第4個(gè)字母,W變成A,X變成B,Y變成C,Z變成D。見圖3.20,字母按上述規(guī)律轉(zhuǎn)換,非字母字符不變,如"Wonderful!"轉(zhuǎn)換為"Asrhivjyp!"。

輸入一行字符,要求輸出其相應(yīng)的密碼。


程序如下:

#include <iostream>
using namespace std;
int main( )
{
  char c;
  while ((c=getchar( ))!='\n')
  {
   if((c>='a' && c<='z') || (c>='A' && c<='Z'))
   {
     c=c+4;
     if(c>'Z' && c<='Z'+4 || c>'z')
      c=c-26;
   }
   cout<<c;
  }
  cout<<endl;
  return 0;
}

運(yùn)行結(jié)果如下:

I am going to Beijing!↙
M eq ksmrk xs Fimnmrk!

while語句中括號內(nèi)的表達(dá)式有3個(gè)作用:
從鍵盤讀入一個(gè)字符,這是用getchar函數(shù)實(shí)現(xiàn)的;
將讀入的字符賦給字符變量c;
判別這個(gè)字符是否為'\n'(即換行符)。如果是換行符就執(zhí)行while語句中的復(fù)合語句(即花括號內(nèi)的語句),對輸入的非換行符的字符進(jìn)行轉(zhuǎn)換處理。

按前面分析的思路對輸入的字符進(jìn)行處理,有一點(diǎn)請讀者注意,內(nèi)嵌的if語句不能寫成:
    if (c>'Z'|| c>'z')  c=c-26;
因?yàn)樗行懽帜付紳M足“c>'Z'”條件,從而也執(zhí)行“c=c-26;”語句,這就會(huì)出錯(cuò)。因此必須限制其范圍為“c>'Z' && c<='Z'+4”,即原字母為'W'到'Z',在此范圍以外的不是原大寫字母W~Z,不應(yīng)按此規(guī)律轉(zhuǎn)換。

相關(guān)文章

  • 詳談C語言指針

    詳談C語言指針

    這篇文章主要介紹了C語言的指針,介紹了其相關(guān)概念,然后分享了幾種用法,具有一定參考價(jià)值。需要的朋友可以了解下
    2021-10-10
  • C語言實(shí)現(xiàn)火車訂票系統(tǒng)

    C語言實(shí)現(xiàn)火車訂票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)火車訂票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C語言實(shí)現(xiàn)軍旗游戲的示例代碼

    C語言實(shí)現(xiàn)軍旗游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)軍旗游戲,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • C++設(shè)計(jì)模式之橋接模式(Bridge)

    C++設(shè)計(jì)模式之橋接模式(Bridge)

    這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式之橋接模式Bridge,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • C++11中R字符串的作用小結(jié)

    C++11中R字符串的作用小結(jié)

    這篇文章主要介紹了C++11中R字符串的作用小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-07-07
  • C++之BOOST字符串查找示例

    C++之BOOST字符串查找示例

    這篇文章主要介紹了C++之BOOST字符串查找的方法,實(shí)例演示了boost針對字符串的查找、判定及替換等操作,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • MFC實(shí)現(xiàn)漂亮界面之美化按鈕

    MFC實(shí)現(xiàn)漂亮界面之美化按鈕

    這篇文章主要為大家詳細(xì)介紹了MFC實(shí)現(xiàn)漂亮界面之美化按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • VSCode添加頭文件(C/C++)的實(shí)現(xiàn)示例

    VSCode添加頭文件(C/C++)的實(shí)現(xiàn)示例

    這篇文章主要介紹了VSCode添加頭文件(C/C++)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • c++優(yōu)先隊(duì)列用法知識點(diǎn)總結(jié)

    c++優(yōu)先隊(duì)列用法知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于c++優(yōu)先隊(duì)列用法知識點(diǎn)總結(jié)內(nèi)容,需要的朋友可以參考學(xué)習(xí)下。
    2020-02-02
  • visual studio2019的安裝以及使用圖文步驟詳解

    visual studio2019的安裝以及使用圖文步驟詳解

    這篇文章主要介紹了visual studio2019的安裝以及使用圖文步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評論

甘南县| 汝南县| 昌黎县| 神木县| 玉林市| 涡阳县| 隆昌县| 安国市| 宁化县| 黄浦区| 郸城县| 昂仁县| 平泉县| 同心县| 台北市| 仪陇县| 肇东市| 朝阳市| 军事| 清原| 沽源县| 临漳县| 安国市| 绵竹市| 惠安县| 西华县| 峨眉山市| 南阳市| 铜川市| 南汇区| 汨罗市| 竹北市| 易门县| 右玉县| 亚东县| 堆龙德庆县| 开封县| 澄城县| 博爱县| 高密市| 永登县|