第一个问题是INPUT 第一个随机数:5和第二个随机数:20,所以输出将是5,6,7,8,9,10,11,12,13,14,15,16, 17,18,19,20。这一项有效。
#include<stdio.h>
main()
{
int i=5,num1,num2;
printf("Enter a 1st random number: ");
scanf("%d", &num1);
printf("Enter 2nd random number: ");
scanf("%d", &num2);
while(i<=20)
{
printf("\n %d",i);
i=i+1;
}
int ii = 7,num,numb;
printf("\n Enter a 1st random number: ");
scanf("%d", &num);
printf("\n Enter 2nd random number: ");
scanf("%d", &numb);
while (ii == 2)
{
printf("%d\n", i);
i++;
}
getch();
}
第二个问题没有打印出预期的结果:INPUT 第一个随机数:7和第二个随机数:2,所以OUTPUT应该是7,6,5,4,3,2。但这不起作用。
之所以不希望使用数字序列,是因为在第二个循环中,您正在打印i
而不是ii
,而且您永远不会减少它,因此它永远不会到达目标2
。
以这种方式修改您的代码:
#include<stdio.h>
int main()
{
int i=5,num1,num2;
printf("Enter a 1st random number: ");
scanf("%d", &num1);
printf("Enter 2nd random number: ");
scanf("%d", &num2);
while(i<=20)
{
printf("\n %d",i);
i=i+1;
}
int ii = 7,num,numb;
printf("\n Enter a 1st random number: ");
scanf("%d", &num);
printf("\n Enter 2nd random number: ");
scanf("%d", &numb);
while (ii >= 2)
{
printf("%d\n", ii);
ii--;
}
return 0;
}
但是,我确定这不是所需的行为,因为您从未使用过输入中接收到的值。
在下面的演示程序中,正确管理了输入数字,并且根据num1
和num2
之间的关系,打印顺序是升序还是降序。
#include<stdio.h>
int main()
{
int i, num1, num2;
printf("Enter a 1st random number: ");
scanf("%d", &num1);
printf("Enter 2nd random number: ");
scanf("%d", &num2);
i = num1;
while(1)
{
printf("\n %d",i);
if(num1 < num2)
{
i++;
if(i > num2)
break;
}
else
{
i--;
if(i < num2)
break;
}
}
return 0;
}