|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
怎么改我的这个程序:- #include <stdio.h>
- int main()
- {
- int i,j,k;
- for(i=0;i<=3;i++)//输出上面4行*号
- {for(j=0;j<=2-i;i++)//输出一行(若干行*)
- printf(" ");
- for(k=0;k<=2*i;k++)
- printf("*");//输出一行(若干行*号)
- printf("\n"); //输出完一行*号后换行
- }
- for(i=0;i<=2;i++)//输出下面3行*号
- {for(j=0;j<=i;j++)
- printf(" ");//输出*号前面的空格
- for(k=0;k<=4-2*i;k++)
- printf("*");//输出一行(若干行)*号
- printf("\n");
- }
- return 0;
- }
复制代码
让这个程序打印出下面这个程序的图案:- /*#include <stdio.h>
- int main()
- {
- printf(" * \n\n");
- printf(" *** \n\n");
- printf(" ***** \n\n");
- printf("*******\n\n");
- printf(" *****\n\n");
- printf(" *** \n\n");
- printf(" * \n\n");
- return 0;
- }*/
复制代码
你的程序中有一些错误,例如在第一个for循环中,你在第二个for循环中使用了i而不是j。另外,你的程序没有正确地打印出空格和星号的数量。以下是修复后的程序,它可以打印出你想要的图案:
- #include <stdio.h>
- int main() {
- int i, j, k;
- for(i = 0; i <= 3; i++) { // 输出上面4行*号
- for(j = 0; j < 3 - i; j++) // 输出*号前面的空格
- printf(" ");
- for(k = 0; k < 2 * i + 1; k++) // 输出一行(若干行*号)
- printf("*");
- printf("\
- "); // 输出完一行*号后换行
- }
- for(i = 0; i <= 2; i++) { // 输出下面3行*号
- for(j = 0; j <= i; j++) // 输出*号前面的空格
- printf(" ");
- for(k = 0; k < 5 - 2 * i; k++) // 输出一行(若干行)*号
- printf("*");
- printf("\
- ");
- }
- return 0;
- }
复制代码
这个程序将打印出以下图案:
- *
- ***
- [b][/b]*
- [b][/b]***
- [b][/b]*
- ***
- *
复制代码
这个图案与你在注释中给出的程序打印的图案相同。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
|
|