将给定时间转换为单词
给定一个格式为 hh:mm(12 小时格式)的时间 0 < hh < 12, 0 <= mm < 60。任务是将其转换为单词,如下所示:
例子 :
Input : h = 5, m = 0
Output : five o' clock
Input : h = 6, m = 24
Output : twenty four minutes past six
极端情况是 m = 0、m = 15、m = 30 和 m = 45。
6:00 six o'clock
6:10 ten minutes past six
6:15 quarter past six
6:30 half past six
6:45 quarter to seven
6:47 thirteen minutes to seven
这个想法是使用 if-else-if 语句来确定单词中的时间。根据上面给出的例子,以分钟为单位,我们可以将单词中的时间分为8个,即分钟等于0、15、30、45、1、59,并且在小于30或大于的范围内。 30. 检查分钟值并相应打印。
下面是这种方法的实现:
C++
// C++ program to convert time into words
#include
using namespace std;
// Print Time in words.
void printWords(int h, int m)
{
char nums[][64] = { "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen",
"fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen", "twenty", "twenty one",
"twenty two", "twenty three", "twenty four",
"twenty five", "twenty six", "twenty seven",
"twenty eight", "twenty nine",
};
if (m == 0)
printf("%s o' clock\n", nums[h]);
else if (m == 1)
printf("one minute past %s\n", nums[h]);
else if (m == 59)
printf("one minute to %s\n", nums[(h % 12) + 1]);
else if (m == 15)
printf("quarter past %s\n", nums[h]);
else if (m == 30)
printf("half past %s\n", nums[h]);
else if (m == 45)
printf("quarter to %s\n", nums[(h % 12) + 1]);
else if (m <= 30)
printf("%s minutes past %s\n", nums[m], nums[h]);
else if (m > 30)
printf("%s minutes to %s\n", nums[60 - m],
nums[(h % 12) + 1]);
}
// Driven Program
int main()
{
int h = 6;
int m = 24;
printWords(h, m);
return 0;
}
Java
// Java program to convert time into words
class GFG
{
// Print Time in words.
static void printWords(int h, int m)
{
String nums[] = { "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen",
"fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen", "twenty", "twenty one",
"twenty two", "twenty three", "twenty four",
"twenty five", "twenty six", "twenty seven",
"twenty eight", "twenty nine",
};
if (m == 0)
System.out.println(nums[h] + " o' clock ");
else if (m == 1)
System.out.println("one minute past " +
nums[h]);
else if (m == 59)
System.out.println("one minute to " +
nums[(h % 12) + 1]);
else if (m == 15)
System.out.println("quarter past " + nums[h]);
else if (m == 30)
System.out.println("half past " + nums[h]);
else if (m == 45)
System.out.println("quarter to " +
nums[(h % 12) + 1]);
else if (m <= 30)
System.out.println( nums[m] + " minutes past " +
nums[h]);
else if (m > 30)
System.out.println( nums[60 - m] + " minutes to " +
nums[(h % 12) + 1]);
}
// Driven code
public static void main(String []args)
{
int h = 6;
int m = 24;
printWords(h, m);
}
}
// This code is contributed by ihritik
Python3
# Python3 program to convert
# time into words
# Print Time in words.
def printWords(h, m):
nums = ["zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen",
"fourteen", "fifteen", "sixteen",
"seventeen", "eighteen", "nineteen",
"twenty", "twenty one", "twenty two",
"twenty three", "twenty four",
"twenty five", "twenty six", "twenty seven",
"twenty eight", "twenty nine"];
if (m == 0):
print(nums[h], "o' clock");
elif (m == 1):
print("one minute past", nums[h]);
elif (m == 59):
print("one minute to", nums[(h % 12) + 1]);
elif (m == 15):
print("quarter past", nums[h]);
elif (m == 30):
print("half past", nums[h]);
elif (m == 45):
print("quarter to", (nums[(h % 12) + 1]));
elif (m <= 30):
print(nums[m],"minutes past", nums[h]);
elif (m > 30):
print(nums[60 - m], "minutes to",
nums[(h % 12) + 1]);
# Driver Code
h = 6;
m = 24;
printWords(h, m);
# This code is contributed
# by Princi Singh
C#
// C# program to convert time into words
using System;
class GFG
{
// Print Time in words.
static void printWords(int h, int m)
{
string [] nums = { "zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen",
"fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen", "twenty", "twenty one",
"twenty two", "twenty three", "twenty four",
"twenty five", "twenty six", "twenty seven",
"twenty eight", "twenty nine",
};
if (m == 0)
Console.WriteLine(nums[h] + " o' clock ");
else if (m == 1)
Console.WriteLine("one minute past " + nums[h]);
else if (m == 59)
Console.WriteLine("one minute to " +
nums[(h % 12) + 1]);
else if (m == 15)
Console.WriteLine("quarter past " + nums[h]);
else if (m == 30)
Console.WriteLine("half past " + nums[h]);
else if (m == 45)
Console.WriteLine("quarter to " +
nums[(h % 12) + 1]);
else if (m <= 30)
Console.WriteLine( nums[m] + " minutes past " +
nums[h]);
else if (m > 30)
Console.WriteLine( nums[60 - m] + " minutes to " +
nums[(h % 12) + 1]);
}
// Driven code
public static void Main()
{
int h = 6;
int m = 24;
printWords(h, m);
}
}
// This code is contributed by ihritik
PHP
30)
echo $nums[60 - $m],
" minutes to ",
$nums[($h % 12) + 1], "\n";
}
// Driver Code
$h = 6;
$m = 24;
printWords($h, $m);
// This code is contributed by aj_36
?>
Javascript
输出 :
twenty four minutes past six