我的作业代码要求用户输入5门不同课程的成绩,但是,该代码不能使用多于1条scanf语句来存储变量。
如何使用循环执行此代码所要做的相同的事情?
int courseOne;
int courseTwo;
int courseThree;
int courseFour;
int courseFive;
scanf ("%d", &courseOne);
scanf ("%d", &courseTwo);
scanf ("%d", &courseThree);
scanf ("%d", &courseFour);
scanf ("%d", &courseFive);
谢谢!
编辑:不允许使用数组。在年级标准中明确指出必须为该问题编写一个循环。
scanf
可以读取多个变量。
[与printf
相似,第一个变量是格式,以下包含存储数据的位置。
因此,在您的示例中,您可以使用
scanf ("%d %d %d %d %d" , &courseOne ,&courseTwo ,&courseThree ,&courseFour ,&courseFive);
请参阅manpage了解更多信息。
您在注释中指出禁止使用数组,并且使用了循环。这似乎与我不相容。
可能使用不带数组/指针的循环,但是代码确实很笨,所以您应该选择两种可能性中的一种。
也许您不能使用静态数组int foo[6]
,但可以使用基于指针的数组,例如int* foo = malloc(6*sizeof(int));
。如果不允许,那么您的问题就没有多大意义...