寫一個程式不斷要求你輸入一對數字,直到至少有一數為0
對於每一對數字,程式要用函數計算出其調和中項,這函數應回傳此值給main()
由main()輸出答案,調和中項的意思是倒數平均值的倒數,公式如下:
調和中項=2.0*X*Y/(x+y)
2.
以下是一個結構宣告:
struct box
{
char maker[40];
float height;
float width;
float length;
float volume;
};
a. 寫一函數,傳遞box結構之值並顯示每個成員之值。
b. 寫一函數,傳遞box結構的位址,並將成員volume設為其他三個成員的乘積。
c. 寫一個簡單的程式使用這兩個函數
3.
寫一個程式,由使用者輸入一些數字,在每次輸入後,輸出所有已輸入的數字和,當輸入0,程式結束。
第一題 調和中項
#include <cstdlib>
#include <iostream>
using namespace std;
float mid(int x,int y){
float m;
m= 2.0*x*y/(x+y);
return m;
}
int main(int argc, char *argv[]){
int a,b;
while(1){
cout << "輸入一對數字 a,b: " ;
cin >> a >> b;
if(a*b==0) break; // a,b至少一個 0 則離開
cout << mid(a,b) << endl; //傳回調和中項並印出
}
system("PAUSE");
return EXIT_SUCCESS;
}
第二題 Struct
#include <cstdlib>
#include <iostream>
using namespace std;
struct box
{
char maker[40];
float height;
float width;
float length;
float volume;
};
box set_box(char* i,float j,float k,float l,float m){
box a;
strcpy(a.maker,i);
a.width=j;
a.height=k;
a.length=l;
a.volume = m;
printf( "%s %.0f %.0f %.0f %.0f\n" ,a.maker,a.width,a.height,a.length,a.volume);
return a;
}
void set_box2(box &b){
b.volume = b.height*b.width*b.length;
printf( "%s %.0f %.0f %.0f %.0f\n" ,b.maker,b.width,b.height,b.length,b.volume);
}
int main(int argc, char *argv[]){
box nube;
nube = set_box( "nube3315" ,5,5,5,0);
set_box2(nube);
system( "PAUSE" );
return EXIT_SUCCESS;
}
第三題 求和
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
int i;
int sum = 0;
while(1){
cout << "請輸入一些數字 (輸入0為結束):" ;
cin >> i;
if(i==0) break;
sum+=i;
printf("和為: %d\n",sum);
}
system("PAUSE");
return EXIT_SUCCESS;
}
留言列表