简单面试题(二)

原创 2016年06月02日 09:43:17

题目:
求高于平均分的学生学号及成绩(学号和成绩人工输入)
网上很多公开的算法如下:

double find(int total, int n)
{
     int number, score, average;
     scanf("%d", &number);
     if(number != 0){
         scanf("%d", &score);
         average = find(total+score, n+1);
         if(score >= average)
              printf("%d:%d/n", number, score);
         return average;
     }else{
         printf("Average=%d/n", total/n);
         return total/n;
     }
}
int main(int argc, char* argv[])
{
     find(0, 0);
     return getchar();
}

下面贴上我自己的代码,利用了一个结构体指针,简单复习了一下结构体的知识。

#include <stdio.h>
#include <stdlib.h>
/*
题目要求:求高于平均分的学生学号及成绩(学号和成绩人工输入)
*/
struct stu{
    int id;
    int grade;
}*s;
int main()
{
    s =(struct stu*)malloc(sizeof(struct stu));
    double avg = 0.0,sum = 0.0;
    int i = 0,j = 0;
    while((scanf("%d %d",&s[i].id,&s[i].grade)) != -1 ){
        printf("id = %d,grade = %d\n",s[i].id,s[i].grade);
        sum += s[i].grade;
        i ++;
    }
    avg = sum / i;
    printf("%d,%f\n",i,avg);
    for(j = 0; j < i ;j ++){
        if(s[j].grade > avg)
            printf("id = %d,grade = %d\n",s[j].id,s[j].grade);
    }

    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

ETL架构师面试题(二)

架构 四.在ETL过程中四个基本的过程分别是什么?        Kimball数据仓库构建方法中,ETL的过程和传统的实现方法有一些不同,主要分为四个阶段,分别是抽取(extract)、清洗(cle...
  • leicool_518
  • leicool_518
  • 2015年04月27日 17:46
  • 462

JAVA-简单面试题-算法

2给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。 给出 n = 12, 返回 3 因为 12 = 4 + 4 + ...
  • mzj245073253
  • mzj245073253
  • 2016年09月04日 11:29
  • 549

Android 面试题总结之Android 基础(二)

Android 面试题总结之Android 基础(二) 上一篇面试总结,主要讲了Activity 和Intent ,这篇主要讲剩下的四大组件,面试中基础较多的就是四大组件,需要了解的知识点也很多。...
  • vfush
  • vfush
  • 2016年05月23日 15:55
  • 8315

一道简单而又不简单的面试题

这是本篇文章要讲解的题目,在main方法中定义了两个成员变量a=1,b=2. 现在需要通过swap方法把a和b的值做一个交换,交换以后输出的结果是a=2,b=1.思路1大家看到这道题目的时候一定觉得很...
  • k1280000
  • k1280000
  • 2017年05月04日 11:22
  • 279

c#简单面试题(二)

点击打开链接
  • fanyit123
  • fanyit123
  • 2013年03月31日 16:59
  • 322

面试题:结构体

1、结构体中的冒号作用 下列程序输出结果多少? #include #include typedef struct{ int a:2; int b:2; int c:1; }test; ...
  • starcuan
  • starcuan
  • 2014年03月10日 19:16
  • 966

整理简单面试题

equals与==的区别: 1、==是判断两个变量或实例是不是指向同一个内存空间。 2、equals是判断两个变量或实例所指向的内存空间的值是不是相同。 String、StringBuffer与S...
  • sotong006
  • sotong006
  • 2017年02月07日 11:46
  • 156

一个简单的html面试题思考

用样式控制b在a居中显示 1、题目没说上下居中,只是左右居中的话,很简单 #a{width:100px;height:100px;background:#ff0000;}   #b{width:5...
  • jsyhello
  • jsyhello
  • 2016年09月09日 13:22
  • 240

最简单的AR开发入门教程(二)

**AR开发教程(一)之《Unity3D打包发布》** 本次教程介绍Unity3D打包发布各平台的相关操作,以上一教程的AR工程为资源进行打包发布。 首先,打开上次的AR工程,点击File->Bu...
  • geekerstar
  • geekerstar
  • 2016年09月19日 21:22
  • 1861

程序员面试题精选(50):字符串原地压缩

 题目描述:“eeeeeaaaff"  压缩为 "e5a3f2"代码实现:#include "stdio.h"#include "stdlib.h"void CompressStrInPlace(ch...
  • yysdsyl
  • yysdsyl
  • 2007年12月10日 20:38
  • 3707
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单面试题(二)
举报原因:
原因补充:

(最多只允许输入30个字)