| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1164 人关注过本帖
标题:输入一个学生成绩并在已知的10个学生成绩中查找是否有相同的并打出个数
只看楼主 加入收藏
traveller、z
Rank: 2
等 级:论坛游民
帖 子:49
专家分:34
注 册:2014-12-2
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:11 
输入一个学生成绩并在已知的10个学生成绩中查找是否有相同的并打出个数
#include<stdio.h>
void main()
{
    float a[10];
    int i, k, s = 0;
    printf("输入已知的10名学生成绩:\n");
    for (i = 0; i < 10; i++)
    {
        printf("a[%d]=", i);
        scanf("%d", &a[i]);
    }
    printf("再输入另一个学生成绩:");
    scanf("%d", &k);
    for (i = 0; i < 10; i++)
    {
        if (k == a[i])
            s++;
    }
    printf("有%d个学生成绩相同", s);
}

这个程序打出的总数始终为0,咋个回事呀?求大神帮帮看看哪里错了
2015-01-21 10:28
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:5 
修改
scanf("%d", &a[i]);为scanf("%f", &a[i]);

~~~~~~我的明天我知道~~~。
2015-01-21 10:52
clangge
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2015-1-21
收藏
得分:5 
数据类型不同,数组中是float类型,k是整数类型,比较肯定不等
2015-01-21 11:21
traveller、z
Rank: 2
等 级:论坛游民
帖 子:49
专家分:34
注 册:2014-12-2
收藏
得分:0 
回复 2楼 xufan
嗯谢谢

学习!!!
2015-01-21 11:24
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:5 
你那个k的类型也不对吧,怎么十个人都是float型,要找的人是int型?

一片落叶掉进了回忆的流年。
2015-01-21 17:09
traveller、z
Rank: 2
等 级:论坛游民
帖 子:49
专家分:34
注 册:2014-12-2
收藏
得分:0 
回复 5楼 诸葛欧阳
float型不是范围要广一些么

学习!!!
2015-01-21 21:25
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
回复 6楼 traveller、z
这样用不太好,最好比较双方数据类型相同

一片落叶掉进了回忆的流年。
2015-01-22 00:32
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
回复 6楼 traveller、z
这样用不太好,最好比较的两方数据类型相同

一片落叶掉进了回忆的流年。
2015-01-22 00:32
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:5 
程序代码:
#include <stdio.h>
#include <float.h>
#include <math.h>

#define N 10

int main(int argc, char **argv) {
    int s = 0;
    double score[N], tmpScore, *p;
    puts("请输入各位学生的成绩");

    for(p = score; p < score + N; p++) {
        scanf("%lf", p);
    }

    puts("请输入要查找的成绩");
    scanf("%lf", &tmpScore);

    for(p = score; p < score + N; p++) {
        if(fabs(tmpScore - *p) < DBL_EPSILON) {
            s++;
        }
    }

    printf("找到了 %d 个相同成绩\n", s);
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2015-01-22 14:29
traveller、z
Rank: 2
等 级:论坛游民
帖 子:49
专家分:34
注 册:2014-12-2
收藏
得分:0 
回复 9楼 longwu9t
看起来感觉更复杂了样?

学习!!!
2015-02-01 21:40
快速回复:输入一个学生成绩并在已知的10个学生成绩中查找是否有相同的并打出个数 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012633 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved