Sony笔试题及分析

进修社 人气:9.89K

1.完成下列程序
*
*.*.
*..*..*..
*...*...*...*...
*....*....*....*....*....
*.....*.....*.....*.....*.....*.....
*......*......*......*......*......*......*......
*.......*.......*.......*.......*.......*.......*.......*.......
#include
#define N 8
int main()
{
int i;
int j;
int k;
---------------------------------------------------------
││││││
---------------------------------------------------------
return 0;
}
答:
#define N 8
int main()
{
int i;
int j;
int k;
for(i=0;i{
for(j=0;j{
printf("*");
for(k=0;kprintf(".");
}
printf("n");
}
return 0;
}


2.完成程序,实现对数组的降序排序
#include
void sort( );
int main()
{
int array[]={45,56,76,234,1,34,23,2,3}; //数字任意给出
sort( );
return 0;
}
void sort( )
{
---------------------------------------------------------
││││││
---------------------------------------------------------
}
答:使用选择排序法,我为sort函数多加了两个形参,至少第一个是必须的,否则无法传入待排序数组。不知道这样做是否符合题意。

void sort(int *array,int num)
{
int temp;
for(int i=0;ifor(int j=i+1;jif (array{
temp=array;
array=array[j];
array[j]=temp;
}
}

3.菲波纳契数列,1,1,2,3,5……编写程序求第十项。可以用递归,也可以用其他方法,但要说明你选择的理由。
#include
int Pheponatch(int);
int main()

Sony笔试题及分析