C語言編程實例之輸出指定圖形問題
C語言輸出指定圖形
用C語言打印指定圖形時,主要就是根據(jù)i(行號) 來確定每一行輸出的數(shù)據(jù)
輸入一個數(shù)字 就可以根據(jù)這個數(shù)字輸出指定的圖形,此算法也可以針對其他情況,比如輸出星型。
本案例分兩部分:接下來找規(guī)律
第一部分1-6逐漸擴大,
(先輸出空格)
第一行 行號1 輸出5個空格
第二行 行號2 輸出4個空格
第三行 行號3 輸出3個空格
第 i 行 行號 i 輸出6-i 個空格
(在輸出數(shù)字)
左半部分 :1-(6-i) 右半部分相同
第二部分:與第一部分相反
#include<stdio.h> int main(){ int n; while(scanf("%d",&n)!=EOF){ for(int i=1;i<=n;i++){ for(int k=n;k>i;k--) printf(" ");//打印空格 for(int j=1;j<=i;j++)printf("%d",j);//打印左半部分 for(j=i-1;j>=1;j--)printf("%d",j);//打印右半部分 printf("\n"); } for( i=1;i<n;i++){ for(int k=i;k>=1;k--) printf(" ");//打印空格 for(int j=1;j<=n-i;j++)printf("%d",j);//打印左半部分 for(j=n-i-1;j>=1;j--)printf("%d",j);//打印右半部分 printf("\n"); } } return 0; }
C語言輸出一個n行m列的圖形
示例
代碼如下
#include <stdio.h> #include <stdlib.h> #define MAX 26 //輸出圖形 void Print(char matrix[MAX][MAX],int n,int m) { int i,j; for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%c",matrix[i][j]); } printf("\n"); } } //實現(xiàn)字母圖形 void Draw(int n,int m) { int i,j; int point=0; char str; char matrix[MAX][MAX]; for(i=0;i<n;i++) { str='A'; for(j=i;j<m;j++) { matrix[i][j]=str++; } //后半部分,第n行n列數(shù)都為A,往后遞增 str='A'; for(j=i-1;j>=0;j--) { matrix[i][j]=++str; } //前半部分,倒著排序 } Print(matrix,n,m); } int main() { int n,m; scanf("%d%d",&n,&m); Draw(n,m); return 0; }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
c++ Protobuf解決數(shù)據(jù)傳輸瓶頸面試精講
這篇文章主要介紹了c++ Protobuf解決數(shù)據(jù)傳輸瓶頸利器面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10C++任意線程通過hwnd實現(xiàn)將操作發(fā)送到UI線程執(zhí)行
做Windows界面開發(fā)時,經(jīng)常需要在多線程環(huán)境中將操作拋到主線程執(zhí)行,下面我們就來學(xué)習(xí)一下如何在不需要重新定義消息以及接收消息的情況下實現(xiàn)這一要求,感興趣的可以了解下2024-03-03c++ 如何在libuv中實現(xiàn)tcp服務(wù)器
這篇文章主要介紹了c++ 如何在libuv中實現(xiàn)tcp服務(wù)器,幫助大家更好的理解和使用libuv,感興趣的朋友可以了解下2021-02-02