做网站怎么选服务器,专业网站制作的公司,网站 团队,想创业去哪里找项目目前主要分为三个专栏#xff0c;后续还会添加#xff1a; 专栏如下#xff1a; C语言刷题解析 C语言系列文章 我的成长经历
感谢阅读#xff01;
初来乍到#xff0c;如有错误请指出#xff0c;感谢#xff01; 描述
KiKi学习了循环后续还会添加 专栏如下 C语言刷题解析 C语言系列文章 我的成长经历
感谢阅读
初来乍到如有错误请指出感谢 描述
KiKi学习了循环BoBo老师给他出了一系列打印图案的练习该任务是打印用“*”组成的正方形图案。
输入描述
多组输入一个整数1~20表示正方形的长度也表示输出行数。
输出描述
针对每行输入输出用“*”组成的对应边长的正方形每个“*”后面有一个空格。 思路
/*使用嵌套循环来解决这题
两层嵌套for循环 就和乘法口诀表差不多 由此可以看出当进入第二层循环的时候是从左往右打印当这五个*打印完成之后
换行操作然后进入第一层循环然后继续判断继续从左往右打印*直到循环结束
一开始我也不会写这种题目理不清是怎么一回事
其实只要套入进去就行了然后写完在VS里面调试一下就能明白大概是什么意思了。
*/ 代码 1
/*使用嵌套循环来解决这题两层嵌套for循环 就和乘法口诀表差不多
由此可以看出当进入第二层循环的时候是从左往右打印当这五个*打印完成之后
换行操作然后进入第一层循环然后继续判断继续从左往右打印*直到循环结束
一开始我也不会写这种题目理不清是怎么一回事
其实只要套入进去就行了然后写完在VS里面调试一下就能明白大概是什么意思了。
*/# include stdio.h
int main (){int i 0;while (scanf(%d,i)!EOF){for(int j 1;ji;j)//控制列{for(int n 1;ni;n)//控制行{printf(* );}printf(\n);}} return 0;
}#include stdio.h // 包含标准输入输出库int main() // 主函数的开始
{int i 0; // 定义一个整型变量i用于存储用户输入的数字// 使用while循环读取用户输入直到输入结束EOFwhile (scanf(%d,i)!EOF){// 外层循环控制列数从1开始到用户输入的数字i结束for(int j 1;ji;j){// 内层循环控制行数从1开始到用户输入的数字i结束for(int n 1;ni;n){printf(* ); // 打印一个星号和一个空格}printf(\n); // 内层循环结束后打印一个换行符准备打印下一行}} return 0; // 程序正常结束
}
代码 2
#includestdio.h
int main()
{int x,i;while(scanf(%d,x)!EOF){for(i1;i(x*x);i){if(i%x0){printf(*\n);}elseprintf(* );}}return 0;
}#includestdio.h // 包含标准输入输出库int main() // 主函数的开始
{int x, i; // 定义两个整型变量x和ix用于存储用户输入的数字i用于循环计数// 使用while循环读取用户输入直到输入结束EOFwhile(scanf(%d,x)!EOF){// 外层循环控制总的打印次数即x的平方for(i1; i(x*x); i){// 判断当前打印的星号是否是一行的最后一个if(i%x0) // 如果i能被x整除说明是一行的最后一个星号{printf(*\n); // 打印一个星号后换行开始新的一行}else // 如果不是一行的最后一个星号printf(* ); // 打印一个星号后跟一个空格}}return 0; // 程序正常结束
}
代码 3
#includestdio.h // 包含标准输入输出库int main() // 主函数的开始
{int x; // 定义一个整型变量x用于存储用户输入的数字代表矩阵的边长// 使用while循环读取用户输入直到输入结束EOFwhile(scanf(%d,x)!EOF){// 外层循环控制行从1到xfor(int i1; ix; i){// 内层循环控制列从1到xfor(int j1; jx; j){// 如果是列的最后一个星号打印星号后换行if(jx) printf(*\n);// 否则打印星号后跟一个空格else printf(* );}}}// 主函数结束返回0表示程序正常结束return 0;
}
这段代码通过两层嵌套循环来打印矩阵。
外层循环控制行内层循环控制列。
在内层循环中如果当前是列的最后一个元素即jx则打印一个星号后换行否则打印一个星号后跟一个空格。
这样每完成一行的打印后就会自动换到下一行的开头继续打印直到整个矩阵打印完毕。 扩展 理解题目要求 仔细阅读题目弄清楚需要解决的问题是什么输出的格式是什么样的。 确定循环结构 根据题目要求确定需要几层循环。通常每一层循环对应输出结构中的一个维度。例如打印一个矩阵通常需要两层循环外层循环控制行内层循环控制列。 设计循环变量 为每一层循环定义一个循环变量这个变量通常从1开始到某个特定的值结束。 编写循环体 在循环体内编写需要执行的操作比如打印字符、计算数值等。考虑循环体内的逻辑比如何时换行、何时打印特定的字符等。 处理边界条件 考虑循环的起始和结束条件以及循环变量的取值范围。特别注意循环的终止条件避免无限循环。 测试和调试 编写完代码后进行测试检查输出是否符合预期。使用一些简单的测试用例比如边界值来验证代码的正确性。如果输出不正确使用调试工具或打印语句来逐步跟踪代码的执行过程找出问题所在。 优化代码 在确保代码能够正确运行的基础上考虑是否可以优化循环结构或逻辑使代码更加简洁高效。 编写注释 给关键的代码段添加注释说明代码的功能和逻辑便于他人阅读和理解。 回顾和总结 完成题目后回顾整个解题过程总结经验教训提高解题能力。以打印乘法口诀表为例可以这样思考题目要求打印一个乘法口诀表。循环结构两层循环外层控制行乘数内层控制列被乘数。循环变量外层循环变量从1开始到9结束内层循环变量也从1开始到9结束。循环体在内层循环体内打印乘法表达式和结果每完成一行后换行。边界条件确保循环变量不超过9。测试和调试使用几个简单的数字测试代码比如输入1、2等。优化代码考虑是否可以减少不必要的打印语句使代码更加简洁。编写注释在关键的循环和打印语句处添加注释说明代码的作用。回顾和总结思考如何改进代码比如是否可以使用更少的循环或更简洁的表达式。