设为首页收藏本站

河南工业大学论坛|工大小窝|河南工业大学BBS|惜缘论坛|2006-2021工大小窝一直在你身边!

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1051|回复: 1
打印 上一主题 下一主题

我面试时的一道题--喊三出列

[复制链接]
跳转到指定楼层
1
发表于 2009-3-27 13:28:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天公司招人,让我给一个应聘者,考试一下,我觉的大家都刚毕业,能力还不是很强,所以就出了一道喊三出列的题,这道题很经典,在多数教材也有,或者是其变种。
问题:10个人依次报数,喊三的人出列,然后继续报数,人报完后,再轮回来继续喊数,输出出列人的次序。
问题很简单,但是他没有答出来,在此给各位师弟师妹们看看,希望能有所认知?在应聘时,我们要努力答出来,就算是很蹩脚的实现,也行!!



解答:

#include "stdio.h"
void del(int a[],int i,int gg);
int  main()
{
        int a[10]={1,2,3,4,5,6,7,8,9,10};
        int k=0;
        int g=10;
        int y=1;
        while(y)
        {
                int i=0;
                for(i=0;i<g;i++)
                {
                        k++;
                        if(k%3==0)
                        {
                                printf("%d\n",a);
                                del(a,i,g);
                                g--;
                                k=1;
                        }
                        if(i==g)
                        {
                                i=0;
                        }
                        if(g==1)
                        {
                                y=0;
                                break;

                        }
                }
        }
        return 0;
}
void del(int a[],int i,int gg)
{
        int j=0;
        for(j=i;j<gg;j++)
        {
                a[j]=a[j+1];
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
2
 楼主| 发表于 2009-3-27 13:32:57 | 只看该作者
忘记说了,是C语言实现,C语言是公共课程,大多数学院专业都学习,更是计算机专业首门课程(一般都是以C入门的吧,反正我们是了)。
最后,希望各位师弟师妹,都找到如意的工作!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|工大小窝 ( 豫ICP备06010094号  

GMT+8, 2024-4-30 16:03 , Processed in 0.123289 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表