『壹』 c語言如何輸出圖案
在C語言中要輸出一個圖案還是比較方便的,主要要看清楚它是由多少行組成的,然後外循環就循環多少次。在每一次的外循環中完成一行的輸出,這時要看清楚他有沒有幾個空格,然後再輸出指定的若干個字元。等到這一行輸出完成以後就換行。
『貳』 c語言。輸出圖形,簡單代碼怎麼寫
#include<stdio.h>
#include<stdlib.h>
char a[25][25],b[2];
int n;
void fill()
{ int i,j,k;
char *p=a[0];
for(k=0; k<(n+1)/2; k++)
{ for(i=0; i<n-2*k; i++)
{p=*(a+k)+k+i*25;
for(j=0; j<n-2*k; j++)
*p++=b[k%2];
}
}
}
int main()
{ int i,j;
scanf("%d %c %c",&n,&b[0],&b[1]);
fill();
for(i=0; i<n; i++)
{ for(j=0; j<n; j++)
printf("%c",a[i][j]);
printf(" ");
}
return 0;
}
『叄』 c語言中如何輸出圖像
lz需要弄清楚,你要輸出什麼格式的圖像,bmp,JPG。。。不同格式的圖像的數據內部結構是不一樣的,弄清楚不同格式圖片的數據結構組成,直接採用相應地演算法,用C語言文件輸出函數(fopen,fprintf……那幾個函數,具體我也忘了怎麼用了)將數據點寫入文件就行了。
『肆』 C語言中如何輸出圖形
你可以採用循環的方法來做,需要輸出A的位置的時候就輸出A,其他地方就輸出空格,就行了
#include<stdio.h>
voidmain()
{
inti,j,n;
printf("請輸入要輸出幾行: ");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(j=0;j<n-i;j++)//每行前的空格控制
printf("");
for(intk=0;k<=2*i-1;k++)輸出字母
{
if(k==0||k==2*i-2)輸出A
printf("A");
else
printf("");
}
printf(" ");//換行
}
}
『伍』 如何利用c語言實現像素圖形的輸出
1、可以變成灰度圖也可以不變。這里假設你的圖像都是IPL_DEPTH_8U類型。
2、如果變成灰度圖,就是單通道圖像,獲取的就是每一個像素點的灰度值。
IplImage* img = cvLoadImage("test.bmp", 0);
for (int i = 0; i < img->height; i++)
{
for (int j = 0; j < img->width; j++)
{
//方法一:使用cvGet2D()函數間接訪問
CvScalar s = cvGet2D(img, i, j); //其中i代表y軸(第i行),即height;j代表x軸(第j列),即width。
printf("gray value=%f\n",s.val[0]);
//方法二:使用直接訪問
uchar val = ((uchar *)(img->imageData + i*img->widthStep))[j]; //i和j的意義同上
printf("gray value=%d\n",val);
}
}
3、如果不變成灰度圖,就是3通道圖像,獲取的就是每一個像素點的BGR值,然後分別獲取B值,G值和R值。
IplImage* img = cvLoadImage("test.bmp", 1);
for (int i = 0; i < img->height; i++)
{
for (int j = 0; j < img->width; j++)
{
//方法一:使用cvGet2D()函數間接訪問
CvScalar s=cvGet2D(img,i,j); //其中i代表y軸(第i行),即height;j代表x軸(第j列),即width。
printf("B=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]); //注意是BGR順序
//方法二:使用直接訪問
int bVal = ((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 0]; // B
int gVal = ((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 1]; // G
int rVal = ((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 2]; // R
printf("B=%d, G=%d, R=%d\n",bVal,gVal,rVal); //注意是BGR順序
}
}
『陸』 C語言輸出圖形
#include "graphics.h"//包含C圖形圖像的頭文件
int driver,mode;
driver=VGA;
mode=VGAHI;
//這三句是圖形輸出必須有的。driver=VGA; mode=VGAHI; 兩句是在VGA以上的顯卡顯示。
initgraph(&driver,&mode,"C:\\JMSOFT\\DRV"); //是BGI初始化,也是畫圖前必須有的一句。
以上幾句幾乎是c圖形輸出必須有的
bar3d(200,200,400,350,50,1);//是畫正方形。一,二參數是三維空間正面正方形左上角頂點坐標;三,四參數是三維空間正面右下角頂點坐標。 第五個參數是三維空間矩形長條圖的深度(即陰影)。第六個參數設置是否繪制三維空間矩形長條圖的頂部 (1為設置,0為不設置)
getch();//暫停一下,看看前面繪圖代碼的運行結果
closegraph(); //恢復TEXT屏幕模式
『柒』 C語言程序設計 輸出圖形
(1) 第一行,也就是i=1 ; j=n-2=3 j>=i-1=1-1=0 ;j循環從 3 到 2 到 1 到 0,循環4次啊,輸出4個空格。
(2) 外層循環後,i加到6了,但是i= 6<=n=5不成立,所以不滿足循環條件了,循環結束了。所以共輸出5行。
(3) 第一個循環怎麼控制空格數量,見(1)的分析,通過j的循環來控制的啊。
(4) 通過j循環來輸出空格,循環結束了,就不輸出空格了,它不知道在什麼位置停止,而是你讓輸出幾個就輸出幾個。
『捌』 怎麼用c語言輸出金字塔圖形
用c語言輸出金字塔圖形程序如下:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
void main(){
char a;
int i,j,k,l,m,temp;
scanf("%c",&a);
while(isalpha(a))
{
temp=toupper(a)-'A'+1;
for(i=1;i<=temp;i++)
{
for(j=1;j<=temp-i;j++)
printf(" ");
for(k=0;k<i;k++)
printf("%c",'A'+k);
for(l=i;l>0;l--)
{
if(l==1) break;
else printf("%c",'A'+l-2);
}
for(m=1;m<=temp-i;m++)
printf(" ");
printf("
");
}
break;
}
system("pause");}
拓展資料:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存肢賀儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出歷派派的C語言羨中程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器以及超級電腦等作業平台。
『玖』 C語言圖形函數及應用 C語言輸出圖形
摘 要:圖形函數是C語言函數庫中的重要組成部分,利用圖形函數可以繪制出非常精美的圖形,該文介紹了常用C語言圖形函數並通過一個具體的實例介紹了如何利用圖形函數設計出完美、漂亮的圖形。
關鍵詞:C語言 圖形函數 應用
引言
C語言是國際上廣泛流行的很有發展前途的計算機高級語言。它既具有一般計算機高級語言的可讀性改睜、可移植性的特點,又具有低級語言能夠改皮對計算機硬體進行操作的特性,因此,它適合用於操作系統的描述語言,用C語言開發系統軟體和應用軟體。但在87ANSIC中並沒有規定C語言的圖形功能,許多C語言教材沒有介紹C語言的圖形功能,這給許多需要用C語言設計完美、漂亮的用戶界面的初學者帶來了困難[1-2]。本文旨在通過介紹Turbo C 2.0的主要圖形函數及一個具體的實例簡介這些函數的用法。
1 與圖形繪制有關的系統硬體[2-3]
要使計算機能夠繪制圖形,必須有一定的硬體基礎作為保障。圖形繪制的硬體基礎主要是顯示器和顯示卡。顯示器的工作方式一般有文本方式和圖形方式。要在屏幕上顯示圖形,必須將其設置成圖形方式。衡量顯示器的主核殲歲要性能指標是點距和解析度。目前顯示器常用的點距有0.39mm、0.31mm和0.28mm三種。高檔微機配置的彩色顯示器目前流行的是VGA檔次,它最低的解析度為640×480,中檔的是800×600,高檔的是1024×768。顯示器必須與顯示卡配套使用才能發揮其圖形功能。顯示卡所能支持的不同解析度的顯卡類型稱為顯示模式。下表給出Turbo C中常用的幾種顯示卡的圖形模式:
2 Turbo C 2.0中與繪圖有關的常用圖形函數
2.1 設置圖形工作方式的函數:initgraph()。
Turbo C繪圖,首先必須設置顯示器為圖形方式。該函數通過選定參數可確定顯卡的類型及圖形模式。
如:
int driver,mode;
driver=IBM8514;
mode=IBM8514HI;
initgraph(&driver,& mode,「c:\temp」);
將圖形方式設置為IBM8514類型,IBM8514HI圖形模式,1024×768的解析度,搜索路徑temp為C盤一級子目錄。
2.2 顏色控制函數setbkcolor(int color)及setcolor(int color)。
其中setbkcolor( )設置背景顏色,setcolor( )設置劃線顏色。
2.3 基本繪圖函數
A. line(int x1,int y1,int x2,int y2)
功能:從點(x1,y1)到點(x2,y2)畫一直線。
B. arc(int x,int y,int stange,int endangle,int r)
功能:以(x,y)為圓弧的中心,以stange為起始角度,以endangle為終止角度,以r為半徑作一圓弧。
C. setfillstyle(int pattern,int color)
功能:用參數pattern所確定的填充模式,用參數color確定的顏色進行填充。
D. floodfill(int x,int y,int color)
功能:填充一個含有點(x,y)在內的有界封閉區域,這個有界封閉區域的邊界由參數color確定,填充模式與填充顏色由函數setfillstyle設定。
2.4 字元輸出函數
A. settextstyle(int font,int direction,int size)
功能:在圖形方式下設置字元的字體,式樣和放大因子。
B. outtextxy(int x,int y,char &str)
功能:在窗口(x,y)的位置輸出字元或字元串。
C. getch( )
功能:從控制台取得一字元且不輸出,用來使程序暫停,按任意鍵後使程序繼續運行。
3. 繪制一個圓餅型統計圖的程序如下
#include
main( )
{ int driver,mode;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,「 」);
setbkcolor(0);
setcolor(15);
arc(320,240,0,360,180);
line(320,240,500,240);
line(320,240,443,112);
line(320,240,266,70);
line(320,240,200,374);
setfillstyle(4,2);
floodfill(340,230,15);
setfillstyle(5,9);
floodfill(340,180,15);
setfillstyle(7,4);
floodfill(300,240,15);
setfillstyle(8,3);
floodfill(340,280,15);
setcolor(14);
settextstyle(1,0,4);
outtextxy(410,180,「14%」);
settextstyle(1,0,4);
outtextxy(330,110,「16%」);
settextstyle(1,0,4);
outtextxy(200,200,「34%」);
settextstyle(1,0,4);
outtextxy(340,310,「36%」);}
上述程序在Turbo C 2.0中上機通過編譯、連接、運行,可得到精美的圓餅型圖。讀者通過閱讀並上機調試運行該程序可以對C語言的圖形設置、繪制;顏色的控制、填充等函數的應用有一個感性的認識,對復雜枯燥的C函數提高學習興趣。
結語
目前許多C語言教材很少介紹C語言的圖形功能,而許多C語言學習者對C語言的圖形功能很感興趣,為幫助初學者學習C語言繪圖函數並提高學習興趣,本文簡單介紹了C語言一些常用的繪圖函數及其應用,權當拋磚引玉!還有一些圖形函數沒有列出,讀者若有興趣可參閱《C語言函數大全》。
參考文獻:
[1]徐士良.PC機C圖形編程手冊.北京:清華大學出版社,1994.2.
[2]譚浩強.C程序設計(第二版)[M].北京:清華大學出版社,1999.
[3]MarkFinlay.C和C++圖形程序設計基礎.北京:龍門書局,1997.4.
[4]Herbert Schildt著.戴健鵬譯.C語言大全(第二版)[M].北京:電子工業出版社,1994.
『拾』 C語言的代碼列印這個圖形怎麼弄呀
首先,把有這個圖形的文本文件保存到D盤根目錄下,文件名為in.txt。
然後以下代碼可以輸出這個圖形。
#include <stdio.h>
int main(void)
{
char s[100];
FILE* fIn; // 文件指針
fIn = fopen("D:\in.txt", "r");
if (fIn == NULL)
{
printf("打開輸入文件錯誤.");
return -1;
}
// 從輸入文件中逐行讀取並輸出
while (fgets(s, 100, fIn) != NULL)
printf(s);
fclose(fIn);
return 0;
}