gpt4 book ai didi

C 输入作业

转载 作者:行者123 更新时间:2023-12-04 05:11:35 25 4
gpt4 key购买 nike

我对 C 很陌生,正在解决家庭作业问题。我们需要编写一个程序,从用户那里接收 10 个数字,然后输出平均值、最高和最低数字。我有看起来像正确的代码,但输出刚刚好。这是我到目前为止所拥有的

#include <stdio.h>

int main() {
int num1, num2, num3, num4, num5, num6, num7, num8, num9, num10;

printf("Enter 10 grades sperated by commas, then press enter: ");
scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",num1,num2,num3,num4,num5,num6,num7,num8,&num9,&num10);getchar();

int numbers[] = {num1,num2,num3,num4,num5,num6,num7,num8,num9,num10};

int avg = (num1+num2+num3+num4+num5+num6+num7+num8+num9+num10)/10;

printf("The average is: %d",avg);

int high = num1;
for(int i=0; i<10; i++) {
if (numbers[i] > high) {
high = numbers[i];
}
}
printf("The highest grade is: %d",high);

int low = num1;
for(int i=0; i<10; i++) {
if (numbers[i] < low) {
low = numbers[i];
}
}
printf("The lowest number is: %d",low);

return 0;
}

如果有人能让我深入了解我做错了什么,我将不胜感激。谢谢!

最佳答案

调用 scanf ,你没有服用 地址 每个numX .你只取num9的地址和 num10当您将它们全部传递给 scanf 时.

你想要的是:

scanf("%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",&num1,&num2,&num3,&num4,&num5,&num6,&num7,&num8,&num9,&num10);

在 C 中, &运算符为您提供变量的地址(也称为指针)。 scanf function 期望您将指针传递给变量,因此它可以修改实际变量。

此外,为了让您的代码不那么笨拙,您可能需要考虑摆脱所有这些 numX变量并直接读入输入数组。

关于C 输入作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14867751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com