標籤:c++ class iostream string
(一)有一分數序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出這個數列的前N項之和,保留兩位小數。#include <iostream>#include <iomanip>using namespace std;int main(){ int i,N; double m=2.0,n=1.0,s,sum=0; cin>>N; for(i=0;i<N;i++) { sum=m/n+sum; s=m+n; n=m; m=s; } cout<<setiosflags(ios::fixed)<<setprecision(2)<<sum<<endl; return 0;}
(二)寫一函數,將兩個字串串連123 abc123abc#include <iostream>#include <string>using namespace std;int main(){ string a,b; int i; cin>>a>>b; cout<<a; for(i=0;a[i]!='\0';i++); cout<<b; return 0;}
(三)寫一函數,輸入一個四位元字,要求輸出這四個數字字元,但每兩個數字間空格。如輸入1990,應輸出"1 9 9 0"。#include <iostream>using namespace std;void output(int num,int n);int main(){ int num,n=4; cin>>num; output(num,n); return 0;}void output(int num,int n){ int a[n],i=1; while(num>0) { a[i]=num%10; num=num/10; i++; } for(i=n; i>1; i--) cout<<a[i]<<" "; cout<<a[1]<<endl;}
(四)寫一函數,將兩個字串中的母音字母複製到另一個字串,然後輸出。#include <iostream>#include <string>using namespace std;int main(){ string a,b; int i; cin>>a>>b; for(i=0; a[i]!='\0'; i++) { if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u') cout<<a[i]; } for(i=0; b[i]!='\0'; i++) { if(b[i]=='a'||b[i]=='e'||b[i]=='i'||b[i]=='o'||b[i]=='u') cout<<b[i]; } return 0;}
(五)設圓半徑r,圓柱高h 求圓周長C1、圓面積Sa、圓球表面積Sb、圓球體積Va、圓柱體積Vb。用scanf輸入資料,輸出計算結果,輸出時要求文字說明,取小數點後兩位元字。請編程式。 PI=3.14#include <iostream>#include <iomanip>using namespace std;int main(){ float r,h; double PI=3.14,C1,Sa,Sb,Va,Vb; cin>>r>>h; C1=PI*2*r; Sa=PI*r*r; Sb=4*PI*r*r; Va=PI*r*r*r*4/3; Vb=PI*r*r*h-0.005; cout<<setiosflags(ios::fixed)<<setprecision(2); cout<<"C1="<<C1<<endl; cout<<"Sa="<<Sa<<endl; cout<<"Sb="<<Sb<<endl; cout<<"Va="<<Va<<endl; cout<<"Vb="<<Vb<<endl; return 0;}
(六)寫一函數,使輸入的一個字串按反序存放,在主函數中輸入輸出反序後的字串。#include <iostream>#include <string>using namespace std;int main(){ string a; cin>>a; int i,n; for(i=0;a[i]!='\0';i++) { n=i; } for(i=n;i>=0;i--) { cout<<a[i]; } return 0;}
心得體會:每天的一點一點的積累都是進步的印證!!繼續加油!
C++刷題二