当前位置:首页 » 编程语言 » c语言怎么用循环打印菱形
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么用循环打印菱形

发布时间: 2023-01-11 01:16:25

1. 如何用c语言打印空心菱形(要求for循环)

题目错了吧,如果你输入偶数就不会有◇啊,只有这个题目
由键盘输入正数n,要求输出2*n+1行的菱形图案,要求菱形左边紧靠屏幕左边
#include "stdio.h"
main()
{ int i,j;
int n;

scanf("%d",&n);
for(i=0;i<=n+1;i++)
{ for(j=n-i;j>=0;j--)
printf(" ");
for(j=0;j<i;j++)
printf("* ");
printf("\n"); }
for(i=0;i<n;i++)
{ for(j=0;j<i+1;j++)
printf(" ");
for(j=n-i;j>0;j--)
printf("* ");
printf("\n"); }
getch();
}

2. c语言输出菱形

工具/材料

ubuntu+vim+gcc

  • 01

    首先,输入预处理指令#include <stdio.h>与函数原型void print(int n)。
    其中,n表示行数。

  • 02

    然后,对输入的n进行提前判断,若小于0或为偶数,则结束打印。

  • 03

    接着对上半个菱形进行输出(包括最长的行)。使用两层循环进行输出,分别控制行数与行内的位置。

  • 04

    接着对下半个菱形进行输出(包括最长的行)。也使用两层循环进行输出,分别控制行数与行内的位置。

  • 05

    对n=5与n=7进行输出测试,代码如下。

  • 06

    编译运行后的结果如下

  • 07

    以下是所有的代码:
    #include <stdio.h>

    void print(int n)
    {
    //判断n是否符合正奇数的要求
    if(n < 0 || n % 2 == 0)
    //不符合则直接退出
    return;
    //对上半个菱形输出
    int i = 1,j = 1;
    //i控制行数
    for(i = 1; i <= (n + 1) / 2; i++)
    {
    //j控制每一行的位置
    //输出空格
    for(j = 1; j <= (n+1)/2 - i; j++)
    printf(" ");
    //输出*
    for(j = 1; j <= 2 * i - 1; j++)
    printf("*");
    //输出换行
    printf(" ");
    }
    //输出下一半
    //i控制行数
    for(i = 1; i <= n/2; i++)
    {
    //j控制每一行的位置
    //输出空格
    for(j = 1; j <= i; j++)
    printf(" ");
    //输出*
    for(j = 1; j <= n -2 * i; j++)
    printf("*");
    //输出换行
    printf(" ");
    }
    }

    //测试函数,测试n=5和n=7
    int main()
    {
    printf("5 ");
    print(5);
    printf("7 ");
    print(7);
    return 0;
    }

3. 用c语言中的for循环输出菱形

#include <stdio.h>
int main()
{
int A=3;
scanf("%d",&A);

int i,j,x,a,b,c,d,e,f,g;
for(i=1;i<=A+1;i++)
{
for(x=A;x>=i;x--)
{
printf(" ");
}
for(a=1;a<=i;a++)
{
printf("*");
}
for(b=0;b<=i-2;b++)
{
printf("*");
}
for(c=A;c>=i;c--)
{
printf(" ");
}
printf("\n");
}
for(j=1;j<=A;j++)

for(d=1;d<=j;d++)
{
printf(" ");
}
for(e=A;e>=j;e--)
{
printf("*");
}
for(f=A-1;f>=j;f--)
{
printf("*");
}
for(g=0;g<=j-1;g++)
{
printf(" ");
}
printf("\n");
}
return 0;
}

要打出图片题目中所示菱形,只需run下程序,输入3即可(即input A=3)。代码中的那个A可以理解为菱形的横对角线的*的数量减1后的一半。以上代码适合初学者,因为我也是个初学者,对于C语言高手来说,我这个复杂了,我的思路是四个小三角形拼出一个菱形的。。。你run下看可不可以?然后由于这个答案输出框的条件限制,输出的格式,如空格换行等那些会没显示到

