工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2492|回复: 18

考你IQ的程序题

[复制链接]
发表于 2006-6-28 11:39 | 显示全部楼层 |阅读模式
初学C语言时,一般会遇到这样的题目。
要求:输入0-100的分数,小于60的则输出“不及格”,大于60小于等于70的输出“一般”,70-80的输出“良好”,80以上的输出“优秀”。

现在加上条件:不得用if,switch来实现,想想怎么办

考考IQ,有空的就做做看,只要符合要求,可以不择手段
发表于 2006-6-28 12:15 | 显示全部楼层

用三目运算符 ?:

用三目运算符 ?:
回复

使用道具 举报

 楼主| 发表于 2006-6-28 12:25 | 显示全部楼层
嵌套用三目运算符,一个不错的方法。
楼下继续。。。
回复

使用道具 举报

发表于 2006-6-28 14:44 | 显示全部楼层
main()
{float score;
char grade;
printf("");
scanf("%f",&score);
switch((int)(score/10))
       {case 10:
        case 9:grade='A';break;
        case 8:grade='B';break;
        case 7:grade='C';break;
        case 6:grade='D';break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:grade='E';
       }
  printf("%5.1f,%c,\n",score,grade);
}
回复

使用道具 举报

发表于 2006-6-28 16:06 | 显示全部楼层
楼上的用了switch
回复

使用道具 举报

发表于 2006-6-28 16:12 | 显示全部楼层
用java写:

String level ;  //等级
int score;  //分数

//处理输入,略。

level  = score>=60?"一般":"不及格";
level  = score>=70?"良好":level;
level  = score>=80?"优秀":level;
level  = score>100||score<0?"出错":level;
回复

使用道具 举报

 楼主| 发表于 2006-6-28 16:21 | 显示全部楼层
4楼没看清题目!
楼上什么都用JAVA的说。
楼下继续。。。
回复

使用道具 举报

发表于 2006-6-28 16:26 | 显示全部楼层
呵呵
眼大睇过笼~
回复

使用道具 举报

发表于 2006-6-28 18:10 | 显示全部楼层
level[0~5]="不及格";
level[6]="一般";
level[7]="良好";
level[8]="优秀";
level[9]="优秀";
level[10]="优秀";
k=scroe/10;
printf("%s",level[k]);
回复

使用道具 举报

 楼主| 发表于 2006-6-28 18:16 | 显示全部楼层
楼上这个方法和我想的一样!
我还有个方法,可能很快也有人想出来了.
楼下继续......
回复

使用道具 举报

发表于 2006-6-28 20:37 | 显示全部楼层
用MOD.
回复

使用道具 举报

 楼主| 发表于 2006-6-28 21:20 | 显示全部楼层
MOD是求模吗?
不懂,可不可以详细点.
回复

使用道具 举报

 楼主| 发表于 2006-6-30 00:00 | 显示全部楼层
顶上来,明天考完试尽可能多地想出些方法来。
楼下继续。。。
回复

使用道具 举报

 楼主| 发表于 2006-6-30 16:39 | 显示全部楼层
没人玩了。

方法一,用 while 加 break;
方法二,用 for 加 goto
暂时没了。
回复

使用道具 举报

头像被屏蔽
发表于 2006-7-8 19:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2006-7-8 19:17 | 显示全部楼层
感觉C++中非面向对象的部分都属于C
回复

使用道具 举报

发表于 2006-10-2 00:21 | 显示全部楼层
楼主的第二个方法似乎很不安全.
回复

使用道具 举报

 楼主| 发表于 2006-10-2 00:34 | 显示全部楼层
原帖由 needyou 于 2006-10-2 00:21 发表
楼主的第二个方法似乎很不安全.


这个测试只是用来玩玩的,为达目的不择手段.
是不是因为用到 goto ,让人觉得不安全。其实我也没有在实际中用过 goto
回复

使用道具 举报

发表于 2006-10-2 08:09 | 显示全部楼层
想到用while来写,可惜没有耐心想下去。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-5-15 13:22

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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