数被调用时,形参是真正的变量,在函数调用时,形参获得实参的数据,该数据在本次函数调用中有效,一旦调用完毕,形参的值就会被释放。另外需要注意的是,形参和实参之间的数据传输是单向的,即只能有实参输出给实参,不能由形参传递实参。
循环按照格式读入每组数据即可。对于输入多组数据测试的情况,需要约定结束的类型,常用的有两种:
1 当读入数据为一组特定值时,结束测试。
比如每组2个整型数据,以空格分隔,当输入的两个数均为-1时,结束测试。代码可以写作:
int a,b
while(1)
{
scanf("%d%d",&a,&b)
if(a == -1 &&b == -1) break//退出测试的条件。
//测试代码。
}
2 当读到EOF时,结束测试。
同样读入两个整型数据,以空格分隔,当读到EOF时结束测试。代码可以写作:
int a,b
while(scanf("%d%d",&a,&b) != EOF)//当出现EOF时,结束测试。
{
//测试代码。
}
#include<stdio.h>int GCD(int, int)
int LCM(int, int)
int main()
{
int a, b
do {
scanf("%d%d", &a, &b)
printf("%d\n", LCM(a, b))
} while(a || b)
return 0
}
/* 2个数的最大公约数 */
int GCD(int a,int b) {
int t
while(b) {
t = a % b
a = b
b = t
}
return a
}
/* 2个数的最小公倍数 */
int LCM(int a, int b) {
return a * b / GCD(a, b)
}