鱼C论坛

 找回密码
 立即注册
查看: 581|回复: 3

C语言 字符串 和字符

[复制链接]
发表于 2024-5-11 10:46:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

#define M 100

int max_Num_name(int *num, int m)
{
        int i;
        int n = 0;
        int max = num[0];
        
        for(i = 0; i < m; i++)
        {
                if(max <= num[i])
                {
                        max = num[i];
                        n = i;
                }
        }
        
        return n;
}

int max_Prce_name(float *price, int m)
{
        int i, n = 0;
        float max = price[0];
        
        for(i = 0; i < m; i++)
                {
                        if(max <= price[i])
                        {
                                        max = price[i];
                                        n = i;
                        }
                }
        
        return n;
}

//float sum_Price(*price, *num)
//{
//        float sum = 0;
//        
//        
//        
//        return sum;
//}

int main (void)
{
        char name[M];
        int num[M];
        float price[M];
        
        int m;
        printf("请输入商品的数量(m不大于100):");
        scanf("%d", &m);
        
        int i, j, k;
        for(i = 0; i < m; i++)
        {
                printf("请输入商品的名称:");
                scanf("%s", &name[i]);
                printf("请输入商品的数量:");
                scanf("%d", &num[i]);
                printf("请输入商品的单价");
                scanf("%f", &price[i]);
        }
        
        int a = max_Num_name(num, m);
        printf("数量最多的商品名称是:%s\n", name[a]);
        
        int b = max_Prce_name(price, m);
        printf("单价最高的商品名称是:%c\n", name[b]);
        
        
//        float sum = sum_Price(price, num);
//        printf("商品总价是:%f", sum);
        
        
        return 0;
}

@FishC,哪里出问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-11 10:46:33 | 显示全部楼层
在你的代码中,你定义了一个函数`max_Num_name`来找到一个数组中的最大值。然而,我注意到你的代码中有一些错误。

首先,你定义了一个整型数组`num`,但是你在比较最大值时却使用了`num`,这是不正确的。应该使用`num[i]`来访问数组中的每个元素。

其次,你没有给变量`max`赋初值,这可能会导致错误的结果。你可以将`max`初始化为`0`或者数组中的第一个元素`num[0]`。

最后,你没有在`if`语句中写入条件判断的逻辑,导致代码不完整。

下面是修正后的代码:
#include <stdio.h>

#define M 100

int max_Num_name(int *num, int m)
{
    int i;
    int n = 0;
    int max = num[0];
    
    for(i = 0; i < m; i++)
    {
        if(num[i] > max)  // 比较当前元素和最大值
        {
            max = num[i];  // 更新最大值
            n = i;         // 记录最大值的索引
        }
    }
    
    return n;
}

int main()
{
    int num[M] = {5, 2, 7, 1, 9};
    int maxIndex = max_Num_name(num, 5);
    
    printf("The maximum number is at index %d\n", maxIndex);
    
    return 0;
}

这段代码中,我们使用了一个`for`循环来遍历数组中的每个元素,并将当前元素与最大值进行比较。如果找到更大的元素,则更新`max`和`n`的值。最后,我们返回记录最大值索引的变量`n`。

在`main`函数中,我们创建了一个包含一些数字的数组`num`,并调用`max_Num_name`函数来查找最大值的索引。然后,我们使用`printf`函数打印出结果。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-11 11:06:30 | 显示全部楼层
FishC 发表于 2024-5-11 10:46
在你的代码中,你定义了一个函数`max_Num_name`来找到一个数组中的最大值。然而,我注意到你的代码中有一些 ...

我的71行出现一个错误,帮我看下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-11 11:06:48 | 显示全部楼层
liyifeng295641 发表于 2024-05-11 11:06
我的71行出现一个错误,帮我看下


抱歉,我之前的回答中有一个错误。在第71行,我们需要将`num`作为数组来访问,因此需要使用索引`i`来访问数组中的每个元素。下面是修改后的代码:
#include <stdio.h>

#define M 100

int max_Num_name(int *num, int m)
{
    int i;
    int n = 0;
    int max = num[0]; // 将max初始化为数组的第一个元素
    
    for(i = 1; i < m; i++) // 从第二个元素开始比较
    {
        if(num[i] > max)  // 比较当前元素和最大值
        {
            max = num[i];  // 更新最大值
            n = i;         // 记录最大值的索引
        }
    }
    
    return n;
}

int main()
{
    int num[] = {5, 2, 7, 1, 9}; // 创建包含一些数字的数组
    int maxIndex = max_Num_name(num, 5);
    
    printf("The maximum number is at index %d\n", maxIndex);
    
    return 0;
}

这段代码中,我们将`max`初始化为数组的第一个元素`num[0]`,并从第二个元素开始进行比较。在`if`语句中,我们使用`num[i]`来访问数组中的每个元素。

在`main`函数中,我们创建一个包含一些数字的数组`num`,并调用`max_Num_name`函数来查找最大值的索引。然后,我们使用`printf`函数打印结果。

希望这次回答能够解决你的问题。如果还有其他疑问,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 00:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表