📚 知識家圖書館 奇摩知識+ 紀念館

有關程式設計c++(急用)

發問者 陽光 (Lv.1) ・2007 年 10 月 19 日 ・程式設計

1.設計一個程式,將串列中的整數相加,求其總和。假如輸入的第一個數字代表後續尚要輸入的數目個數。你所設計的程式,一個輸入敘述式只能讀取一個數值。標準的輸入串列應該如下列所示: 5 100 200 300 400 500 其中的5代表後續有5個數值需要相加。 2.設計一個程式,能夠計算和列印出幾個整數的平均值。假設讀取的最後一個的數字是旗標值9999。標準的輸入串列應該如下列所示 10 8 11 7 9 9999 3.設計一個程式,能夠使用表格將1到256的十進位數字,印出等值的二進位、八進位和十六進位數字。 4.輸入一個四位數的整數,然後按照下述方法加密:先將每個位數的數字加7,然後除以10, 取其餘數代替原來的數字.然後將第一個位數的數字與第三個位數的數字交換,將第二 個位數的數字和第四個位數的數字交換.請設計一個程式,能夠 輸入加密的四位數整數,然後將它解密還原成原來的數目.

1 則回答

最佳解答
你好,很榮興又來幫你解答了 第一題 #include <iostream> using namespace std; int main(){ int times; int sum=0,n; cin >> times; while(times--){ cin >> n; sum+=n; } cout << sum << endl; return 0; } 第二題:這題我有問題,9999也要算進平均嗎?我是沒把9999算進平均值 #include <iostream> using namespace std; int main(){ int times=0; int sum=0,n; while(1){ cin >> n; if(n==9999) break; sum+=n; times++; } cout << sum/times << endl; return 0; } 第三題:#include <iostream> #include <string> using namespace std; string baseconv(int base,int n){ int temp; string ans=""; while(n){ temp=n%base; if(temp>=10) ans = (char)(temp - 10 + 'A') + ans; else ans = (char)(temp + '0') + ans; n/=base; } return ans; } int main(){ int times=0; int sum=0,n; cout << "十進位" << "\t二進位" << "\t\t八進位" << "\t十六進位" << endl; for(n=1;n<257;n++){ cout << dec << n << "\t"; cout << baseconv(2,n) << "\t"; if(n<128) cout << "\t"; cout << oct << n << "\t"; cout << hex << n << "\n"; } return 0; } 第四題: #include <iostream> #include <string> #define swap(a,b) {int t=a; a=b; b=t;} using namespace std; int main(){ char s[10]; cin >> s; swap(s[0],s[2]); swap(s[1],s[3]); for(int i=0;i<4;i++) s[i] = (s[i] - '0' + 3) % 10 + '0'; cout << "解密後:" << s << endl; return 0; }
 Joybo(Lv.5) 2007 年 10 月 19 日

電腦與網際網路的其他問題