C++ 程式陣列
write a program that reads ten integer numbers and outputs the number of inputs which
are greater than 50, less then 50 and equal to 50.
the program should also display the average of numbers greater than 50 and the average of all numbers less than 50
能幫我翻譯並附程式
應該要用到陣列ㄅ
寫一個讀入十個整數的程式 並且輸出大於 等於 小於50的數字
程式也需要分別列出大於及小於50數字的平均值
是這ㄍ意思ㄇ
是指 10ㄍ數 先規列是否<=>50
若>50 球平均 <50球平均ㄇ
我自己在上面加ㄌ
#include
using namespace std;
跑ㄉ動 但是我如何自己輸入 那10ㄍ數字啊
還有這ㄍ寫法沒看過哩
感覺像是副程式(還沒教過)
5 個解答
- 北海牧羊人Lv 47 年前最佳解答
#include <iostream>
using namespace std;
int main(){
int n[10],i,total,count;
//輸入數字並記錄進陣列n
for(i=0;i<10;i++){
cout<<"輸入第"<<i+1<<"個數字=";
cin>>n[i];
}
cout<<endl;
//依次判斷數字是否大於50
total=0;
count=0;
for(i=0;i<10;i++)
if(n[i]>50){
count++;
cout<<"第"<<i+1<<"個數字"<<n[i]<<"大於50"<<endl;
total+=n[i]; //累加大於50的數
}
if(count)
cout<<"共有"<<count<<"個數字大於50, 這些數字的平均="<<total/count<<endl<<endl;
else
cout<<"沒有數字大於50"<<endl<<endl;
//依次判斷數字是否等於50
count=0;
for(i=0;i<10;i++)
if(n[i]==50){
count++;
cout<<"第"<<i+1<<"個數字等於50"<<endl;
total+=n[i];
}
if(count)
cout<<"共有"<<count<<"個數字等於50"<<endl<<endl;
else
cout<<"沒有數字等於50"<<endl<<endl;
//依次判斷數字是否小於50
total=0;
count=0;
for(i=0;i<10;i++)
if(n[i]<50){
count++;
cout<<"第"<<i+1<<"個數字"<<n[i]<<"小於50"<<endl;
total+=n[i];//一樣進行累加
}
if(count)
cout<<"共有"<<count<<"個數字小於50, 這些數字的平均="<<total/count<<endl<<endl;
else
cout<<"沒有數字小於50"<<endl<<endl;
//如果用dev c++, 可以用system("pause");暫停螢幕, #include <stdlib.h>
return 0;
}
參考資料: 最陽春入門的程式跟說明, 應該很淺顯易懂 - ?Lv 77 年前
struct dump {
private:
int sum[3], mid;
unsigned cnt[3];
public:
dump(unsigned n) : mid(n){
for(int i=sizeof(sum)/sizeof(sum[0])-1;i>=0;--i)
sum[i]=cnt[i]=0;
};
void add(int x) {
int indx = (x == mid) ? 1 : ((x > mid) ? 2 : 0);
sum[indx] += x;
++cnt[indx];
};
void show(){
char ss[3] = {'<', '=', '>'};
for(int i=sizeof(ss)/sizeof(ss[0])-1; i >= 0; --i){
cout << ss[i] << mid << " count=" << cnt[i];
if (cnt[i]) cout << " avg=" << double (sum[i])/cnt[i];
cout << endl;
}
};
};
int main(int argc, char *argv[]) {
const int N=50;
dump X(N);
for(int n=45; n<55; ++n)
X.add(n);
X.show();
return 0;
}
- TaiLv 57 年前
十鱷魚,題意如你所說 :D
並不需要用陣列存值,可用三變數 Larger, Eq, Less 在輸入中累計 >, =, < 的數量。另外有三變數 nLarger, nEq, nLess 儲存數量。
結束十筆輸入後算平均值。注意算平均時要改用 float 或 double,而非整數除法。
2013-10-27 23:00:40 補充:
那不是副程式。知識長是將這一類:對一群數以比 N 大,等於N,小於N,分類後算平均的處理過程 "物件化",包裝成 struct dump。
交這個作業老師會很高興,下兩堂課 struct, class 可不用教了。但跟助教說是副程式,成績會歸零。
- 您覺得這個回答如何?您可以登入為回答投票。