一道关于C语言字符串分割比较的问题
一道比较老的笔试题,但是很值得琢磨,大家一起学习,各抒己见:#define TIME_TAB_MAX 245
char g_time_tab = {
"13:46",
"08:23",
"23:12",
"05:59",
...
"09:13",
"12:00",
"02:42",
"22:29",
...
...
};
char g_sleep_time = {
"21:30"
};
用C语言编写函数,从g_time_tab 中找出最接近g_sleep_time的时间,并且printf 出结果。
{:9_231:}自己顶自己,长大有出息! 13:46 变成13.46
08:23 变成08.23
23:12 变成23.12
………………
21:30 变成 21.30
相减取绝对值找出最小的即可
把g_time_tab的“:”全部替换成“.”,调用strtod,将字符串转换成double,与21.30比较,取MIN. 忘记附上代码:
#include<stdlib.h>
#include<stdio.h>
#define TIME_TAB_MAX 8
int main() {
char time_tab = {
"13:46",
"08:23",
"23:12",
"05:59",
"09:13",
"12:00",
"02:42",
"22:29"
};
char sleep_time = {
"21:30"
};
int k;
double time_value, sleep_value;
//………………
for(k = 0; k < TIME_TAB_MAX; k++) {
time_tab = '.';
time_value = strtod(time_tab, NULL);
}
//………………
return 0;
} suxiang2014 发表于 2014-10-23 16:27
13:46 变成13.46
08:23 变成08.23
23:12 变成23.12
这个思路很靓啊,我试试先{:9_228:}
页:
[1]