简单面试题(二)

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

相关文章推荐

简单面试题::字符串按单词反转

字符串按单词反转 输入格式是:"this is a string" 输出格式是: "string a is this" 要求不能用任何库函数 这个题目看似非常简单,但是用纯C语言且...

一道简单的SQL面试题:查询成绩排名第10到第20的学生

昨天到清早,跑去陆家嘴某金融数据公司面一ETL 岗

web 面试题、简单题、复习题

1. 概述MVC体系结构,各个部分都有那些技术来实现?    M即model(模型,bean(domain)层)由javabean或EJB实现;V即view(视图,显示层)由jsp实现;C即con...

面试题34:简单背包问题

“背包题目”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,…,wn,希看从N件物品中选择若干物品,所选物品的重量之和恰能放进该背包,即所选物品的重量之和即是S...

经典面试题之复杂链表复制的简单实现

本文lz闲暇之余简单实现的复杂链表实现,对于这个问题各位伙伴嗨哟什么好的想法或者思路,欢迎留言交流。 天天博客,daydayup...

一道有趣的面试题 简单DP?

题目有一栋楼共100层,一个鸡蛋从第N层及以上的楼层落下来会摔破, 在第N层以下的楼层落下不会摔破。给你2个鸡蛋,设计方案找出N,并且保证在最坏情况下, 最小化鸡蛋下落的次数。(假设每次摔落时,如果没...

面试题之队列简单详述

队列是一种数据结构,可以在队列的一端插入元素而在队列的另一端删除元素,它有以下特点: (1)允许删除的一端称为队头(front)。 (2)允许插入到一端称为队尾(rear)。 (3)当队列中没有...

JAVA-简单面试题-链表

1、将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并使奇数之间顺序反转,偶数之间顺序反转。 package Node_Swap; import java.util.Scanner; cl...

笔试面试题_华为_《简单错误记录》

题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。  处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单面试题(二)
举报原因:
原因补充:

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