C语言实现乘法对应行数星号输出问题求助
问题修正:按乘法结果输出对应数量星号
你的代码问题出在调用displayAst函数时的传参——你一直传入的是原始输入的数字a,而不是当前乘法式子的结果a*i。要实现每行输出对应乘法结果数量的星号,只需要修改displayMulti函数里的传参即可。
修正后的完整代码
void displayAst (int b) { for (int i = 1; i <= b ; i++) { printf ("*"); } } void displayMulti (int a) { for (int i = 1; i <= 10 ; i++) { printf ("\n%d x %d = ", a, i); // 把传参从a改成a*i,用乘法结果作为星号数量 displayAst (a * i); } } int main () { int nNum; printf ("Enter Number: "); scanf ("%d", &nNum); displayMulti (nNum); return 0; }
关键修改说明
- 在
displayMulti的循环中,调用displayAst时,将参数从a替换为a * i,这样每次循环都会计算当前乘法式子的结果(比如输入3时,i=1传3,i=2传6,直到i=10传30),从而输出对应数量的星号。
内容的提问来源于stack exchange,提问作者KenKeneshel
相关产品推荐
相关产品推荐

