试题详情

第三题 阅读以下代码和问题,回答问题1至问题3,将解答填入答题纸的对应栏内。 【代码 1】 typedef enum {A,B,C,D} EnumType; EnumType f(int yr) { if(0 == yr%400) { return A; } else if (!(yr%4)) { if(0!=yr%100) return B; else return C; } return D; } 【代码2 】 #include<stdio.h> int main() { int score; scanf("%d",&score); switch (score) { case 5: printf("Excellent!\n"); case 4: printf("Good!\n"); break; case 3: printf("Average!\n"); case 2: case 1: case 0: printf("Poor!\n"); default: printf("Oops,Error\n"); } return 0; } 【代码3】 #include<stdio.h> int main() { int i,j,k; for(i=0; i<2; i++) for(j=0; j<3;j++) for( k=0; k<2;k++) { if(i!=j&&j!=k) printf("%d %d %d\n", i,j,k); } ruturn 0; } 问题:3.1 (4分) 对于代码1,写出下面的函数调用后x1 、x2、x3和x4的值。 x1 = f(1997); x2 = f(2000); x3 = f(2100); x4 = f(2020); 问题:3.2 (5分) (1)写出代码2进行时输入为3的输出结果; (2)写出代码2进行时输入为5的输出结果。 问题:3.3 (6分) 写出代码3运行后的输出结果。