程序设计的其他问题
2015-11-20 23:25
232 查看
面试题1:下面的switch语句输出什么?
代码:
int n= 'C';
switch(n++)
{
default:printf("error"); break;
case‘a’:
case' A':
case'b':
case' B':
printf("ab");break;
case' c': case' C': printf("c");
case' d': case' D': printf("d");
}
A: cdd B cd C abcd D cderror
答案:B
面试题2:上机题目描述:选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与score[]数组对应的评委类别,judge_type==1,表示专家评委,judge_type==2,表示大众评委,n表示评委总数。 打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分=专家评委平均分 *0.6+大众评委* 0.4,总分取整。 函数最终返回选手得分。
函数接口: int score(int n, int score[], int judge_type[]);
解析: 上机题目都是很简单的,但是考的就是考虑问题全面与否。
int CallScore ( int N, int * Score , int * Judge _type)
{
int ret = 0, n =0, m=0;
double sum1 =0, sum2 = 0;//评分可能出现小数,所以要用双精度
if(N&&Score&&Judge_type)
{
for(int i =0; i<N; ++i)
{
switch(Judge_type[i])
{
case 1: sum1 + = Score[i]; ++n; break;
case 2: sum2+= Score[i]; ++m; break;
default:; //舍弃不符合要求数据
}
if(n) sum1 = int (sum1/n);//考虑到专家人数可能为0,务必确保除数不为0;
if(m) sum2 = int (sum2/m);//考虑到大众评委人数可能为0,务必确保除数不为0;
ret= m?sum1*0.6+sum2*0.4:sum1;// 最后总分数去整数,要把double转换成int
}
}
return ret;
}
代码:
int n= 'C';
switch(n++)
{
default:printf("error"); break;
case‘a’:
case' A':
case'b':
case' B':
printf("ab");break;
case' c': case' C': printf("c");
case' d': case' D': printf("d");
}
A: cdd B cd C abcd D cderror
答案:B
面试题2:上机题目描述:选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与score[]数组对应的评委类别,judge_type==1,表示专家评委,judge_type==2,表示大众评委,n表示评委总数。 打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分=专家评委平均分 *0.6+大众评委* 0.4,总分取整。 函数最终返回选手得分。
函数接口: int score(int n, int score[], int judge_type[]);
解析: 上机题目都是很简单的,但是考的就是考虑问题全面与否。
int CallScore ( int N, int * Score , int * Judge _type)
{
int ret = 0, n =0, m=0;
double sum1 =0, sum2 = 0;//评分可能出现小数,所以要用双精度
if(N&&Score&&Judge_type)
{
for(int i =0; i<N; ++i)
{
switch(Judge_type[i])
{
case 1: sum1 + = Score[i]; ++n; break;
case 2: sum2+= Score[i]; ++m; break;
default:; //舍弃不符合要求数据
}
if(n) sum1 = int (sum1/n);//考虑到专家人数可能为0,务必确保除数不为0;
if(m) sum2 = int (sum2/m);//考虑到大众评委人数可能为0,务必确保除数不为0;
ret= m?sum1*0.6+sum2*0.4:sum1;// 最后总分数去整数,要把double转换成int
}
}
return ret;
}
相关文章推荐
- 使用mutt命令发送邮件(Centos/RHEL) For Gmail
- 你曾后悔进入 IT 行业吗?
- [BZOJ1196] [HNOI2006]公路修建问题
- C#命名管道通信
- 电视剧推荐
- 梅森素数判定模板
- git如何回退到原来之前一个版本
- 主库创建存储过程时从库显示 Error 1049
- c#进程间通信(Inter-Process Communication)
- GPUImage简单滤镜使用(二)
- pat 1071 Speech Patterns
- 百度手环 资料
- mongodb--写操作
- [Django架构流程分析]请求处理机制其二:Django中间件的解析
- C# 进程间通信(共享内存)
- 如何在html文件中导入header、footer等
- Apache服务器的vhost------可实现在同一台服务器上放置多个网站
- 模拟库函数
- 【操作系统】进程间通信(C#)
- 从 MVC 到前后端分离——转自:OSChina 黄勇