游戏开发论坛

 找回密码
 立即注册
搜索
查看: 9623|回复: 35

面试失败,帮帮我吧!!!

[复制链接]

13

主题

113

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2008-6-12 10:10:00 | 显示全部楼层 |阅读模式
哎,只身来到上海,为的就是找个游戏程序员的工作。我觉得我在学校学得还行的,可是一到面试。。。。。。。。。。哎![em17]

大家来看看这到题,大学里很常见,没把它放在眼里,可是现在却被难住了:

设计一个程序,判断学生成绩的优劣。用户输入分数,小于60分不及格,60 =< 并且 < 75及格, 75 =< 并且 < 90良好,90 <= 并且 <= 100 优秀。 要求程序中不得出现if、else、while、for关健字,不得使用任何判断、循环语句、不得嵌入汇编

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2008-6-12 10:30:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

#define BU_JI_GE 0
#define JI_GE    1
……
char* levelStr[] = {"及格",不及格,……};

int level[100];

level[0] = BU_JI_GE;
level[1] = BU_JI_GE;
……
Level[59] = BU_JI_GE;
level[60] = JI_GE;
level[61] = JI_GE;
……

int mark;
cin >> mark;
cout << levelStr[level[mark]];

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-6-12 10:33:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

三元运算嵌套+sprintf
这题也有够损的。
完全不使用判断,和上面差不多,用枚举类型也可以,那样太无聊了

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2008-6-12 10:38:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

或者

char* levelStr[] = {"及格",不及格,……};

cin >> mark;

int zhiShaoBuJiGe = mark / 60;
int zhiShaoJiGe = mark / 75;
int zhiShaoLiangHao = mark / 90;
……
int level = zhiShaoBuJiGe + zhiShaoJiGe + zhiShaoLiangHao + ……
cout << levelStr[level];

45

主题

1163

帖子

1165

积分

金牌会员

Rank: 6Rank: 6

积分
1165
发表于 2008-6-12 10:38:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main()
{
        int in;
        char *out[5] = {"不及格", "及格", "良好", "优秀", "超出范围"};

        cout << "please enter you score: ";
        cin >> in;
        cout << endl;

        int temp = in / 60;
        int index = temp + temp * ( (in-60) / 15 );

        cout << out[index] << endl;

        return 0;
}

13

主题

113

帖子

113

积分

注册会员

Rank: 2

积分
113
 楼主| 发表于 2008-6-12 10:44:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

呵呵,没想到这么快就有答案了!忘了说,不能出现任何判断、比较

比如 >= <= > <的不能用

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2008-6-12 13:11:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

VB.Net版的

Public Function GetLevel(ByVal Value As Integer) As String
        Dim Level(7) As String
        Level(7) = "优秀"
        Level(3) = "良好"
        Level(1) = "及格"
        Level(0) = "不及格"
        Dim N1 As Byte = Value \ 90
        Dim N2 As Byte = Value \ 75
        Dim N3 As Byte = Value \ 60
        Return Level(N1 << 2 Or N2 << 1 Or N3)
End Function

看如此的限定与其说是考某方面能力,倒更象是在表达一种态度——即使本公司程序力量不够、美术力量不够、策划力量不够......为了营销捞钱,产品也必须面世!

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2008-6-12 14:40:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

脑筋急转弯……

2

主题

9

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2008-6-12 15:04:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

我刚学。。。。

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
        int iPut;
        char level[7]={'D','D','D','D','C','B','A'};
        cout << "please put your score:" << endl;
        cin >> iPut;
        iPut/=15;
        cout << "The level is:" << level[iPut] << endl;
        return 0;
}

12

主题

128

帖子

128

积分

注册会员

Rank: 2

积分
128
发表于 2008-6-12 15:29:00 | 显示全部楼层

Re:面试失败,帮帮我吧!!!

厌恶这种题
不明白其意义何在

int main()
{
  char result[4][10] = {"不及格", "及格", "良好", "优秀"};
  int point = 0;
  cin >> point;
  point = point/15 - 3;
  point = (point + abs(point))/2;
  point = 3 - ( (3 - point) + abs(point - 3) )/2;
  cout << result[point] << endl;
  return 0;
}

没有试过
我觉得应该差不多
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 03:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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