国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++條件及循環語句的綜合運用實例

2020-01-26 14:53:29
字體:
來源:轉載
供稿:網友

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

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

運行結果為

pi=3.141592

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

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

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


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

根據給出的每月兔子總數的關系,可編寫程序如下:

#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;   //設備輸出字段寬度為12,每次輸出兩個數   if(i%2==0) cout<<endl;     //每輸出完4個數后換行,使每行輸出4個數     f1=f1+f2;   //左邊的f1代表第3個數,是第1?2個數之和   f2=f2+f1;   //左邊的f2代表第4個數,是第2?3個數之和  }  return 0;}

【例】找出100~200間的全部素數。編寫程序如下:

#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是否為素數,m由101變化到200,增量為2  {   prime=true;//循環開始時設prime為真,即先認為m為素數   k=int(sqrt(m)); //用k代表根號m的整數部分   for(i=2;i<=k;i++) //此循環作用是將m被2~根號m除,檢查是否能整除     if(m%i==0) //如果能整除,表示m不是素數     {      prime=false; //使prime變為假      break; //終止執行本循環     }     if (prime)//如果m為素數     {      cout<<setw(5)<<m; //輸出素數m,字段寬度為5      n=n+1; //n用來累計輸出素數的個數     }     if(n%10==0) cout<<endl; //輸出10個數后換行   }   cout<<endl;//最后執行一次換行   return 0;}

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

輸入一行字符,要求輸出其相應的密碼。


程序如下:

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

運行結果如下:

I am going to Beijing!

主站蜘蛛池模板:
遵义县|
宁化县|
井冈山市|
宾阳县|
株洲市|
洛南县|
通渭县|
弋阳县|
扎赉特旗|
卓尼县|
三穗县|
宿迁市|
西华县|
忻城县|
房产|
齐齐哈尔市|
通江县|
双流县|
湖南省|
天台县|
阿克陶县|
大足县|
多伦县|
南江县|
宁安市|
丰都县|
资阳市|
黑水县|
双桥区|
丰宁|
杭锦旗|
新田县|
德兴市|
孟津县|
黄山市|
大名县|
汤阴县|
来宾市|
云龙县|
安新县|
常州市|