C语言怎么输出一个菱形图案? c语言输出菱形图案:怎样屏幕上显示下列菱形图案?
\u7528C\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u7a0b\u5e8f\u8f93\u51fa\u83f1\u5f62\u56fe\u6848#includeint main(void){ int i,j,k,n; printf("n="); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n+1-i;j++) printf(" "); for(k=1;k<=2*i-1;k++) printf("%c",64+i); printf("\n"); } for(i=1;i<=n-1;i++) { for(j=1;j<=i+1;j++) printf(" "); for(k=1;k<=2*(n-i)-1;k++) printf("%c",65+n-i-1); printf("\n"); } return 0;}
Private Sub Command1_Click()t = 6'\uff08\u8fd9\u91cc\u8bbe\u7f6e\u4eceA\u8d77\u7684\u5b57\u6bcd\u4e2a\u6570\uff0cA-F\u65f6 \u4e3a6 A-Z\u65f6\u4e3a26\uff09For i = 1 To ts = ""For j = 1 To 2 * i - 1s = s & Chr(i + 64)NextPrint Space(t - i) & s & Space(t - i)NextFor i = 1 To t - 1s = ""For j = 1 To (t - i) * 2 - 1s = s & Chr(64 + t - i)NextPrint Space(i) & s & Space(i)NextEnd Sub
C\u8bed\u8a00\u8f93\u51fa\u4e00\u4e2a\u83f1\u5f62\u56fe\u6848\uff08\u6709\u7a0b\u5e8f\uff09
#include
void 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");
菱形,就是如下所示的图形,总行数与总列数相等:
写一个程序,根据用户输入的总行数,打印出菱形。
这个题目主要是找出规律,考察读者的逻辑思维。
你可以从第一行开始,遍历所有的列,也可以从第一列开始,遍历所有的行。
下面的程序从第一行开始,遍历所有的列。
设菱形的总行数为line,总列数为column,当前行为i,当前列为j。上半部分与下半部分的规律不一样,应该分开讨论。
我们着眼于星号(*),思考什么条件下输出星号,总结出如下的规律。
1) 对于上半部分(包括中间一行),当前行与当前列满足如下关系输出星号:
j>=(column+1)/2-(i-1) (column+1)/2-(i-1)为第i行最左边的星号
j<=(column+1)/2+(i-1) (column+1)/2+(i-1)为第i行最右边的星号
2) 对于下半部分,当前行与当前列满足如下关系输出星号:
j>=(column+1)/2-(line-i) (column+1)/2-(line-i)为第i行最左边的星号
j<=(column+1)/2+(line-i) (column+1)/2+(line-i)为第i行最右边的星号
不满足上述条件,则输出空格。
于是写出如下的代码:纯文本复制
#include <stdio.h>#include <stdlib.h>int main(){int line; // 菱形总行数int column; // 菱形总列数int i; // 当前行int j; // 当前列printf("请输入菱形的行数(奇数):");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("
");}return 0;}
绛旓細濡備綍鐢C璇█鎵撳嚭姝g‘鍙繍琛岀殑浜旇鐢*缁勬垚鐨鑿卞舰鍥炬? 鎴戞潵绛 1涓鍥炵瓟 #鐑# 涓轰粈涔堝瓟瀛愬儚浼氶洉鍒诲湪缇庢渶楂樻硶闄㈢殑闂ㄦィ涔嬩笂?shine1991 绉戞妧鍙戠儳鍙 1 鍒嗛挓鍓 路 鏅鸿兘瀹跺眳/鏁扮爜/鎵嬫満/鏅鸿兘瀹剁數浜у搧閮芥噦鐐 鐭ラ亾椤剁骇绛斾富 鍥炵瓟閲:4.6涓 閲囩撼鐜:82% 甯姪鐨勪汉:2浜 鎴戜篃鍘荤瓟棰樿闂釜浜洪〉 鍏虫敞 灞曞紑...
绛旓細姝ら瑙f硶锛屾垜灏嗚繖涓鑿卞舰鏀惧湪浜涓涓浜岀淮鏁扮粍涓紝鍥犱负鐢ㄤ簩缁存暟缁勫彲浠ョ晫瀹歑鐨勮竟鐣岋紝姣旇緝鏂逛究涓鐐广 寰幆杈撳嚭鐨勬椂鍊欙紝鐗瑰埆娉ㄦ剰寰幆璺冲嚭鐨勬潯浠讹紝浣犵敾涓簩缁存暟缁勶紝浣撲細涓涓嬮噷闈㈢殑鏁板鍏崇郴锛屽涓婃満鏀规敼浠g爜锛屽懙鍛点傝鐗瑰埆娉ㄦ剰 q 鐨勭敤閫斿摝銆#include void main() { #define N 7 //瀹氫箟浜岀淮鏁扮粍鐨勮鍜屽垪 ...
绛旓細\n");return;}if (n%2==0) { /*鑿卞舰蹇呴』涓哄鏁拌*/printf ("鑿卞舰鍥炬蹇呴』涓哄鏁拌锛乗n");return;}for (i=0; i<n/2+1; i++) { /*鍓嶅崐娈*/for (j=0; j<n/2-i; j++) /*鍓嶉潰鐨勭┖鏍*/printf (" ");for (j=0; j<2*i+1;j++) /*杈撳嚭绗﹀彿*/printf ("*");...
绛旓細include <stdio.h>void print(int k){ int i,j,n;n = k/2+1; for(i = 0;i<n;i++) { for(j=0;j<n-i; j ++) putchar(' '); for(j = 0; j<2*i+1; j++) putchar('*'); putchar('\n'); } for(i = n-2; i>=0; i --)...
绛旓細灏辨槸浣跨敤浜岄噸寰幆锛屾墦鍗板钩闈鍥惧舰锛岃繖涓▼搴忕湅鏉ユ槸鎵撳嵃涓涓彵褰鐨鍥炬锛岀敱*鍙风粍鎴 include<stdio.h> main(){ int i,j,k;for(i=1; i<=4; i++)//鑿卞舰鐨勪笂鍗婇儴鍒 { for(j=1; j<=4-i; j++)//杩欎釜寰幆鎵撳嵃姣忚鍓嶉潰鐨勭┖鏍 printf(" ");for(k=1; k<=i; k++)//杩欎釜寰幆鎵撳嵃闂撮殧...
绛旓細include "stdio.h"int main(void){ int i, j, n;int repeat, ri;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){ scanf("%d", &n);for(i=1;i<=2*n-1;i++){ if(i<=n){ for(j=1;j<=(n-i)*2;j++){ printf(" ");} for(j=1;j<=2*i-1;j++)...
绛旓細include "stdio.h"int main(int argc,char *argv[]){int n,i,j,k;printf("Input n(int n>0)...\nn=");if(scanf("%d",&n)!=1 || n<1){printf("Input error, exit...\n");return 0;}for(j=i=1;i>0;j++<n/2+1 ? i+=2 : i-=2){printf("%*.*s",40-i/2,...
绛旓細//鎵撳嵃妫卞舰瀛楁瘝//娉ㄦ剰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>int main(void){int i,j,k;char ch;printf("璇疯緭鍏涓涓浠e啓瀛楁瘝:");scanf("%c"...
绛旓細include <stdio.h>#include <math.h>#define N (3)#define STR "***"int main(void) {int i;for(i=-N;i<N+1;++i){printf("%*.*s\n",2*N-abs(i)+1,(N-abs(i))*2+1,STR);}return 0;}
绛旓細鑿卞舰鐨勮鏁板拰鍒楁暟鏄竴琛岀殑锛屾墍浠ユ垜鐨勬濊矾鏄厛杈撳叆鎬昏鏁帮紝瀹冧竴瀹氭槸濂囨暟锛岀劧鍚庤绠楀嚭姣忎竴琛岀殑绌烘牸鏁板拰*鐨勪釜鏁帮紝鐒跺悗鍒嗗埆杈撳嚭绌烘牸鍜*銆備笂鍗婇儴鍒嗭細 mi = i * 2 + 1; //*涓暟space = row - (i * 2 + 1); //绌烘牸涓暟 涓嬪崐閮ㄥ垎锛 mi = row - 2 - i *2; //*涓暟space = ...