用C语言编程输出*排成的菱形是怎么编?

作者&投稿:师是 (若有异议请与网页底部的电邮联系)
用C语言编程 输出*号排列成的菱形~

#include
int diffabs(int a,int b) { // 返回a,b差值的绝对值,即|a - b|
return (a > b) ? (a - b) : (b - a);
}
void Lozenge(unsigned int n,char c) { // a为菱形边长,b为组成菱形的字符
unsigned int i,j,m;
for(i = 0;i < n;i++) {
m = diffabs(n/2,i);
for(j = 0;j < m;j++) printf(" "); // 输出每行前导空格
for(j = 0;j < 2*(n/2 - m) + 1;j++) printf("%c",c);
printf("
");
}
}
int main() {
Lozenge(11,'*');
printf("
");
return 0;
}

#include void main() { int i,j,k; for(i=1;i<=4;i++) //先打印上边的四行 { for(j=1;j<=4-i;j++) //控制要打印的空格数量 printf(" "); for(k=1;k<=2*i-1;k++) //控制要打印的星号数 printf("*"); printf("
"); } for(i=1;i<=3;i++) { for(j=1;j<=i;j++) //控制要打印的空格数 printf(" "); for(k=1;k<=7-2*i;k++) //控制要打印的星号数 printf("*"); printf("
"); } }

扩展资料:
for循环
for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:
for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)
表达式
表达式1为初值表达式,用于在循环开始前为循环变量赋初值。
表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。
表达式3为循环控制变量修改表达式,它使for循环趋向结束。
循环体语句是在循环控制条件成立的情况下被反复执行的语句。
但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。
先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。
for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。
do
do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。
while
while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件
以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。
参考资料:C语言-百度百科

main(){
int i,j,k;
for(i=0;i<=2;i++){
for(j=0;j<2-i;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("*");
printf("\n");
}
for(i=0;i<=1;i++){
for(j=0;j<=i;j++)
printf(" ");
for(k=0;k<=2-2*i;k++)
printf("*");
printf("\n");
}

getch();
}

打印效果是 *
***
*****
***
*
我来给你解释!
把图案分为上下两部分来看.上部分为3行,下部分为2行。
程序中的定义是
for(i=0;i<=2;i++) 这个是外层循环,控制行数的.
再看规律,当再第一行的时候,也就是i=0的时候
接着往下看内层循环.for(j=0;j<2-i;j++)
当i=0时候,i传进来,也就是for(j=0;j<2;j++)
j能取到2次值0和1,取0时候打印一个空格,取1的时候再打一个空格
此时,i=0的时候打印空格的FOR循环结束,它打印出2个空格.接着进入打印*号的循环.for(k=0;k<=2*i;k++)
i=0时候 k就能取到一次值0所以打印一个*接着上面2个空格的后面
最后回车printf("\n");进入i=1也就是进入上部分第二层的循环.
......
下半部分和上面的意思一样.自己仔细想明白吧.
我觉得我已经说道极限了..

#include"stdio.h"
int
main()
{
for(int
i=-3;i<=3;i++){
for(int
j=0;j<(i>0?i:-i);j++)
printf("
");
for(j=0;j<(i>0?-2*i+7:2*i+7);j++)
printf("*");
printf("\n");
}
return
0;
}

*
* *
* *
* *
* *
* *
*

嘿嘿

我才初一哦!!~

#include"stdio.h"
int main() {
for(int i=-3;i<=3;i++){
for(int j=0;j<(i>0?i:-i);j++)
printf(" ");
for(j=0;j<(i>0?-2*i+7:2*i+7);j++)
printf("*");
printf("\n");
}
return 0;
}

main()
{
int i,j;
for(i=1;i<=3;i++)
{
for(j=0;j<=3-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");

}
for(i=4;i<=5;i++)
{ for(j=0;j<=i-3;j++)
printf(" ");
for(j=1;j<=2*(5-i)+1;j++)
printf("*");
printf("\n");
}
}


用C语言编程:打印由字符A、B、C、D组成的所有全排列。
which];for(m=which;m>here;m--)a[m]=a[m-1];a[m]=temp;} for(n=here+1;n<lenth;n++)move(here+1,n);if(here!=which)for(m=0;m<lenth;m++)a[m]=b[m];} else {printf("%-10s",a);count++;} } 运行程序时输入ABCD即可本程序可以输入任意字符序列。如12345等。

