‘壹’ 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;
}