gpt4 book ai didi

C代码;带输入的嵌套 do while 循环

转载 作者:行者123 更新时间:2023-11-30 17:18:00 25 4
gpt4 key购买 nike

前几天我在 C 代码问题上得到了一些很棒的帮助,希望这个可以生成类似的响应。第一个任务是编写代码来接受未知数量的名称。其次是允许为每个名称输入未知数量的值(等级),并对每组值进行平均并与名称一起打印。有a similar thread我阅读并找到了一些灵​​感,但它仍然无法正确编译。

我没有与这段代码的任何特定部分结婚,但我试图通过嵌套的 Do...while 循环来保持简单。我尝试了几种不同的方法,但都无法优雅地表达分配给未知数量的人的未知数量的值。

我希望系统会提示用户输入名称,然后只要该值没有被清空,就会立即提示用户输入在运行总计中列出的成绩值。当 Grade 的值为空时,循环退出并对总和进行平均。名称和平均值会一起打印,直到名称值为空,然后子程序退出。非常感谢社区的任何意见。

#include <stdio.h>
#include <math.h>

int main(){

char b, stu_name;
float grade, sum, avg;
int i,counter;
do{
printf("Enter a student's name? \n");
scanf("%s", &stu_name);

do{
printf("How many grades are to be entered for this student? \n");
scanf("%d", &i);

for (counter = 0; counter < i; counter++) {
printf("Enter %s's grade, hit enter and enter another \n");
scanf("%f", &grade);
sum = sum + grade;


} while (grade != '\0');
avg = sum/i;

printf("GPA for %s is %f\n", stu_name,avg);
printf("Press any key to enter another student");
scanf("%c",b);
}while (b != '\0');
return(0);}

最佳答案

正如 Helio Santos 指出的那样,您缺少 for 循环中的结束大括号。

您还遇到各种语法类型问题:

  • 对于“输入成绩”提示,您需要 %c 而不是 %s,因为您只需要将 Stu_name 定义为 char 而不是 char[]
  • 内部 Do/While 循环的末尾应该检查 i,而不是 Grade
  • 该检查还应该针对 scanf 可以在您的设置中返回的值; %d 将强制尝试获取数值

关于C代码;带输入的嵌套 do while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312527/

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