【发布时间】:2014-09-30 04:42:52
【问题描述】:
Example input: 20 10 5 20 2 20 20 20 2 2 0
Output:
(20*5)
(10*1)
(5*1)
(2*3)
我这个学期刚开始编程,需要在一个项目上得到帮助。如果我的问题不清楚,我深表歉意。
所以基本上我必须输入正整数,直到我输入“0”才会结束程序。我不允许使用数组(无论这意味着什么)。
#include <stdio.h>
int main ()
{
int number, count=0
while(1)
{
scanf("%d",&number);
if (number!=0)
{
count++; continue;
}
else
{
printf("%d*%d",number,count);
break;
}
return 0;
}
我如何存储这些多个数字,这样我就不会与之前的数字重叠,并且每次输入重复的数字时都加 1?我不能向我的教授寻求帮助;他只是告诉我谷歌它。
“某工程仪器由连续数(整数)的输入控制。 如果有相同数量的运行,该设备可以优化其性能。因此我们 想要安排数据以表明即将开始运行。编写一个 C 程序 读取一个数字序列并以 (n∗m) 的形式打印出每一轮数字,其中 m 是重复 n 次的次数。请注意,一次运行只能包含一个数字。这 输入数字以零结尾,这会停止设备。”
【问题讨论】:
-
@BeginnerProgrammer 你可以查一下,维基百科似乎有一个不错的解释,但如果你的教授还没有教给你,我怀疑他的意图是让你使用它们。可以发一下作业的全文吗?正如您所说,不使用数组似乎不合理。
-
作业显示为
(n*m),但输出的格式似乎为(m*n)。也就是说,根据您的老师对问题的回答,我会说完成这项作业的方法是找到一位新老师。 -
@chouaib 有趣的是,他使用数组来格式化
scanf和printf,因此也违反了这条规则。 -
@Namfuak 一位不知道“run”和“count”之间区别的教授可能不会注意到 const char 数组。 :P
-
@Happy 也许下一个任务是给出一个程序,它返回内存分页方案中连续页面访问的计数。