你最甜啦 2021-10-23 11:27 采纳率: 66.7%
浏览 771
已结题

#c语言# 请教有关于 “字符串中的字符无效” 的问题

img

这里我是想用字符所在的行数放到计算中,但是出现了这个问题,编译器就看不到这些字符了,就不能返回相应的行数,这个问题我苦恼了很久,网上说在监视名字那里后面加上 s8 也无济于事。 了解应该怎么办的人请不吝赐教呀!

下面是程序:

#include <stdio.h>
#include <ctype.h>

float compute_GPA(char[], int);

int main(void)
{
    char ch;
    char grades[10] = { '\0' };

    printf("\n\t Input your 10 grades: ");

    int index = 0;
    while ((ch = getchar()) != '\n') {
        if (ch == ' ') {
            continue;
        }
        grades[index++] = toupper(ch);
    }

    printf("\n\t GPA: %.2f ", compute_GPA(grades, 10));

    printf("\n\n");
    return 0;
}

float compute_GPA(char grade[], int length)
{
    int value = 0;

    char grade_value[5][1] = {
        {'F'},
        {'D'},
        {'C'},
        {'B'},
        {'A'}
    };

    for (int i = 0; i < length; i++) {
        for (int j = 0; j < 5; j++) {
            if (grade[i] == grade_value[j]) {
                value += j;
            }
        }
    }

    return ((float)value / (float)length);
}
  • 写回答

1条回答 默认 最新

  • -Undefined_ 2021-10-25 10:22
    关注

    第32行:if (grade[i] == grade_value[j][0])
    grade是一维数组,grade_value是二维数组

    觉得有用的话采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月2日
  • 已采纳回答 10月26日
  • 创建了问题 10月23日

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格