使用代码块编写重复提示输入的c程序

时间:2014-12-05 01:10:26

标签: c codeblocks

关键点,我使用Codeblocks编写这个程序,需要编写的目的只是编写C而不是其他内容。我希望它尽可能基本。所以这是我到目前为止的混乱。

我需要这个程序继续向用户询问一个值,直到1-29之间,直到它达到176.一旦超过176,我需要做的就是打印数字的总和,输入的最大数字和最小数字输入的号码。

从那里程序需要循环并询问是否输入另一组数字。使用适当的用户输入终止程序。我需要输出以下信息:

  • 所有数字的总和
  • 输入的最大数字
  • 输入的最小数字

如果有人有任何建议可以帮助很多。

/* Matthew Gambrell CSC 120 12/4/14*/

#include <stdio.h>

main ()
{
  int total, num, large, small, again;

  again=1;

  while (again==1);
  {
    total = 0;
    large = 0;
    small = 50;
  }

  while(total<=176);
  {
    num=inputNum();
    total=tot(num, total);
    large=CheckLarge(num, total);
    small=CheckSmall(num, small);}
    printresult(total, large, small);
    printf("play again");
    printf("1=yes 0=no");
    scanf("%d", &again);
  }

  float inputNum();
  {
    float badnum, num;
    badnum=1;
    while (badnum==1);
      printf("please enter a number between 1 and 29");
      scanf("%f", &num);
    if(num>0 and num<30)
      badnum = 0;
    else
      printf("error renter");
      getch("press enter to continue");
    return(num)
  }

  tot(num, total)
  total += num
  return (total)
}

return(num)

1 个答案:

答案 0 :(得分:0)

就像你的同学说的那样,你可以在循环中使用循环来做到这一点。代码的结构使它看起来像是你的目标。

首先,如评论中所述,从while(..);语句的末尾删除分号。这将允许控件输入您在其下面定义的块。

其次,您可能希望在第二个while循环结束后为第一个while循环放置右括号。这是你在循环中的'循环'结构。

第三,您目前没有任何真正的方式来显示您的结果。通常,您的int main(){ ... }函数会返回与您的程序相关的数字。虽然您可以让它返回total变量,但您更希望它变为return 0;,并在程序执行期间将变量输出到屏幕。

例如,正如您在inputNum(..)中的输入解析中所做的那样,您可以编写

printf('The total is %i\n', total);
printf('The largest number entered was %i\n', large);
printf('The smallest number entered was %i\n', small);

这些数字(largesmall)需要在你的(第一个)while循环中 - 它们应该在每次循环重启时重置,但不是每次输入数字时都重置。< / p>