Ⅰ 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;
}