您的位置:首页 > 其它

某公司上机题

2013-03-26 19:47 274 查看
前几天出去面试,笔试和面试后,技术主管给出了道上机题:六个数,要一直按由小到大的顺序排列,可以随意的添加和删除。。。

对于这个公司的面试这里不想多说什么,只分享下技术。

程序是以很简单的方式做出来的,其中并未考虑执行效率问题,上机题嘛,弄出个结果就很好了

#include<stdio.h>

#include<string.h>

int num[6];

void add(int n)

{

int i,post=0;

int k;

while((n>num[post])&&(post<6))

post++;

for(i=0;i<post;i++)

{

num[i]=num[i+1];

}

num[post-1]=n;

for(k=0;k<6;k++)

printf("%d ",num[k]);

printf("\n");

}

void del(int n)

{

int i;

int k;

int post=n;

for(i=post-1;i>0;i--)

{

num[i]=num[i-1];

}

num[0]=0;

for(k=0;k<6;k++)

printf("%d ",num[k]);

printf("\n");

}

void ret()

{

int i,k;

for(i=0;i<6;i++)

num[i]=0;

for(k=0;k<6;k++)

printf("%d ",num[k]);

printf("\n");

}

main()

{

int n,i;

char chr;

for(i=0;i<6;i++)

num[i]=0;

for(i=0;i<6;i++)

printf("%d ",num[i]);

printf("\n");

while(1)

{

scanf("%c,%d",&chr,&n);

if(chr=='A')

add(n);

else if(chr=='D')

del(n);

else if(chr=='R')

ret();

}

}

运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: