C语言 求不吉利日期
我给思路你把:首先只要计算出每个月的第一天是星期几就行:如果是星期7则13号为星期5,这是固定的。1 month为月, 第一天星期为week,如果week为7,输出month,否则直接进入下一步;2 month++,如果month12 程序退出,如果month为大月,week=(week+4)%7, 如果month为小月, week=(week+3)%7,如果week==2,week不变, 重复第一步;加粗部分为计算下一月第一天的星期,为什么如此自己思考下。最好自己动手写程序。
c语言如何拒绝录入错误日期(比如当用户输入2001年2月31号时该如何提示 输入错误)
你得首先找出所有可能的错误类型。
你一开始在main函数里
int month,day;//定义了月和日
//··· ···具体的代码你自己写,比如获取一个日期啊啥的
/*写个函数来判断,日期不对就返回-1,正确就返回0*/
int verify(int month, int day)
{
if(month = 0 month = 13)
return -1;
else if(day = 29 month == 2)//这里你得添加更多的判断条件,比如是否为闰年等
return -1;
// 把你想到的可能的错误值一个一个的添加 else if()判断,比如一月只有31天等~
else return 0;//所有的判断都通过后,返回0,;在main函数里调用该函数判断,如果调用verify()后值为0,那么就拒绝录入
}
C语言不吉利的数字
#include “stdio.h”
#include stdlib.h
#include string.h
int main(int argc,char *argv[]){
char a[8];
int n,m,i,k,t;
printf(“Please enter n m(uint 1nm=1000000)…\n”);
if(scanf(“%d%d”,n,m)!=2 || n2 || m1000000 || n=m){
printf(“Input error, exit…\n”);
return 0;
}
printf(“The following is unlucky number:\n”);
for(t=k=0,i=n;im;i++)
if(strstr(itoa(i+1000000,a,10)+1,”77″) || strchr(a+1,’4′))
printf(++t%12 ? “%8s” : “%8s\n”,a+1);
else
k++;
if(t%12)
printf(“\n”);
printf(“\nBetween %d and %d issued a total of %d license plates.\n”,n,m,k);
return 0;
}
运行样例:
请教c语言高手,有道题我看不懂,给我解释一下!
因为数组a[15]里的数都是代表各月第一天是这一年的第几天,
所以a[i]+13就是第i+1月13号是该年的第几天,
m代表新年第一天与星期五有几天偏差。
a[i]+13-m求出第i+1个月的13号与某个周五有几天,
取模7,
==0的说明该月13号为周五,
否则不是~!
该算法不能用于闰年。
C语言编程求解答
#include stdio.h
int main()
{
int year, month, day;
scanf(“%d-%d-%d”, year, month, day);
if(year%month==3month%day==3)printf(“YES\n”);
else printf(“NO\n”);
return 0;
}
C语言,日期设置BUG
如下:
#include stdio.h
int loopyear(int y)
{
if((y%4==0y%100!=0)||y%400==0)
return 1;
}
int main()
{
int y,m,d,dis=0,i;
int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf(“%d.%d.%d”,y,m,d);
if(m6||(m==6d=6)){ //下一年6.6
for(i=m-1;i12;i++){
dis+=mon[i];
}
dis-=d;
if(m2)dis+=loopyear(y);
dis+=loopyear(y+1);
dis+=mon[0]+mon[1]+mon[2]+mon[3]+mon[4]+mon[5]+6;
}
else{//今年6.6前
for(i=m-1;i5;i++){
dis+=mon[i];
}
dis=dis-d+6;
if(m=2)dis+=loopyear(y);//从根源治理:31日
}
printf(“%d days.\n”,dis);
return 0;
}