【发布时间】:2015-02-12 23:38:25
【问题描述】:
我有这个程序提示用户输入一个数字,这个数字将是消息在输出中打印的行数。但是,我要打印的每条偶数行都打印消息(“Hello”)和要打印的每条奇数消息(“Hello Again!”),但我不知道该怎么做。这是我到目前为止所得到的。
#include <stdio.h>
int main()
{
int lines;
int i;
printf("How many times would you like me to repeat it?\n");
scanf("%d", &lines);
for (i=0;i<=lines;i++)
{
if (lines%i=0){
printf("Hello!\n");
}
else {
printf("Hello Again!\n");
}
}
return 0;
}
【问题讨论】:
-
在你的循环中尝试
if(i % 2 == 0)来区分奇数和偶数。 -
你的大括号不匹配,并且缩进(和行间距)到处都是。代码甚至不会按原样编译;请更正。
-
在你的
for循环中,把<= lines改成< lines,否则循环实际上会执行lines+ 1次。 -
始终检查 scanf() 的返回值以确保操作成功
-
输出的第一行是奇数行(需要Hello Again!)还是偶数行(需要Hello)?目前,您正在将其视为(或尝试将其视为)它是一条偶数线而不是奇数线。但是,首先打印 Hello Again 似乎也很奇怪,因此您的处理可能是正确的,即使问题的描述并不像应有的那样准确。
标签: c loops for-loop printf alternating