C语言练习——多行“V”的输出
问题描述:
若要输出下面的三行v,该怎么办?如果要输出多行v呢?
方法一:直接打印
void OutputV1()//直接输出
{
printf("v v\n");
printf(" v v \n");
printf(" v \n");
}
int main(){
printf("直接输出的图形如下:\n");
OutputV1();
return 0;
}
输出结果:
***方法二:逐行判断
void OutputV2(int n)//逐行计算
{
for (int i = 1; i < n+1 ; i++)//循环的行数
{
for (int j = 1; j < 2 * n ; j++)//每行要输出的次数
{
if (j == i||j==2*n-i)//判断要输出的对象
{
printf("v");
}
else
{
printf(" ");
}
}
printf("\n");
}
}
int main(){
int n = 1;
printf("请输入您要输出的行数:");
scanf("%d", &n);
printf("逐行计算后输出的图形如下:\n");
OutputV2(n);
return 0;
}
方法三:循环
void OutputV3(int n)//循环
{
for (int i = 1; i < n + 1; i++)//循环的行数
{
for (int j = 1; j < i; j++)//左下角空格的循环输出
{
printf(" ");
}
printf("v");//输出左侧的“v”
for (int j = 0; j < 2 * n - 2 * i - 1; j++)//中间空格的循环输出
{
printf(" ");
}
if (i != n)//因为最后一行只有一个“v”,避免重复输出
{
printf("v");
}
for (int j = 1; j < i; j++)//右下角空格的循环输出
{
printf(" ");
}
printf("\n");
}
}
int main(){
int n = 1;
printf("请输入您要输出的行数:");
scanf("%d", &n);
printf("循环后输出的图形如下:\n");
OutputV3(n);
return 0;
}