close
103程式設計(一) 作業7
1. 請用switch…case寫一程式:首先由鍵盤輸入二個正整數a,b,再由鍵盤任意輸入+, -, *, /, %等運算符號(若輸入 ; 表示結束,其他則顯示錯誤訊息),將運算結果列印出來。例如:輸入+,印出a+b=??
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { int num1, num2; Console.Write("Please enter first number\n"); num1 = int.Parse(Console.ReadLine()); Console.Write("Please enter second number\n"); num2 = int.Parse(Console.ReadLine()); while(true) { Console.Write("請輸入運算符號(輸入;則跳出)"); char number = char.Parse(Console.ReadLine()); if (number == ';') break; switch(number) { case '+': { Console.Write("{0}+{1}={2}\n", num1, num2, num1 + num2); break; } case '-': { Console.Write("{0}-{1}={2}\n", num1, num2, num1 - num2); break; } case'*': { Console.Write("{0}*{1}={2}\n", num1, num2, num1 * num2); break; } case '/': { Console.Write("{0}/{1}={2}\n", num1, num2, num1 / num2); break; } case '%': { Console.Write("{0}%{1}={2}\n", num1, num2, num1 % num2); break; } default: Console.Write("錯誤訊息"); break; } } Console.ReadLine(); } } }
2. 請設計一個程式:由鍵盤輸入任意個學生的姓名,先列印陣列的內容,將該陣列按由小到大排序後,再列印排序後的陣列內容。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { /* 2. 請設計一個程式:由鍵盤輸入任意個學生的姓名,先列印陣列的內容,將該陣列按由小到大排序後,再列印排序後的陣列內容。 */ int count = 0; string[] d = new string[count]; string str; do { count++; Array.Resize(ref d, count); Console.Write("請打入第{0}個名子:", count); d[count - 1] = Console.ReadLine(); Console.Write("請問是否繼續(Y/N)?"); str = Console.ReadLine(); } while (str == "Y" || str == "y"); Array.Sort(d); for(int i=0;i<count;i++) { Console.WriteLine(d[i]); } Console.ReadLine(); } } }
3. 請設計一個程式:由鍵盤輸入任意個整數,計算每一個整數佔所有數值和的百分比(小數取兩位)。例如:輸入5個整數:98, 80, 47, 102, 23,則印出:
98 : 28.00% (算法:98/(98+80+47+102+23))
80 : 22.86%
47 : 13.43%
102 : 29.14%
23 : 6.57%
sum:350
<解一:固定5個>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { /*3. 請設計一個程式:由鍵盤輸入任意個整數, 計算每一個整數佔所有數值和的百分比(小數取兩位)。 例如:輸入5個整數:98, 80, 47, 102, 23,則印出: */ /* 98 : 28.00% (算法:98/(98+80+47+102+23)) 80 : 22.86% 47 : 13.43% 102 : 29.14% 23 : 6.57% sum:350 */ Console.WriteLine("請輸入5個數字"); int[] num = new int[5]; for(int i=0;i<num.Length;i++) { num[i] = int.Parse(Console.ReadLine()); } double sum=0; for(int i=0;i<num.Length;i++) { sum+=num[i] ; } for(int i=0;i<num.Length;i++) { Console.WriteLine("{0}:{1}%", num[i],(num[i]/sum *100).ToString("f2")); } Console.WriteLine("sum:"+sum); Console.ReadLine(); } } }
<解二:先輸入決定要輸入的個數,再輸入>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { /*3. 請設計一個程式:由鍵盤輸入任意個整數, 計算每一個整數佔所有數值和的百分比(小數取兩位)。 例如:輸入5個整數:98, 80, 47, 102, 23,則印出: */ /* 98 : 28.00% (算法:98/(98+80+47+102+23)) 80 : 22.86% 47 : 13.43% 102 : 29.14% 23 : 6.57% sum:350 */ Console.WriteLine("請輸入總共要有幾個數字"); int numlength = int.Parse(Console.ReadLine()); int[] num = new int[numlength]; for(int i=0;i<num.Length;i++) { Console.Write("請輸入{0}個數字", i+1); num[i] = int.Parse(Console.ReadLine()); } double sum=0; for(int i=0;i<num.Length;i++) { sum+=num[i] ; } for(int i=0;i<num.Length;i++) { Console.WriteLine("{0}:{1}%", num[i],(num[i]/sum *100).ToString("f2")); } Console.WriteLine("sum:"+sum); Console.ReadLine(); } } }
4. 請設計一個程式:由鍵盤輸入一個正整數,將其轉換成二進位後印出。例如:輸入19,則印出:
19=10011
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { /* 4. 請設計一個程式:由鍵盤輸入一個正整數,將其轉換成二進位後印出。例如:輸入19,則印出: 19=10011 */ Console.WriteLine("請輸入一個正整數"); int num=int.Parse(Console.ReadLine()); int i=0; int[] s = new int[64]; while (num > 0) { s[i] = num % 2; num = num / 2; i++; } while (i > 0) { Console.Write(s[i - 1]); i--; } Console.ReadLine(); } } }
全站熱搜
留言列表