贴子上看到的华为笔试题,做了俩小时,做出来了,就是效率有点低。

简介: 这个题目要求是, #define TIME_TAB_MAX 6 char g_time_tab[TIME_TAB_MAX][6] = {  "13:46",  "08:23",  "23:12",  "05:59", }; char g_sleep_time[6] = {  "13:12" }; 用c编一个程序,在g_time_tab中找到距离char g_sleep_time[6]里面时间最近的那个时间,并输出。
 

这个题目要求是,

#define TIME_TAB_MAX 6
char g_time_tab[TIME_TAB_MAX][6] = {
 "13:46",
 "08:23",
 "23:12",
 "05:59",
};
char g_sleep_time[6] = {
 "13:12"
};
用c编一个程序,在g_time_tab中找到距离char g_sleep_time[6]里面时间最近的那个时间,并输出。

**************************************************************************************************************

                                                                            代码

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#include<stdio.h>
#include<math.h>
#define TIME_TAB_MAX 6
char g_time_tab[TIME_TAB_MAX][6] = {
 "13:46",
 "08:23",
 "23:12",
 "05:59",
};
char g_sleep_time[6] = {
 "13:12"
};
int g_time_number(char *p )
{
 int a[6];
 int i,b;
 for(i = 0;*p != '\0';i++,*(p++))
 {
  if(*p != ':')
  {
   a[i] = *p - '0';
   //printf("a[%d] = %d\n",i,a[i]);
  }
  else
  {
   i--;
   continue;
  } 
 }
 b = (a[0]*10+a[1]) * 60 + a[2] * 10 + a[3];
 return b;
 
}
int main(void)
{
 int a[TIME_TAB_MAX] ;
 int i,m,n,k,temp,j;
 n = 500;
 k = 1;
 m = g_time_number(g_sleep_time);
 for(i = 0;i < TIME_TAB_MAX;i++)
 {
  a[i] = g_time_number(g_time_tab[i]);
  //printf("%d\n",abs(a[i] - m));
  if(abs(a[i] - m) < n)
  {
   n = abs(a[i] - m);
   temp = a[i];
   k = i;
  }
 }
 
 
 printf("g_time_tab[%d] = %d:%d%d",k,temp/60,(temp%60)/10,(temp%60)%10);

 printf("\n");
 
 return 0;
}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                                                            代码

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

目录
相关文章
|
12月前
|
数据采集 存储 缓存
腾讯二面:有 40 亿个 QQ 号,限制 1G 内存,问如何去重?被问懵了!
腾讯二面:有 40 亿个 QQ 号,限制 1G 内存,问如何去重?被问懵了!
|
缓存 移动开发 JavaScript
5.17-5.25 大厂一轮面试题目全记录(腾讯PCG、WXG、虾皮、字节)
本瓜前段时间(2020.05.17 ~ 2020.05.25)可能由于机缘巧合?获得了几家大厂的面试资格。遂去试了试水(不该裸面呀),发现自己还是火候不够。
02【C语言 & 趣味算法】借书方案问题:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借1本,则可以有多少种不同的借法?
02【C语言 & 趣味算法】借书方案问题:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借1本,则可以有多少种不同的借法?
02【C语言 & 趣味算法】借书方案问题:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能借1本,则可以有多少种不同的借法?
L2-029 特立独行的幸福 (25 分)(数组模拟)
L2-029 特立独行的幸福 (25 分)(数组模拟)
103 0
L2-020 功夫传人 (25 分)
L2-020 功夫传人 (25 分)
74 0
7-24 悄悄关注 (10 分)
7-24 悄悄关注 (10 分)
97 0
【蓝桥杯省赛】冲刺练习题【超大数】倒计时【14】天
【蓝桥杯省赛】冲刺练习题【超大数】倒计时【14】天
154 0
|
存储 安全 Java
集合很简单?开什么玩笑?肝了一周,全是精华,万字讲解,面试再不怕集合问题了
ArrayList 是容量可变的⾮线程安全列表,使⽤数组实现,集合扩容时会创建更⼤的数组,把原有数组复制到新数组。⽀持对元素的快速随机访问,但插⼊与删除速度很慢。ArrayList 实现了 RandomAcess 标记接⼝,如果⼀个类实现了该接⼝,那么表示使⽤索引遍历⽐迭代器更快。
93 0
集合很简单?开什么玩笑?肝了一周,全是精华,万字讲解,面试再不怕集合问题了

热门文章

最新文章

相关实验场景

更多