C语言编程,用*组成菱形

 我来答
iiiiiiiipl
2019-07-08 · TA获得超过9923个赞
知道答主
回答量:68
采纳率:66%
帮助的人:3.8万
展开全部

#include <stdio.h>

#include <stdlib.h>

int main(){

int line=7;  // 菱形总行数

int column;  // 菱形总列数

int i;  // 当前行

int j;  // 当前列

printf("请输入菱形的行数(奇数):7\n");

scanf("%d", &line);

if(line%2==0){  // 判断是否是奇数

printf("必须输入奇数!\n");

exit(1);

}

column = line;  // 总行数和总列数相同

for(i=1; i<=line; i++){  // 遍历所有行

if(i<(line+1)/2+1){  // 上半部分(包括中间一行)

for(j=1; j<=column; j++){  // 遍历上半部分的所有列

if( (column+1)/2-(i-1)<=j && j<=(column+1)/2+(i-1) ){

printf("*");

}else{

printf(" ");

}

}

}else{  // 下半部分

for(j=1; j<=column; j++){  // 遍历下半部分的所有列

if( (column+1)/2-(line-i)<=j && j<=(column+1)/2+(line-i) ){

printf("*");

}else{

printf(" ");

}

}

}

printf("\n");

}

return 0;

}

扩展资料:

C语言书写规则:

1、一个说明或一个语句占一行。

2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

参考资料:

百度百科-c语言

w413749250
2015-05-06 · TA获得超过364个赞
知道小有建树答主
回答量:401
采纳率:60%
帮助的人:214万
展开全部
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    int n;
    int i,j;
    printf("请输入n:");
    scanf("%d",&n);
    for(i=0;i<=n;i++)//上半部分
    {
        for(j=1;j<=n-i;j++)//每行前边空格
        {
            putchar(' ');
        }
        for(j=1;j<=2*i+1;j++)//每行输出的#
        {
            putchar('#');
        }
        putchar('\n');
    }
    for(i=1;i<=n;i++)//下半部分
    {
        for(j=1;j<=i;j++)
        {
            putchar(' ');
        }
        for(j=2*(n-i)+1;j>0;j--)
        {
            putchar('#');
        }
        putchar('\n');
    }
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友08be24b
推荐于2016-02-13 · TA获得超过118个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:109万
展开全部
void main(){
    int i,j,k;
    for(i=0;i<=4;i++){
        for(j=0;j<=3-i;j++)
            printf(" ");
        for(k=0;k<=2*i;k++){
            if (k%2==0) {
                printf("*");
            }else{
                printf(" ");
            }
        }
        printf("\n");
    }
    for(i=0;i<=3;i++){
        for(j=0;j<=i;j++)
            printf(" ");
        for(k=0;k<=6-2*i;k++){
            if (k%2==0) {
                printf("*");
            }else{
                printf(" ");
            }
        }
        printf("\n");
    }
}

纯手打, 望采纳~~~

追问
谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
longlonglala
推荐于2018-02-27 · TA获得超过640个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:83.8万
展开全部
#include<stdio.h>
int main()
{
int i,j,k,n;//定义四个变量:i是行,j每行*号前的空格数,k每行的*号数
printf("please input odd n:");
scanf("%d",&n); //输入奇数n
for (i=0;i<n;i++) //循环所有行
{
if(n>=2*i+1) //判断k值
k=2*i+1;
else
k=2*n-2*i-1;
for(j=(n-k)/2;j>0;j--) //循环输出空格
printf(" ");
for(;k>0;k--) //循环输出*号
printf("*");
printf("n"); //输出回车结束一行
}
当年考试我直接输出···然后把图形画上去了,老师表扬了我的机智后表示以后下不为例
追问
谢谢啦
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式