【发布时间】:2016-08-01 07:26:20
【问题描述】:
在这个提示用户输入多项式的简单程序中,
我使用 int 999 作为代表输入结束的值。
但是,这不是一个好的设计,因为用户将无法输入系数为 999 的多项式节点。
是否有可以唯一代表输入结束的替代键?
相关代码:
int coeff;
int expon;
int i = 1;
printf("\nInput for polyNode %d (999 for exit):",i);
printf("\n\tInput coeff : ");
scanf("%d",&coeff);
while(coeff != 999)
{
printf("\tInput expon : ");
scanf("%d",&expon);
insertBack(&polynomial, &polynomialRear, coeff, expon);
i++;
printf("\nInput for polyNode %d (EOF for exit):",i);
printf("\n\tInput coeff : ");
scanf("%d",&coeff);
}
printPoly(polynomial);
printf("\n");
【问题讨论】:
-
不,您必须使用一个永远不能是系数的整数值。如果您可以使用字符串,那么您可以使用一些特定的字符串,例如“END”
-
扫描一串字符,如果可能,使用转换为
int,否则出错或使用非数字字符串值表示终止。 -
为什么你必须在主操作和循环中使用相同的变量?只需使用单独的循环控制变量。
-
您是否考虑先询问系数的数量,然后循环获取该数字?