简单面试题(二)

原创 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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

数据库面试题---SQL中遇到多条相同内容只取一条的最简单实现

SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别, 这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项。 如下:表timeand ...

中兴面试题:简单的背包问题的两种思路

问题描述: 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来。这是一个简单的背包问题 算法: 有一些分析认为此题有两种...

简单面试题知识点复习 (部分)

OC语言的基本特点 oc语言室C语言的一个超集,知识在C的基础上加了面向对象的特性; OC与Java语言相同都是单继承,这一点与C++语言不同(C++多重继承); OC不支持命名空间机制,取而代...

面试题strtoi实现(一)—— 函数的简单实现

最近参加了一场面试,面试官给出的一道面试题是实现strtoi,结果悲催的跪倒在这道题上。 事后,分析和总结了这次失利的情况。内功有待增强,临场发挥很欠缺,特别不该在匆忙,欠准备中做事情。 当然,针...

【Cuda并行编程之一】二分查找的探究以及Cuda的简单实现&&相关面试题介绍

最近开始复习基础找工作,二分查找算是最基本而且十分重要的算法了,现在完整的解析一下,作为后面复习只用。内容分为几个部分: 一、二分查找的基本过程 折半查找技术,又称为二分查找。它的前提条件...

基于面试题String与StringBuffer区别引出的简单深入

String,StringBuffer以及StringBuilder区别分析以及测试 本篇的个人理解也是站在巨人的肩膀上进行了个人的总结,同时对部分源码的简单分析

【Cuda并行编程之一】二分查找的探究以及Cuda的简单实现&&相关面试题介绍

编程之美 编程珠玑 C语言缺陷 bsearch()

面试题之双向链表简单详述

双向链表其实是单链表的改进,对单链表进行操作时,有时要对某个节点的直接前驱进行操作,又必须从表头开始查找。由于单链表每个节点只有一个直接后继节点存储地址的练域,因此运用单链表无法办到,这样就引出了一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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