| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 269 人关注过本帖, 1 人收藏
标题:有个语法上的问题求解。。。
只看楼主 加入收藏
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:4 
有个语法上的问题求解。。。
#include <stdio.h>
#include <math.h>
#include <string.h>
void main()
{
    void xspjf(int b[6][11],int x);
    void kcpjf(int b[6][11],int y);
    void zgf(int b[6][11]);
    int a[6][11]={{0,1,2,3,4,5,6,7,8,9,10},{'Y',54,52,96,32,14,58,74,12,23,69},{'S',58,69,74,12,36,98,74,12,36,98},{'L',52,87,45,26,87,96,32,14,78,52},{'H',52,63,98,74,12,33,69,88,44,12},{'W',52,87,45,63,69,63,54,12,39,98}};
    int y,s,l,w,h,r;
        for(y=0;y<6;y++)
        {   
            printf("%5c",a[y][0]);
            for(s=1;s<11;s++)
                printf("%5d",a[y][s]);
                        printf("\n");
        }
        printf("请输入要查找的学生号码:\n");
        scanf("%d",&l);
        if(l>=1&&l<=10)
            xspjf(a,l);
        else
            printf("没有此学生号\n");
        printf("要查询学科平均分请输入 1 ,否则输入0:\n");
        scanf("%d",&w);
        if(w==1)
        {
            printf("查找语文输入 1 \n查找数学输入 2 \n查找物理输入 3 \n查找化学输入 4 \n查找外语输入 5 \n");
            scanf("%d",&h);
            kcpjf(a,h);
        }
        else
            printf("谢谢使用!\n");
        printf("要查询最高分数请输入 1 ,否则输入0:\n");
        scanf("%d",&r);
        if(r==1)
            zgf(a);
        else
            printf("谢谢使用!\n");
}


void xspjf(int b[6][11],int x)
{
    int i,j,df=0;
    for(i=1,j=x;i<6;i++)
        df=df+b[i][j];
    df=df/5;
    printf("该学生的平均分为%d\n",df);
}


void kcpjf(int b[6][11],int y)
{
    int i,j=0,df=0;
    if(y==1||y==2||y==3||y==4||y==5)
    {
        for(i=y,j=1;j<11;j++)
            df=df+b[i][j];
        df=df/10;
        printf("该学科的平均分为%d\n",df);
    }
    else
        printf("没有此学科\n");
}


void zgf(int b[6][11])
{
    int i,j,max,h,l;
    max=b[1][1];
    for(i=1;i<6;i++)
    {
        for(j=1;j<11;j++)
        {
            if(max<b[i][j])
            {
                max=b[i][j];
                h=i;
                l=j;
            }
        }
    }
    if(h==1)
        printf("最高分为%d,学号是%d,学科是语文。\n",max,l);
    else
        if(h==2)
            printf("最高分为%d,学号是%d,学科是数学。\n",max,l);
        else
            if(h==3)
                printf("最高分为%d,学号是%d,学科是物理。\n",max,l);
            else
                if(h==4)
                    printf("最高分为%d,学号是%d,学科是化学。\n",max,l);
                else
                    if(h==5)
                        printf("最高分为%d,学号是%d,学科是外语。\n",max,l);
}

有个语法上的问题求解。。。当查询学科的时候 我本想用字符输入的,但是代码运行时却不执行,所以只有改成输入数字了,求解为什么想用字符输入,代码却不执行?
还有我想让结果的小数也求出来,该怎么改?
2011-07-11 12:00
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:14 
用gets函数读入字串,想求小数就用float类型

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-07-11 13:58
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 2楼 waterstar
我是想输入字符不是字符串
比如语文是Y  我就输入个字符Y查找语文平均分

[ 本帖最后由 hywhll888 于 2011-7-11 14:34 编辑 ]
2011-07-11 14:33
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
回复 3楼 hywhll888
用 getchar()读入字符

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-07-11 21:51
hywhll888
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2011-6-9
收藏
得分:0 
回复 4楼 waterstar
找到原因了 要输入前加上 fflush(stdin) 这个
2011-07-11 22:01
快速回复:有个语法上的问题求解。。。
数据加载中...
 
   



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

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