4. 用c语言编写一段程序,输出菱形图案

main()
{
inti,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf("");
for(k=0;k<=2*i;k++)
printf("*");
printf(" ");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=i;j++)
printf("");
for(k=0;k<=4-2*i;k++)
printf("*");
printf(" ");
}
}

5. 如何用c语言编写程序,打印一个空心菱形,用循环写

#include <stdio.h>

int main(void){
int i,j,k;
//上半空心菱形
for(i=1;i<=10;i++){ //控制行数 10行
for(k=10;k>i;k--){ //第一行 9空格1* i=2 8空格 2*
printf(" ");
}
//当i=1时 由第25行代码输出*
if(i == 1){}
else{
printf(" *");
}
//空心空格个数打印 0 2 4 6 16个
for(j=1;j<2*i-2;j++){
printf(" ");
}
printf(" *");
printf(" ");
}
//下空心菱形
for(i=1;i<=9;i++){ //去掉最长行 只有9行
//空格增多 1 2 3...9
for(k=1;k<=i;k++){
printf(" ");
}
//最后一行*号由代码43行执行
if(i == 9){}
else{
printf(" *");
}
//空心空格个数打印 15 13 ....1 注意空格是15开始 1结束
for(j=1;j<=17-2*i;j++){ //i=9时候 打印0个空格
printf(" ");
}
printf(" *"); //打印每行后出现的*
printf(" ");//换行
}
}

6. 用c语言for循环打印空心菱形有什么思路

  1. 先打上正三角形,后打下倒三角形,倒三角形少一行最长行。

  2. 每一行无论打多少符号,都只打第一个和最后一个,中间全用空格代替。

变成代码如下,注意看注释。

#include"stdio.h"
#defineN7
intmain(void){
inti,j,t;
for(i=1;i<=N;i++){//上三角形行循环
for(j=0;j<39-i;printf(""),j++);//把光标右移到该行第一个符号的列
t=(i<<1)-1;//算出最后一个符号的列t
for(j=1;j<=t;j++)//当前行的打印循环
printf("%c",(j==1||j==t?'*':''));//由j==1||j==t判断该打'*'还是''
printf(" ");//打完一行要回车
}
for(i=N-1;i>0;i--){//下三角形少一行最长的,所以i从N-1开始到1
for(j=0;j<39-i;printf(""),j++);
t=(i<<1)-1;
for(j=1;j<=t;j++)
printf("%c",(j==1||j==t?'*':''));
printf(" ");
}
return0;
}

7. C语言编程,用一个for循环打印菱形

# include<stdio.h>
# include<stdlib.h>
void main()
{
int i,j,a,b,n;
printf("please enter size");
scanf("%d",&n);
for(i=1;i<n;i++)
{
for(j=1;j<=n+i-1;j++)
if(j==n-i+1 ||j==n+i-1)
printf("*");
else
printf(" ");
printf("\n");
}
for(i=1;i<=2*n-1;i++)
printf("*");
printf("\n");
for(a=1;a<n;a++)
{
for(b=1;b<=2*n-a-1;b++)
if(b==n-(n-a-1)||b==2*n-a-1)
printf("*");
else
printf(" ");
printf("\n");}
}
主要考虑用for循环来解决问题,把菱形分成两部分,先打印第一部分,然后打印第二部分。

8. 用c语言 for循环打印菱形 看图

#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1-n;i<=n-1;i++)
{
for(j=0;j<abs(i);j++)
printf(" ");
for(j=0;j<2*(n-abs(i))-1;j++)
printf("*");
printf(" ");
}
return 0;
}

9. C语言,打印菱形【嵌套循环】

#include<stdio.h>
voidmain()
{
inti,j,m,n;
scanf("%d",&n);
for(i=n;i>=-n;i--)
{
m=i;if(m<0)m=-m;
for(j=0;j<n*2+1;j++)
if(j==m||j==n*2-m)
printf("*");
elseprintf(".");
printf(" ");
}
}