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();
        }

    }
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 UM程式研究日誌 的頭像
    UM程式研究日誌

    UM程式研究日誌

    UM程式研究日誌 發表在 痞客邦 留言(0) 人氣()