C语言编程,从键盘输入四个整数,按照数值从小到大顺序输出
源代码如下:include<stdio.h> int main( ){ int num[4];for(int i = 0 ; i < 4 ; i++){ scanf("%d", num+i);} for(int i = 0 ; i < 4 ; i++){ int k = i;for(int j = i+1 ; j < 4 ; j++){ if(num[k] > num[j]){ k = j;} } if(k != i){...

用C语言编程实现国家名称按序输出,要求键盘输入五个国家的名字,按字母...
include<stdio.h> include<string.h> void fun(char*_s[]){ char*p;for(int i=0;i<5;i++){\/\/对指针数组进行冒泡排序 for(int j=1;j<5-i;j++){ if(strcmp(_s[j-1],_s[j])>0){ p=_s[j];_s[j]=_s[j-1];_s[j-1]=p;} } } } int main(){ int i=0;char ...

c语言 给出一个数怎样输出该数的全排列
C语言版:include<stdio.h>#include<stdlib.h>#include<string.h>int a[10], book[10], n, k[10], l;void dfs(int step){int i = 0;if(step == l + 1){if(a[1] != 0){for(i = 1; i <= l; i++){printf("%d", a[i]);}printf("\\n");}return ;}for(i = 0...

C语言编程序对学生成绩排名
include int main(){ float score = 0f; printf("请输入成绩:\\n"); scanf("%f", &score); switch ((int)score \/ 10) { case 10: case 9: printf("优秀\\n"); break; case 8: printf("良好\\n"); break; case 7: printf("中等\\n")...

C语言编程题,输入三个整数,按从大到小的顺序输出
define _CRT_SECURE_NO_WARNINGS include<stdio.h> int main(){ int a,b,c,t;printf("请输入三个整数:\\n");scanf("%d,%d,%d",&a,&b,&c);if(a<b){\/\/完成a和b值的交换,a里面放最大值 t=a;a=b;b=t;} if(a<c){\/\/完成a和c值的交换,a里面放最大值 t=a;a=c;c=t;}...

在c语言编程中 怎样按名次输出同学的姓名和学号
include<stdio.h>#include<malloc.h>typedef struct stuInfo{ int id;\/\/学号 char name[10];\/\/姓名 int score;\/\/成绩 struct stuInfo *next;}STUINFO;void printfStu(STUINFO *stuHead);\/\/打印学生链表void inputInfo(STUINFO *stuHead);\/\/输入学生成绩信息void orderByScore(STUI...

C语言编程 题目描述 使用选择排序法对数组元素进行排序,要求输出每一 ...
include<stdio.h> int main(){int n,i,j,k,t,a[20];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(a[j]<a[k])k=j;t=a[i];a[i]=a[k];a[k]=t;for(j=0;j<n;j++)printf("%d ",a[j])...

用C语言编程:输入5个数,按从小到大顺序输出!?
{ scanf("%d",&array[i]);} for(i = 0 ;i<5;i++)\/\/ 排序主体 { for(j = 5;j>i;j--){ if(array[i]>array[j]){ temp = array[i];array[i] = array[j];array[j] = temp;} } } for(i = 0;i<5;i++){ printf("%5d ",array[i]);\/\/输出 } return 0 ;} ...

任意输入4个整数,从大到小排列输出。c语言程序怎么写?
任意输入4个整数,从大到小排列输出。c语言程序写法:main(){int a,b,c,d,m;scanf("%d %d %d %d",&a,&b,&c,&d);if(b>a){m=a;a=b;b=m;} if(d>c){m=c;c=d;d=m;} if(c>a){m=a;a=c;c=m;} if(c>b);{m=b;b=c;c=m;}printf("\\n%d %d %d %d\\n",a,b...

东昌区15897239399: 用C语言编程输出*排成的菱形是怎么编? -
晏悦甘油: #include"stdio.h" int main() { for(int i=-3;ifor(int j=0;j0?i:-i);j++) printf(" "); for(j=0;j0?-2*i+7:2*i+7);j++) printf("*"); printf("\n"); } return 0; }

东昌区15897239399: 如何用c语言输出一个用*组成的菱形,(用for)语句来 -
晏悦甘油: #include"stdio.h" int main() { for(int i=-3;i<=3;i++){ for(int j=0;j<(i>0?i:-i);j++) printf(" "); for(j=0;j<(i>0?-2*i+7:2*i+7);j++) printf("*"); printf("\n"); } return 0; }

东昌区15897239399: 如何用c语言打印出由*组成的菱形 -
晏悦甘油: #include<conio.h>#include<stdio.h> int main() { int i,j,k,m; printf("please input n: \n"); scanf("%d",&m); for(i=0,k=1;i<m/2;i++,k+=2) { for(j=i; j <m/2; j++) printf(" "); for(j=1;j<k+1;j++) printf("*"); printf("\n"); } if(m%2==0) k-=2; for(i=m/2;i<m;...

东昌区15897239399: *菱形怎样用c语言编程输出?
晏悦甘油: void four()//菱形 { int x; printf("\t\t\t**\t菱形\t**\n"); printf("\t\t\t请您输入需要的尺寸:"); scanf("%d",&x); for(int i=1;i<=x;i++) { for(int j=1;j<=x-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } for(i=1;i<=x-1;i++) { for(int j=1;j<...

东昌区15897239399: 用C语言如何用“*”打印出一个菱形 -
晏悦甘油: #include<stdio.h> int main() { int i,j,h,k; scanf("%d",&h); for(j=0;j<=h/2;j++) { for(i=0;i<=h/2-j;i++) { printf(" "); } printf("*"); for(k=0;k<=2*j-2;k++) { printf(" "); } if(j!=0) printf("*"); printf("\n"); } for(j=0;j<h/2;j++) { for(k=0;k<j+2;k++) { printf(" "...

东昌区15897239399: C语言 输入一个数 输出*的菱形 -
晏悦甘油: 我用C++写的是这样的: #include <iostream> using namespace std; #include <math.h> int main() {int m;cout<<"please input n:";cin>>m;int n=m-1;for(int i=0;i<2*n+1;i++){for(int j=0;j<abs(n-i);j++)cout<<" ";for(int k=0;k<2*(n-abs(i-n))+1;k++)cout<<"*";cout<<endl;}return 0; } 你可以转换成C的~

东昌区15897239399: 如何用c语言编程题输出菱形图形? -
晏悦甘油: #include "stdio.h" void PrintDiamend(int n) { int i,j,k; if(n==0) n=1; for(i=1;i<=n;i++) { for(j=i;j

东昌区15897239399: C语言输出*组成的空心菱形 -
晏悦甘油: #include<stdio.h> main() {int n=0,i=0,j=0;char c='\0';scanf("%c%d",&c,&n);for(i=1;i<n+1;i++){for(j=0;j<n-i;j++) printf(" ");printf("%c",c+i-1);for(j=1;i-1>0>0&&j<=2*i-3;j++) printf(" ");if(i-1>0) printf("%c",c+i-1);printf("\n");}for(i...

东昌区15897239399: 2.C语言做一个*号的菱形
晏悦甘油: #include "stdio.h" #include "conio.h" main() { int i,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("\n"); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(" "); for(k=0;k<=4-2*i;k++) printf("*"); printf("\n"); } getch(); }

东昌区15897239399: C语言 数字金字塔 "*"号摆成菱形 -
晏悦甘油: #include "stdafx.h" void makespacesto( char* dest, int n ); int _tmain( int argc, _tchar* argv[] ) { char spaces[20]; int i, j, n, s; do { printf( "要输出多少行的金字塔?(不得多于 9 )" ); scanf ( "%d", &n ); } while( n > 9 || ns = 0; for( i = 0; i{ ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网