问题是这样的:"读取两个int数字a和b。 a介于1和10之间,b介于20和50之间。程序必须打印生成的值,并且还必须打印1和b之间存在的倍数。
我写的程序是这样的:
#include <stdio.h>
#include <conio.h>
int main()
{
int a, b;
int num = 0;
printf("\nIntroduce the first number:");
scanf("%d", &a);
printf("\nIntroduce the second number:");
scanf("%d", &b);
for(a = 1; a <= 10; a++)
{
for(b = 20; b <= 50; b++)
{
while(a < b)
num = a * a;
}
printf("\n%d",num);
}
getch();
return 0;
}
这是我写的程序,但我错了。我必须强制使用for funcion,但我不知道如何让程序运行。
所有帮助赞赏!!
答案 0 :(得分:0)
在这里,这将打印出您想要的输出。
#include <stdio.h>
#include <conio.h>
int main() {
int a,b;
int i;
int num=0;
printf("\nIntroduce the first number:");
scanf("%d",&a);
printf("\nIntroduce the second number:");
scanf("%d",&b);
for(i = 1; ;i++) {
num = a * i;
if(num > b)
break;
printf("%d ", num);
}
return 0;
}
我没有包含错误处理的内容,例如如果用户输入超出指定输入范围的值,您应该再次询问它。我建议如果你希望你的程序更强大,你应该包含它。
如果您有任何其他问题,请问:D
答案 1 :(得分:-1)
在num = a * a
之后将printf放在第二个循环中#include <stdio.h>
#include <conio.h>
int main()
{
int a,b;
int num=0;
printf("\nIntroduce the first number:");
scanf("%d",&a);
printf("\nIntroduce the second number:");
scanf("%d",&b);
for(a=1;a<=10;a++)
{
for(b=20;b<=50;b++)
{
while(a<b)
num=a*a;
printf("\n%d",num);
}
}
getch();
return 0;
}