微剋多資訊

 找回密碼
 註冊

Sign in with google

Google帳號登入

搜索
12
返回列表 發新帖

該用戶從未簽到

升級   62.5%

11F
 樓主| 發表於 2014-3-23 01:47 | 只看該作者
本帖最後由 animejp 於 2014-3-23 01:50 編輯

自訂作業4.11

switch語法:

switch (flag)
{
case 1:
    statement1;
    break;
case 2:
     statement2;
     break;
...
case n:
     statement n;
     break;
default:
    default_statement;
}
  


  
#include <stdio.h>
  
main()
  
{
  
   int any, i = 3;
  
   scanf("%d", &any);
  
  
   switch (any)
  
   {
  
   case 1:
  
     i++;
  
     break;
  
   case 2:
  
     i = i * i;
  
     break;
  
   case 3:
  
     i = i / i;
  
     break;
  
   default:
  
     i = 4;
  
   }
  
   printf("%d\n", i);
  
}
  

使用道具

該用戶從未簽到

升級   62.5%

12F
 樓主| 發表於 2014-3-23 16:24 | 只看該作者
本帖最後由 animejp 於 2014-3-23 16:26 編輯

自訂作業4.12

若statement內容相同,可合併case (不同case:需以 空白 分隔)

  
#include <stdio.h>
  
main()
  
{
  
   int year, month, days;
  
   scanf("%d", &year);
  
   scanf("%d", &month);
  
   switch (month)
  
   {
  
   case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  
     days = 31;
  
     break;
  
   case 4: case 6: case 9: case 11:
  
     days = 30;
  
     break;
  
   case 2:
  
     if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 !=  0)))
  
       days = 29;
  
     else
  
       days = 28;
  
     break;
  
   default:
  
     days = 0;
  
   }
  
   printf("%d\n", days);
  
}
  

使用道具

您需要登入後才可以回帖 登入 | 註冊

本版積分規則

小黑屋|Archiver|微剋多資訊(MicroDuo)

GMT+8, 2024-11-1 06:53

Discuz! X

© 2009-2023 Microduo

快速回覆 返回頂部 返回列表