如何将月份(int)转换为月份名称(字符串)

时间:2015-12-04 03:46:09

标签: c string struct

< p>我正在处理我正在处理的功能问题。我能够获得正确的数据,只是不打印出月份的名称。 < / p为H. < p>我得到的示例输出:< / p> <预><代码> |月|高|低|平均| Precip | | ----------- | ------- | ------- | ------- | --------- | 1 | 9.8 | -26.2 | -7.8 | 55.3 | 2 | 7.5 | -23.3 | -8.6 | 33.1 | 3 | 14.2 | -19.6 | -4.7 | 33.2 | 4 | 23.7 | -5.3 | 6.2 | 56.8 | 5 | 33.0 | -0.6 | 13.9 | 62.7 | 6 | 32.1 | 8.0 | 19.7 | 69.7 | 7 | 34.9 | 12.6 | 22.2 | 181.8 | 8 | 31.5 | 11.0 | 20.9 | 69.2 | 9 | 34.1 | 5.0 | 16.1 | 69.0 | 10 | 24.8 | -2.9 | 10.8 | 56.9 | 11 | 16.0 | -12.8 | 2.1 | 36.2 | 12 | 15.6 | -17.8 | -4.2 | 65.8 < /代码>< /预> < p>我想将数字1-12转换为适当的月份名称。即:1 = 1月。 < / p为H. < pre>< code> void printMonthlyStatistic(int month,const struct MonthlyStatistic * monthly) < /代码>< /预> < p>是函数的样子< / p> <预><代码>对于(i = 0; I< 12;我++){    printMonthlyStatistic第(i + 1,&安培;月[I]) < /代码>< /预> < p>并且在main中被称为。 < / p为H. < p>任何寻求合适方法来完成此任务的帮助都会很棒。 !感谢和LT; / p为H.

2 个答案:

答案 0 :(得分:2)

您应该使用数组来存储月份的名称,例如:

const char * months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};

您可以轻松获取月份名称,例如index = 1,然后

months[index -1]

将为您提供第一个月的名称: January

以下代码:

for (int i = 0; i < 12; ++i) {
    printf("%s ", months[i]);
}

将输出:

  

1月2月3月4月5月6月7月8月9月10月   11月12月

答案 1 :(得分:-3)

您可以像星期一样维护月份数组 char months_names [12] = {Jan,Feb,Mar,Apr,Jun,Jul,Aug,Sep,Oct,Nov,Dec};

您可以将整数月份放入数组以获取字符串值

months_names [&#34; Integrer Value&#34;]您将获得月份的String名称。