一道c语言改错题
#include<stdio.h>main(){inti,j,k;charch;scanf("%c",&ch);k=ch-'A'+1;for(i=1;i<=k;i++){...
#include<stdio.h>
main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
k=ch-'A';
for (i=k;i>=1;i--)
{
for (i=20;i>=k;i--)
printf("%c",' ');
for (j=1;j<2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
}
要求输入一个大写字母,打印出一个菱形,其中间一行有此字母组成,其相邻上下两行由其前面的字母组成,如 A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A 展开
main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
k=ch-'A';
for (i=k;i>=1;i--)
{
for (i=20;i>=k;i--)
printf("%c",' ');
for (j=1;j<2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
}
要求输入一个大写字母,打印出一个菱形,其中间一行有此字母组成,其相邻上下两行由其前面的字母组成,如 A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A 展开
4个回答
展开全部
#include<stdio.h>
main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=2*i-1;j++) //这里改了
printf("%c",'A'+i-1);
printf("\n");
}
k=ch-'A';
for (i=k;i>=1;i--)
{
for (j=20;j>=i;j--) //这里改了
printf("%c",' ');
for (j=1;j<=2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
}
2013-10-12
展开全部
在原有代码基础上修改:
int main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=i;j++)
printf("%c",'A'+i-1);
//printf("\n");
}
k=ch-'A';
int n;
for (i=1;i<=4;i++)
{
for (n=20;n>k;n--)
printf("%c",' ');
for (j=1;j<2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
for (i=4;i>=1;i--)
{
for (n=20;n>k;n--)
printf("%c",' ');
for (j=1;j<2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
for (j=1;j<=20;j++)
printf("%c",' ');
printf("%c",'A');
printf("\n");
system("pause");
return 0;
}
原有的逻辑很不清晰
还是改一改吧。
int main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=i;j++)
printf("%c",'A'+i-1);
//printf("\n");
}
k=ch-'A';
int n;
for (i=1;i<=4;i++)
{
for (n=20;n>k;n--)
printf("%c",' ');
for (j=1;j<2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
for (i=4;i>=1;i--)
{
for (n=20;n>k;n--)
printf("%c",' ');
for (j=1;j<2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
for (j=1;j<=20;j++)
printf("%c",' ');
printf("%c",'A');
printf("\n");
system("pause");
return 0;
}
原有的逻辑很不清晰
还是改一改吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
for (i=k-1;i>=1;i--)
{
for (j=i;j<=20;j++)
printf("%c",' ');
for (j=1;j<=2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
}
修改完毕,效果如题。
main()
{
int i,j,k;
char ch;
scanf("%c",&ch);
k=ch-'A'+1;
for (i=1;i<=k;i++)
{
for (j=20;j>=i;j--)
printf("%c",' ');
for (j=1;j<=2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
for (i=k-1;i>=1;i--)
{
for (j=i;j<=20;j++)
printf("%c",' ');
for (j=1;j<=2*i-1;j++)
printf("%c",'A'+i-1);
printf("\n");
}
}
修改完毕,效果如题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
远程讲解c语言
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询