三、程序分析題(本大題共5小題,每小題5分,共25分) 閱讀下列程序,將輸出結(jié)果寫到各題右側(cè)的空白處。
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. /*設(shè)從鍵盤輸入: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″);
}
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. /*設(shè)從鍵盤輸入: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″);
}

