三、程序分析题(本大题共5小题,每小题5分,共25分) 阅读下列程序,将输出结果写到各题右侧的空白处。 31. mian( ) { int i; for(i=1;i<3;i++)f(i); } f(int j) { static int a=100; int k=1; ++k; printf(″%d\n″, j+a+k); a-=2; } 32. #include long fun(int n) { long s; if(n<=2)s=2; else s=n+fun(n-1); printf(″%d\t″, s); return s; } main( ) { fun(5); printf(″\n″); } 33. struct porb { char *name; int age; } s[]={″LiHua″, 18, ″WangXin″, 25, ″LiuGuo″, 21}; #define N (sizeof(s)/sizeof (s[0])) void f (struct porb a[], int n); main( ) { f (s, N); } void f (struct porb a[], int n) { int i; for (i=0;i printf (″%s:%d\n″, a[i]. name, a[i]. age); } 34. void LE(int*a, int b) { int x=*a; printf(″%d\t%d\n″, *a, b); *a=b;b=x; } main( ) { int x=10, y=25; LE(&x, y); printf(″%d\t%d\n″, x, y); } 35. /*设从键盘输入:420<回车> */ #include main( ) { char c; while ((c=getchar( ) )!=′\n′) switch(c-′0′) { case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; } printf(″\n″); } |