⑴ 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