| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2973 人关注过本帖
标题:for中嵌套if有点问题,求助
取消只看楼主 加入收藏
想了很多网名
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-11-22
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:4 
for中嵌套if有点问题,求助
题目;输入十个学生的成绩,放在一维数组中,找出成绩最高的学生的成绩和该生的序号。
以下是我编写的的代码
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    float a[10],max=0;
    int i,imax;
    printf("请输入十个学生的成绩;\n");
    for(i=0;i<10;i++)
    {
        scanf("%f",&a[i]);
        if(a[i]>max)
        max=a[i];
        imax=i;
    }
    printf("最高成绩:%6.2f\n该生序号;%d",max,imax);
    return 0;
}

出现的问题:随便输入十个数,能找出最大的数,但是不能正确的输出该数的序号,imax始终等于9,这是怎么回事啊?请教一下各位
搜索更多相关主题的帖子: for 序号 学生 max 成绩 
2019-12-31 16:41
想了很多网名
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-11-22
收藏
得分:0 
回复 2楼 叶纤
scanf("%f",&a[i])的意思是:输入一个实数,将其存放在数组中序号为i的元素中。
2020-01-01 13:43
想了很多网名
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-11-22
收藏
得分:0 
回复 6楼 叶纤
好的    谢谢咯
2020-01-02 14:48
想了很多网名
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-11-22
收藏
得分:0 
回复 4楼 叶纤
我刚又仔细的看了一下,i总是等于一个固定的数的原因:
 imax=i;  这个语句不是在if语句的范围内,而是在for的范围内。用一个大括号把  max=a[i]; 和imax=i;括起来就行了。还有就是imax=i;要改为imax=i+1;         
    尴尬啊。
2020-01-02 15:19
想了很多网名
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2019-11-22
收藏
得分:0 
回复 11楼 叶纤
好的,谢谢
2020-01-06 09:58
快速回复:for中嵌套if有点问题,求助
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022587 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved