C语言 从键盘输入时间,输出对应提示:

从键盘输入时间,输出对应的提示:如:0:00-5:00凌晨好!现在是**5:01-8:00早上好!现在是**8:01-11:00上午好!现在是**11:01-13:00中... 从键盘输入时间,输出对应的提示:

如:0:00-5:00 凌晨好!现在是**
5:01-8:00 早上好!现在是**
8:01-11:00 上午好!现在是**
11:01-13:00 中午好!现在是**
13:01-18:00 下午好!现在是**
18:01-23:59 晚上好!现在是
展开
 我来答
龍不悔
2013-11-12 · TA获得超过1139个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:499万
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
    char stime[20];
    scanf("%s",stime);
    
    if(strcmp(stime,"11:00")<=0) 
                                printf("上午好!现在是%s",stime);
    else if(strcmp(stime,"13:00")<=0) 
                                printf("中午好!现在是%s",stime);
    else if(strcmp(stime,"18:00")<=0) 
                                printf("下午好!现在是%s",stime);
    else if(strcmp(stime,"24:00")<=0) 
                                printf("晚上好!现在是%s",stime);
    else if(strcmp(stime,"5:00")<=0) 
                                printf("凌晨好!现在是%s",stime);
    else if(strcmp(stime,"8:00")<=0) 
                                printf("早上好!现在是%s",stime);
    else
        printf("Time Error");
    getch();
}

string.h头文件涉及过吗?这是用库函数直接比较算的,测试结果如下:

不清楚的话参考一下百度文库:http://wenku.baidu.com/link?url=JVxbOzn0t7D6So8d10Sdjuns26afV5xPFGiEaav5lo62sDQvkQCZ-mufAuOdBUdOoKlvrGtO_5dgh-IFWJRMFpN9Jlv7aTQ5D2Ip0jTSqcm

听不清啊
高粉答主

推荐于2017-12-04 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>
#include<string.h>
int main()
{int h,m;
 char s[5];
 printf("请输入时间hh:mm ");
 scanf("%d%*c%d",&h,&m);
 if(h<0||h>23||m<0||m>59)printf("time error!\n");
   else if(h<5||h==5&&m==0)strcpy(s,"凌晨");
     else if(h<8||h==8&&m==0)strcpy(s,"早上");
       else if(h<11||h==11&&m==0)strcpy(s,"上午");
         else if(h<13||h==13&&m==0)strcpy(s,"中午");
           else if(h<18||h==18&&m==0)strcpy(s,"下午");
             else strcpy(s,"晚上");
 printf("%s好!现在是%s\n",s,s);
 return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qmg1023
2013-11-12 · TA获得超过888个赞
知道小有建树答主
回答量:804
采纳率:0%
帮助的人:908万
展开全部

输入一个串,解析,得到需要的结果。做了一些非法校验。



/*

从键盘输入时间,输出对应的提示:
           
       如:0:00-5:00   凌晨好!现在是**
           5:01-8:00   早上好!现在是**
           8:01-11:00   上午好!现在是**
           11:01-13:00   中午好!现在是**
           13:01-18:00   下午好!现在是**
           18:01-23:59   晚上好!现在是
           
           */
           
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int m,h,i,j;
char input[100],*tmp;
char *output[6]={" 凌晨好!现在是 "," 早上好!现在是 "," 上午好!现在是 "," 中午好!现在是 "," 下午好!现在是 "," 晚上好!现在是 "};
INPUT: printf("pls input MM:SS as hour and minute,(q to exit):");
gets(input);
if(!strcmp(input,"q" ) || !strcmp(input,"Q" ))
return 0;
tmp = strchr(input,':');
if(!tmp)
{
printf("invalid input!\n");
goto INPUT;
}
m = atoi (tmp+1);
*tmp = '\0';
h = atoi (input);

if(h<0 || h>23 || m<0 || m > 59)
{
printf("invalid input!\n");
goto INPUT;
}

j = h*100+m;
if( j>=0 && j<=500)
i = 0;
else if( j>=501 && j<=800 )
i=1;
else if( j>=801 && j<=1100)
i=2;
else if( j>=1101 && j<=1301 )
i=3;
else if( j>=1301 && j<=1800 )
i=4;
else if( j>=1801 && j<=2359 )
i=5;
else
{
printf("invalid input!\n");
goto INPUT;
}

printf("%s - %d:%d\n",output[i],h,m);
goto INPUT;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s_牵着蜗牛散步
2013-11-12
知道答主
回答量:16
采纳率:0%
帮助的人:5.8万
展开全部
#include<stdio.h>
main()
{

int a,b;
printf("请输入现在的时间,如:12:30\n");
scanf("%d:%d",&a,&b);
if(a>=0&&a<5)
printf("现在是%d:%d",a,b);
if(a>=5&&a<8)
printf("现在是%d:%d",a,b);

}
手机打的不方便,自己补充吧,都是差不多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扯淡农民工
2013-11-12
知道答主
回答量:60
采纳率:0%
帮助的人:17.2万
展开全部
这个你用个switch就可以判断是早上还是下午,然后输出就行了嘛 这题不难吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式