Ⅰ c语言输出一个菱形
用得着6个FOR循环码?
//打印棱形字母
//注意abs(i)+abs(j)<=k
//用数学的角度分析(假设k为2)
//|x|+|y|<=k
//y<=2-x
//y<=x+2
//y>=-x-2
//y>=x-2
#include<stdio.h>
#include<math.h>
intmain(void)
{
inti,j,k;
charch;
printf("请输入一个代写字母:");
scanf("%c",&ch);
k=ch-'A';
for(i=-k;i<=k;i++)
{
for(j=-k;j<=k;j++)
printf(abs(i)+abs(j)<=k?"*":"");
printf(" ");
}
return0;
}
不懂追问我
学过数学,自己画个图你就明白了
Ⅱ c语言输出菱形
按照题目要求编写的C语言输出菱形的程序如下(其中abs()是求绝对值的函数)
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inti,j,N,n;
scanf("%d",&N);
n=(N+1)/2;//计算菱形上层层数
for(i=1;i<=N;i++){
for(j=1;j<=abs(n-i);j++){
printf("");
}
for(j=1;j<=N-2*abs(i-n);j++){
printf("*");
}
printf(" ");
}
return0;
}
Ⅲ C语言菱形
可以进一步优化如下:
#include <stdio.h>
#include <math.h>
void main(void)
{ int i, j, n;
printf("Please input n: ");
scanf("%d", &n);
for (i = 1; i < 2 * n + 1; i++)
{for (j = 1; j < 2 * n + 1; j++)
if (abs(j-n)<(i>n?2*n-i:i))
printf("#");
else printf(" ");
printf("\n");
}
}
Ⅳ 用C语言编程菱形
#include "stdio.h"
main()
{
char a[7][9],ch;
int i,j;
ch='A';
for(i=0;i<4;i++)
{
for(j=0;j<9;j++)
if(j>=(8-i*2)/2&&j<=(8+i*2)/2)
{
a[i][j]=ch;
a[6-i][j]=a[i][j];
}
ch++;
}
for(i=0;i<7;i++)
{
for(j=0;j<9;j++)
{
if(a[i][j]>='A'&&a[i][j]<='D')
printf("%c",a[i][j]);
else printf(" ");
}
printf("\n");
}
}
Ⅳ C语言编程,用*组成菱形
#include<stdio.h>
#include<stdlib.h>
intmain(){
intline=7;//菱形总行数
intcolumn;//菱形总列数
inti;//当前行
intj;//当前列
printf("请输入菱形的行数(奇数):7 ");
scanf("%d",&line);
if(line%2==0){//判断是否是奇数
printf("必须输入奇数! ");
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(" ");
}
return0;
}
(5)c语言代码菱形扩展阅读:
C语言书写规则:
1、一个说明或一个语句占一行。
2、用{}括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
网络-c语言
Ⅵ 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;
}
Ⅶ C语言菱形代码
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j,k;
for ( i=0;i<N;i++ )
{
for ( j=0;j<abs(N/2-i);j++ ) printf(" ");
for ( j=0;j<(N/2-abs(N/2-i))*2+1;j++ ) printf("*");
printf("
");
}
}
Ⅷ C语言中,如何编一个菱形
菱形其实是两个三角形组成,如果你会打印三角形,稍微思考一下就能得到菱形
#include <stdio.h>
int main()
{
int i,j,k;
for (i=1;i<=5;i++) //外层循环控制输出行数
{
for (k=0;k<15-i;k++) //内部第一个循环控制位置
{
printf(" ");
}
for (j=1;j<2*i;j++) //第二个循环打印图案
{
printf("*");
}
printf("\n");
}
for (i=4;i>=1;i--) //打印下边三角形
{
for(k=0;k<15-i;k++)
printf(" ");
for(j=1;j<2*i;j++)
printf("*");
printf("\n");
}
return 1;
}