当前位置:首页 » 编程语言 » 图c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

图c语言

发布时间: 2022-01-27 20:21:05

❶ 图 (c语言)

我来做,等等

/*编写无向图的邻接矩阵类AdjMWGraph,实现无向图的广度遍历和深度遍历。
其中,图中顶点数据类型为字符。Input第一行图中顶点的个数n(4<=n<=26)
第二行是图中边的条数m(3<=m<=351) 第三行是顶点信息(全为大写字母)
后面的输入数据是依附于一条边的两个顶点,有多少条边,就输入多少组信息。
注意:根结点都为A;并且所给字符连续,也就是说A B C D ……。
Output广度优先搜索序列。 深度优先搜索序列。
Sample Input
7
6
A B C D E F G
A B
A C
B D
B E
C F
C G
Sample Output
A B C D E F G
A B D E C F G
*/

#include <stdio.h>#include <stdlib.h>
unsigned char arrMap[26][26] = {0};
int nV = 0;
void deep_prior_scan(int j);
void spread_prior_scan(int j);

void GetResult()
{
int nL = 0;//存储边数
int i;
char arrV[26] = {0};
char temp, pairV[2];

//输入过程
printf("\n请输入顶点数:");
scanf("%d", &nV);
printf("\n请输入边数:");
scanf("%d", &nL);
printf("\n请依次输入顶点:\n");
for (i = 0, temp = 'A'; i < nV; )
{
temp = getchar();
if (temp >= 'A' && temp <= 'Z')
{
arrV[i++] = temp;
}
}

printf("\n请依次输入边:\n");
for (i = 0; i < nL*2; )
{
temp = getchar();
if (temp >= 'A' && temp <= 'Z')
{
pairV[i%2] = temp;
if (i%2 == 1)
{
arrMap[pairV[0] - 'A'][pairV[1] - 'A'] = 1;
}
++i;
}
}

//printf("\n广度优先遍历:\n");
//spread_prior_scan(0);
//printf("\n");
printf("\n深度优先遍历:\n");
deep_prior_scan(0);
printf("\n");
}

int main()
{
GetResult();
system("pause");
return 0;
}

void deep_prior_scan(int j)
{
int i;
printf("%c ", j + 'A');
for (i = 0; i < nV; i++)
{
if (arrMap[j][i] != 0)
{
arrMap[j][i] = 0;
deep_prior_scan(i);
}
}
}
void spread_prior_scan(int j)
{
int i;
if (j == 0)
{
printf("\nA ");
}
if (j >= 26)
{
printf("\nj=%d\n", j);
}
for (i = 0; i < nV; i++)
{
if (arrMap[j][i] != 0)
{
printf("%c ", i + 'A');
}
}

for (i = 0; i < nV; i++)
{
if (arrMap[j][i] != 0)
{
arrMap[j][i] = 0;
spread_prior_scan(i);
}
}
}

因为懒得复制数组,所以两种遍历方法要分开运行,你可以通过打开和关闭对相应函数的注释来得到两次的结果

❷ c语言编图

这个是3行的,下面个程序是输出7行的,可以改动i来控制行数改动j来控制*和空格的输出个数
#include<stdio.h>
int main()
{
int i,j,m;
for(i=0;i<=1;++i)
{
for(j=0;j<1-i;++j)
printf(" ");
for(m=0;m<2*i+1;++m)
printf("*");
printf("\n");
}
for(i=1;i>=1;--i)
{
for(j=0;j<=1-i;++j)
printf(" ");
for(m=0;m<2*i-1;++m)
printf("*");
printf("\n");
}
getch();
return 0;
}

这个是7行的.
#include<stdio.h>
int main()
{
int i,j,m;
for(i=0;i<=3;++i)
{
for(j=0;j<3-i;++j)
printf(" ");
for(m=0;m<2*i+1;++m)
printf("*");
printf("\n");
}
for(i=3;i>=1;--i)
{
for(j=0;j<=3-i;++j)
printf(" ");
for(m=0;m<2*i-1;++m)
printf("*");
printf("\n");
}
getch();
return 0;
}

❸ c语言程序图

小写字母a和b的ascii码分别是97和98(即内存值),减去32之后分别是65和66,而这两个值刚好是大写A和B的ascii码。所以,当以字符输出的时候(即printf里面是%c,表示以字符形式输出),就输出A和B。以整形形式(%d)输出的时候,就是它们的值,65和66。

❹ C语言 图

#include <stdio.h>

int sqare(int n)

{return n*n;

}

int main()

{ int i,s=0;

for(i=1;i<4;i++)

s+=sqare(i);

printf("%d ",s);

return 0;

}

❺ c语言如图片

初始化:f1 = 0 , f2 = 1;

for循环,i=3 开始循环,到i=5,那么就是循环了3次;
for循环体里头的内容,需要计算三次:
1、f = f1 + f 2 -- 计算f值;
2、f1 = f2 ; -- f1重新赋值 为f2;
3、 f2 = f; -- f2重新赋值为f;
4、print(f) ; -- 循环3次就输出三次;

输出结果应该是: 1 2 3

❻ C语言如何画图

framebuffer(帧缓冲)。
帧的最低数量为24(人肉眼可见)(低于24则感觉到画面不流畅)。
显卡与帧的关系:由cpu调节其数据传输速率来输出其三基色的配比。
三基色:RGB(红绿蓝)。

在没有桌面和图形文件的系统界面,可以通过C语言的编程来实现在黑色背景上画图!

用下面的代码,在需要的地方(有注释)适当修改,就能画出自己喜欢的图形!

PS:同样要编译运行后才能出效果。

  • #include <stdio.h>

  • #include <sys/mman.h>

  • #include <fcntl.h>

  • #include <linux/fb.h>

  • #include <stdlib.h>

  • #define RGB888(r,g,b) ((r & 0xff) <<16 | (g & 0xff) << 8 | (b & 0xff))

  • #define RGB565(r,g,b) ((r & 0x1f) <<11 | (g & 0x3f) << 5 | (b & 0x1f))

  • int main()

  • {

  • int fd = open("/dev/fb0", O_RDWR);

  • if(fd < 0){

  • perror("open err. ");

  • exit(EXIT_FAILURE);

printf("xres: %d ", info.xres);

printf("yres: %d ", info.yres);

printf("bits_per_pixel: %d ", info.bits_per_pixel);

size_t len = info.xres*info.yres*info.bits_per_pixel >> 3;

unsigned long* addr = NULL;

addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);

if(addr == (void*)-1){

perror("mmap err. ");

❼ c语言。图

continue;
if(j%10==0)

❽ c语言 图片

1、如果有图片(例如 wzzx.jpg) 程序中插一句:
system("mspaint wzzx.jpg"); 就可以 在运行时显示这张图片。
用字符串变量调用也可以:
char pic_name[80]="wzzx.jpg";
char cmd[100];
sprintf(cmd,"mspaint %s",pic_name);
system(cmd); // 显示图片

2、system函数:
原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。

❾ C语言 图的遍历

思路:
以邻接表或邻接矩阵为存储结构,实现连通无向图的深度和广度优先遍历。以用户指定的结点为起始点
,分别输出每种遍历下的结点访问序列和相应的生成树的边集。
设图的结点不超过30个,每个结点用一个编号表示。通过输入图的全部边输入一个图,每个边为一个数对
可以对边的输入顺序作出某种限制。注意,生成树和生成边是有向边,端点顺序不能颠倒。