![]() |
|
(四)阅读程序回答问题
(每小题6分,共18分,专科只答第1小题,本科全答。)
1、程序
void swap (int p[],int j)
{int t;
t=p[j-1];
p[j-1]=p[j];
p[j]=t;
}
void bubble(int a[],int m)
{int i,j;
for(i=0;i
for(j=m-1;j>i;j--)
}
main()
{int a[]={11,33,27,33,-1,22,-8,12),i;
bubble(a,8);
for(i=0;i<8;i++) printf("M",a[i]);
}
问题1:此程序的运行结果为什么?
问题2:若将bubble函数中的语句:
改成:
if(a[j-1]>a[j]) swap(a,j);
则程序的运行结果为什么?
2、程序
main( )
{ int a[6][6] ;
int i, j ;
for (i=0 ; i<5 ; i++ )
{a[i][i]=1;
a[i][0]=1;}
for (i=2 ; i<6 ; i++ )
for (j=1 ; j<=i-1 ; j++ )
a[i][j]= a[i-1][j-1]+ a[i-1][j];
for (i=0 ; i<6 ; i++ )
{for (j=0 ; j<=i ; j++ )
printf("M", a[i][j]) ;
printf ('\n') ;}
}
问题3:程序的功能是什么?
问题4:写出程序的运行结果。
3、 程序
#include
void inverse(str)
char str[];
{ char t;
int n,i,j;
n=strlen(str);
for(i=0,j=n-1;i
{t=str[i];str[i]=str[j];str[j]=t;
}
}
main()
{ char str[81];
gets(str);
inverse(str);
printf("%s \n",str);
}
问题5:可否将程序的第二行和第三行改成
void inverse(char str[ ])?
问题6:如果从键盘输入的字符串为ABCDEFGH,则输出结果是什么?
[1] [2] [3] [4] [5] [6] [7] [8] 