2015年计算机软件水平初级程序员笔试考前训练(6)
发布时间:2011/6/23 21:00:55 来源:城市学习网 编辑:admin
#include
main()
{
static int a[5][5]={
{1,2,3,4,0},
{2,3,4,0,6},
{3,0,1,7,5},
{0,0,2,4,1},
{8,4,3,2,7}
};
int i,j;
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
if (a[j]==0)
break;
printf("M",a[j]);
}
printf("\n");
}
答案:
1 2 3 4
2 3 4
3
8 4 3 2 7
个人解析下:
首先我们从for (j=0;j<5;j++)看起,往下是
{
if (a[j]==0)
break;
printf("M",a[j]);
}
把a[5][5]二维数组中的每列中从左至右第一个为零的数之前的数输出!
for (i=0;i<5;i++) 就是5行 [NextPage] #include
#include
fun(char *w,int n)
{
char t,*sl,*s2;
s1=w;
s2=w+n-1;
while (s1 {
t=*s1++
*s1=*s2--
*s2=t;
}
}
main()
{
char *p;
p="1234567";
fun (p,strlen(p));
puts(p);
}
答案:1711717
主要是认清楚S1=? S2=? 首先 S1=W,这S1存的是字符串W的首地址,而S2=W+N-1=P+7-1 OK,也就是W中最后一个字符的地址·