山大8C++實驗報告一
山東大學 軟體 學院
C++程式設計 課程實驗報告
實驗題目:
1 請寫出下列表達式的值,並編寫程式驗證。
(1) 3.5*3+2*7-'a'
(2) 26/3+34%3+2.5
(3) 45/2+(int)3.14159/2
(4) a=b=(c=a+=6) 設a的初值為3
(5) a=3*5,a=b=3*2
(6) (int)(a+6.5)%2+(a=b=5) 設a的初值為3
(7) x+a%3*(int)(x+y)%2/4 設x=2.5,a=7,y=4.7
(8)(float)(a+b)/2+(int)x%(int)y設a=2,b=3,x=3.5,y=2.5
2. 要將"China"譯成密碼,密碼規律是: 用原來的字母后面第4個字母代替原來的字母。例如字母A後面第4個字母是E,用E代替A。因此,"China"應譯為"Glmre"。請編寫一程式,用賦初值的方法使c1,c2,c3,c4,c5這5個變數的值分別為'C', 'h', 'i', 'n', 'a',經過運算,使c1,c2,c3,c4,c5分別變為'G', 'l', 'm', 'r', 'e',並輸出。
4. 用迭代法求x=√a。求平方根的迭代公式為
要求前後兩次求出的x的差的絕對值小於10-5時結束,並輸出每次迭代的結果和最後結果。
實驗學時:90分鐘
實驗日期: 2018.3.19
實驗目的:
熟悉C++的表示式、運算子、簡單的程式設計
硬體環境:
Win10+膝上型電腦
軟體環境:
Visual Studio Enterprise 2017
實驗步驟與內容:
1.
#include<iostream>
using namespace std;
int main(){
//輸入程式碼
cout<<a<<endl;
return 0;}
(1) a=3.5*3+2*7-'a';
(2) a=26/3+34%3+2.5;
(3) a=45/2+(int)3.14159/2;
(4) int a=3;
a=b=(c=a+=6);
(5) a=3*5;
a=b=3*2;
(6) int a=3;
int c;
c=(int)(a+6.5)%2+(a=b=5);
(7) double x=2.5,a=7,y=4.7;
double b;
b=x+a%3*(int)(x+y)%2/4
(8) double a=2,b=3,x=3.5,y=2.5;
double c;
d=(float)(a+b)/2+(int)x%(int)y;
2
#include<iostream>
using namespace std;
int main() {
char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a';
c1 += 4;
c2 += 4;
c3 += 4;
c4 += 4;
c5 += 4;
cout << c1 << c2 << c3 << c4 << c5 << endl;
return 0;
}
3.
#include <iostream>
#include <cmath>
using namespace std;
int main(){
double a,b,c;
bool prime;
cout<<"輸入一個正數:";
cin>>a;
b=a/2;
c=(b+a/b)/2;
do {
b=c;
c=(b+a/b)/2;
cout<<a<<c<<endl;
}
while(fabs(b-c)>=1E-5);
cout<<a<<c<<endl;
return 0;
}
結論分析與體會:
結論;
1.
(1) -72.5(2)11.5(3)3(4)9(5)6(6)6(7)2.5(8)3.5
2.Glmre
體會:
Visual Studio這個軟體比較難用,一開始用老是出現錯誤。再者,C++與Java的語句表達有較大的差異,由於寫Java程式碼寫習慣了,一開始寫C++程式有點生疏,不順手,再加上Visual Studio這個程式沒有Eclipse操作簡單,給一開始的操作造成了巨大的麻煩。查了很多資料才克服了這個困難,很浪費時間。