2820 - 【验证型】第11章:指针和数组 11.3 月份输出
从键盘任意输入整型数表示的月份值,用指针数组编程输出该月份的英文表示,输入的月份值不在1~12之间,则输出“Illegal month"。
题目输入
输入的第一行为一个正整数n(1<=n<=15),表示测试样例的个数。接下来n行,每行输入一个整型数。
题目输出
输入/输出样例
题目输入
15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
题目输出
January February March April May June July August September October November December Illegal month Illegal month Illegal month
C语言解答
#include<stdio.h> #define N 15 int main() { char mon[12][20] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; int iput[N] = {0}; int i; for(i = 0; i < N; i++) { scanf("%d", &iput[i]); } for(i = 0; i < N; i++) { if(iput[i] > 12 || iput[i] < 1) { printf("Illegal month\n"); } else { switch(iput[i]) { case 1: printf("%s\n", mon[iput[i]-1]);break; case 2: printf("%s\n", mon[iput[i]-1]);break; case 3: printf("%s\n", mon[iput[i]-1]);break; case 4: printf("%s\n", mon[iput[i]-1]);break; case 5: printf("%s\n", mon[iput[i]-1]);break; case 6: printf("%s\n", mon[iput[i]-1]);break; case 7: printf("%s\n", mon[iput[i]-1]);break; case 8: printf("%s\n", mon[iput[i]-1]);break; case 9: printf("%s\n", mon[iput[i]-1]);break; case 10: printf("%s\n", mon[iput[i]-1]);break; case 11: printf("%s\n", mon[iput[i]-1]);break; case 12: printf("%s\n", mon[iput[i]-1]);break; } } } return 0; }
C++解答
#include <iostream> #include<cstring> using namespace std; int main(){ int n,i,M[100]; char *name[12]={"January","February","March","April","May","June","July","August","September","October","November","December"}; cin >>n; for(i=0;i<n;i++){ cin >>M[i]; if(M[i]>0&&M[i]<13){ int s =M[i]; cout << name[s-1]<<endl; } else cout<<"Illegal month"<<endl; } return 0 ; }