C语言循环题目
3个回答
展开全部
#include "stdio.h"
int main(void){
int i,j,k,n;
while(1){
printf("Input n(int n>0)...\nn=");
if(scanf("%d",&n) && n>0){
for(k=0,i=1;i>0;++k<n ? i++ : i--){
printf("%*.*s",35-i,1,"");
for(j=0;j<(i<<1)-1;printf("%c",'*'),j++);
printf("\n");
}
break;
}
printf("Error, redo: ");
fflush(stdin);
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for (i=1; i<=N; i++)
{
print_spaces(N-i);
print_stars(2*i - 1);
}
for (i=(N-1); i>0; i--)
{
print_spaces(N-i);
print_stars(2*i - 1);
}
N是输入的行数, print_spaces和print_stars是自己写的子函数,子函数return前需要换行。 我没有运行验证过,但是这是很简洁的程序了,有问题自己修改一下就行了。
{
print_spaces(N-i);
print_stars(2*i - 1);
}
for (i=(N-1); i>0; i--)
{
print_spaces(N-i);
print_stars(2*i - 1);
}
N是输入的行数, print_spaces和print_stars是自己写的子函数,子函数return前需要换行。 我没有运行验证过,但是这是很简洁的程序了,有问题自己修改一下就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询