2011-11-14 61 views
0

我只想問你怎麼確定確定基於數

Enter a number: 14 
Then the date to day is Sunday. 

以上示範爲1-7 =週一至週日則如果該值爲8話又說回來了週一一天......但我怎麼能確定呢?使用循環和模?...

我明白任何意見對我的幫助......

任何語言都OK,我只是想知道它的算法...

+3

這是一門功課的問題嗎? –

+1

這聽起來像你知道模數,所以你嘗試過嗎? –

+0

這是不是一個在家工作的人它只是一個操作到我的網站,就像我想知道當前的日期,但我把它全部存儲到小數,所以我怎麼可能將其劃分到7,然後獲取其剩餘價值?... – daison12006013

回答

1

如果您有一個開關/外殼或者如果/ else在七天內,您可以使用模7來獲得輸入到期望的7天的範圍內。

1

您可以使用switch語句和模運算來做到這一點。

第一步,學習計算機科學的學習是數字通常不會從1開始從0開始。獲得這樣的想法下會極大地幫助你在未來!

// accept numbers 0-6. If 7 were to get put in, it would end up being 0 since 7 % 7 = 0. 

switch(num % 7) { 
case 0: return "Sunday"; 
case 1: return "Monday"; 
case 2: return "Tuesday"; 
/// rest here... 
default: throw new IllegalArgumentException(); 

} 
+0

生病試試這個,感謝傢伙.... – daison12006013

1

以模7爲模數似乎是一個明顯的可能性。

1
string day; 
int inputNumber; 

if(inputNumber%7 == 0) 
    day = "monday"; // or sunday if you prefer :p 
else if(inputNumber%7 == 1) 
    day = tuesday 
... 
... 
... 
+0

所以你的if語句做了不同的每一天? – corsiKa

2

你可以使用模塊

模塊得0所以它會是這樣的

<?php 
    $value = 13; 
    $daynames = array("mon", "tues", "wed", "thur", "fri", "sat", "sun"); 

    // The + 1 is because % is 0, and you want 1-7 
    echo (($value % 7) + 1) . "day of the week"; 
    echo "the day is " . $daynames[($value % 7)]; 
?> 

例子:http://codepad.org/wbGuMI06

1

在C++中,int day = (i-1) % 7;會給你一個零基於偏移量。以下是示例代碼:

#include <iostream> 
#include<string> 

using namespace std; 

int main() 
{ 
    static const std::string days [] = 
    { 
     "Sunday", 
     "Monday", 
     "Tuesday", 
     "Wednesday", 
     "Thursday", 
     "Friday", 
     "Saturday" 
    }; 

    static const size_t num_days = sizeof(days)/sizeof(days[0]); 

    for(int i = 1; i <= 31; ++i) 
    { 
     int day = (i-1) % 7; 
     cout << day << " = " << days[day] << "\n"; 
    } 
} 
1

獲取傳入的int值的模7,併爲其創建switch語句。

switch: 
    case 1: 
    Sunday 
    case 2: 
    Monday 

    // and so on 
1
datArr= new Array ('Sun', 'Mon', 'Tue',Wen', 'Thu, 'Fri', 'Sat'); 
day =datArr[(daynum%7)]; 

如果週日被視爲零一天沒有必要取模後減去1。當然,如果遇到零的實際值,大多數解決方案都會失敗並進行零點潛水。

1
import java.util.Scanner; 

public class TestMain { 
    private static final String[] DAYS = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thusday", "Friday", "Saturday" }; 

    public static void main(final String[] args) { 
     System.out.print("Enter a number: "); 

     final Scanner scanner = new Scanner(System.in); 
     final int n = scanner.nextInt(); 

     System.out.print("Then the date to day is " + DAYS[n % 7]); 
    } 
}