⑴ c語言 輸入英文的星期幾,再星期表中查找後輸出對應的數字
#include <胡唯stdio.h>
#include <string.h>
void main()
{
char a[10];
char week_day[][10]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
printf("請輸褲做模入一個星期的單詞:\n");
gets(a);
int i;
for(i=0;i<7;i++)
{
if(strcmp(a,week_day[i])==0)
break;
}
if(i<7)
printf("%d\n",i);
else
printf("ERROR!\n");
}
——————
編譯好了胡緩~~:)
⑵ 計算星期幾 c語言
你的圖片沒拍輸出,猜測御租模應該是輸出星期對應英文單詞
#include<stdio.h>
intmain()
{
charday[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
inta,b,s,num;
num=0;
while(scanf("%d%d",&a,&鎮緩b)!=EOF)
{
s=a*b;
num+=s%型納7;
printf("%s ",day[num]);
}
return0;
}
⑶ C語言問題---計算星期
#define YES 1
#define NO 0
int isleap(int year)
{int leap=NO;
if(year%4==0&&year%100!=0||year%400==0)
leap=YES;
return leap;
}
int week-of-new-year-day(int year)
{int n=year-1980;
n=n+n/4+1;
n=n%7;
return n;
}
main()
{ int year,month,day,weekday,len,i,j;
scanf("%d-%d-%d",&year,&month,&day);
weekday=week_of_newyears_day(year);
for(i=1;i<=month-1;j++)
{
if(i==4||i==6||i==9||i==11)
len=30;
else if(i==2)
{if (isleap(year))
len=29;
else len=28;
}
else len=31;
for(j=1;j<=len;j++)
{ weekday++;weekday%=7;}
}
for(i=1;i<=day;i++)
{weekday++;weekday%=7;}
swith(weekday)
{ case 1:printf("SUNDAY");
case 2:printf("MONDAY");
case 3:printf("THEUSDAY");
case 4:printf("WEDNESDAUY");
case 5:printf("THURSDAY");
case 6:printf("FRISDAY");
case 7:printf("SATURDAY");
}
}
⑷ sunday演算法解析
例如我們要在"substring searching algorithm"查找"search",剛開始時,把子
串與文本左邊對齊,
substring searching algorithm
search
^
結果在第二個字元處發現不匹配,於是要把子串往後移動。但是該移動多少呢?這
就是各種演算法各顯神通的地方了,最簡單的做法是移動一個字元位置;KMP是利用
已經匹配部分的信息來移動;BM演算法是做反向比較,並根據已經匹配的部分來確定
移動量。這里要介紹的方法是看緊跟在當前子串之後的那個字元(上圖中的'i'。
顯然,不管移動多少,這個字元是肯定要參加下一步的比較的,也就是說,如果下
一步匹配到了,這個字元必須在子串內。所以,可以移動子串,使子串中的最右邊
的這個字元與它對齊。現在子串'search'中並不存在'i',則說明可以直接跳過一
大片,從'i'之後的那個字元開始作下一步的比較,如下圖:
substring searching algorithm
search
^
比較的結果,第一個字元就不匹配,再看子串後面的那個字元,是'r',它在子串中
出現在倒數第三位,於是把子串向前移動三位,使兩個'r'對齊,如下:
substring searching algorithm
search