c语言spread,C语言sprintf函数

本文目录一览:

谁有c语言一些运行起来结果很好玩的程序的代码..

/*太大了估计你不想要,给你一个扫雷程序,turbo C下才能编译成功 空格:打标记 回车:扫雷 方向键:改变方向 */ #includestdio.h #includeconio.h #includetime.h void adjust(int*,int*); int a[23][23],c[22][22],mm,nn; int roundmine(int,int); void spread(); main() { int i,j,b[22][22],minenum,mine; int x,y,yy,s; char g,h,z; int*x1; int*y1; time_t t; again:srand((unsigned) time(t)); textcolor(LIGHTGREEN); for(i=2;i=21;i++) for(j=2;j=21;j++) { gotoxy(i,j); putch(219); b[i][j]=1; c[i][j]=1; } minenum=0; for(i=1;i=22;i++) for(j=1;j=22;j++) { a[i][j]=0; if(i1i22j1j22) {if((s=rand()%10)0) a[i][j]=0; else if(s==0) a[i][j]=1; } if(a[i][j]) minenum++; } gotoxy(50,2); puts(“dirction”); gotoxy(50,3); puts(“SPACE:mark”); gotoxy(50,4); puts(“ENTER:dig”); gotoxy(50,8); printf(“mine num:%4d”,minenum); gotoxy(50,5); printf(“ESC:exit”); gotoxy(30,15); puts(” “); gotoxy(30,20); puts(” “); mine=minenum; gotoxy(2,2); x=2;y=2; while(mine) { h=getch(); if(h==’H’) gotoxy(x,–y); else if(h==’P’) gotoxy(x,++y); else if(h==’K’) gotoxy(–x,y); else if(h==’M’) gotoxy(++x,y); x1=x;y1=y; adjust(x1,y1); if(h==’ ‘) { if(c[wherex()][wherey()]) if(b[wherex()][wherey()]) { textcolor(LIGHTRED); putch(16); mine–; gotoxy(59,8); printf(“%4d”,mine); gotoxy(x,y); b[wherex()][wherey()]=0; } else { textcolor(LIGHTGREEN); putch(219); mine++; gotoxy(59,8); printf(“%4d”,mine); gotoxy(x,y); b[wherex()][wherey()]=1; } } if(h==’\015′) { mm=wherex();nn=wherey(); c[wherex()][wherey()]=0; if(a[wherex()][wherey()]) { for(i=2;i=21;i++) for(j=2;j=21;j++) {gotoxy(i,j); if(a[i][j]) {textcolor(LIGHTRED); putch(017); } } break; } else {spread();gotoxy(mm,nn);} } if(h==’\033′) exit(0); } yy=1; for(i=2;i=21;i++) for(j=2;j=21;j++) if (a[i][j]==1b[i][j]==1) {gotoxy(30,15); cprintf(“You lose!!”); yy=0; } if(yy) {gotoxy(30,15); cprintf(“You win!!”); } gotoxy(30,20); cprintf(“Once again(y/n)?”); z=getch(); if(z==’y’) goto again; } void adjust(int* x,int* y) { if(*x2) gotoxy(*x+=20,*y); else if(*x21) gotoxy(*x-=20,*y); else if(*y2) gotoxy(*x,*y+=20); else if(*y21) gotoxy(*x,*y-=20); } int roundmine(int x,int y) { int i,j,r=0; for(i=x-1;i=x+1;i++) for(j=y-1;j=y+1;j++) if(a[i][j]) r++; return r; } void spread() { int r,i,j,x,y; x=wherex(); y=wherey(); r=roundmine(x,y); if(r) {printf(“%d”,r);c[x][y]=0;} else if(r==0x1x22y1y22) { putchar(‘ ‘);c[x][y]=0; for(i=x-1;i=x+1;i++) for(j=y-1;j=y+1;j++) if(x1x22y1y22c[i][j]) {gotoxy(i,j); spread(); } } }

图 (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语言 求程序

具体什么公式不懂….

#include math.h

#include stdio.h

#include stdlib.h

#define KE 200

main()

{

float ex[KE],hy[KE],dx[KE],ix[KE];

float ga[KE],gb[KE];

float ex_low_m1=0, ex_low_m2=0, ex_high_m1=0, ex_high_m2=0;

int n,k,kc,ke,NSTEPS, kstart;

float ddx,dt,epsz,epsilon,sigma,eaf,freq_in,pi,arg;

float T,t0,spread,pulse;

FILE *fp;

// FILE *fopen(); 原程序有这个,错误,应删掉

/*printf(“input freq(MHz):”);

scanf(“%f”,freq);

freq=freq*1e6;*/

//初始化常量

ddx = 0.01;

dt = ddx/(2*3e8);

kc=KE/2;

pi=3.14159;

epsz=8.85419e-12;

/*initialze to free space*/

for(k=0;kKE;k++) //初始化所有输出空间

//提示输入非传导性

printf(“dielectric starta at –“);

scanf(“%d”,kstart);

//提示输入epsilon

printf(“epsilon –“);

scanf(“%f”,epsilon);

//提示输入传导性

printf(“conductivity –“);

scanf(“%f”,sigma);

printf(“Kstart,epsilon,sigma:%d,%6.2f,%6.2f \n”,kstart,epsilon,sigma);

/* eaf=dt*sigma/(2*epsz*epsilon);

printf(“eaf:%6.4f \n”,eaf); */

//根据公式填充ga,gb

for(k=kstart;k=KE;k++)

{

ga[k]=1./(1.+epsilon+sigma*dt/epsz);

gb[k]=sigma*dt/epsz;

}

//输出ga,gb

for(k=0;k=KE;k++)

//初始化所有空间为0

for(k=0;kKE;k++)

{

ex[k]=0; hy[k]=0;dx[k]=0;ix[k]=0;

}

/*these parametres specify the input pulse*/

//初始化参数

t0=50.0;

spread =20.0;

T=0;

NSTEPS=1;

//输入正数就一直计算,否则退出

while(NSTEPS0)

{

printf(“NSTEPS—“);

scanf(“%d”,NSTEPS);

printf(“%d\n”,NSTEPS);

//这里如果输入非正数仍会执行 如果需要退出,添加如下代码

// if (NSTEPS = 0) break;

// NSTEPS次循环

for(n=1;n=NSTEPS;n++)

{

T=T+1;

/*main fdtd loop*/

/*calculate the dx field*/

//根据公式填充dx

for(k=0;kKE;k++)

{

dx[k]=dx[k]+0.5*(hy[k-1]-hy[k]);

}

/* put gaussian pulse at the low end */

freq_in=3e8;

pulse=exp(-0.5*(pow( (t0-T)/spread,2.0)) );

/*pulse=sin(2*pi*freq*dt*T);*/

dx[kc]=dx[kc]+pulse;

//输出

printf(“n=%d,T=%d,pulse=%6.2f\n”,n,T,pulse);

printf(“n=%d,dx[kc]=%6.2f\n”,n,dx[kc]);

/*ex field*/

//根据公式填充ex, ix

for(k=1;kKE-1;k++)

{

ex[k]=ga[k]*(dx[k]-ix[k]);

ix[k]=ix[k]+gb[k]*ex[k];

}

/* absorbing boundary conditions*/

ex[0]= ex_low_m2;

ex_low_m2= ex_low_m1;

ex_low_m1=ex[1];

ex[KE-1]= ex_high_m2;

ex_high_m2= ex_high_m1;

ex_high_m1=ex[KE-2];

//根据公式填充hy

for(k=1;kKE-1;k++)

}

/* end of main fdtd loop*/

/*print the ex and hy fields*/

for(k=1;k=KE;k++)

printf(“%3d %6.2f %6.2f\n”,k,ex[k],hy[k]);

/*print the ex and hy fields to files*/

//输出ex到文件ex2.1

fp=fopen(“ex2.1″,”w”);

for(k=1;k=KE;k++)

fprintf(fp,” %6.2f\n”,ex[k]);

fclose(fp);

//输出hy到文件hy2.1

fp=fopen(“hy2.1″,”w”);

for(k=1;k=KE;k++)

fprintf(fp,” %6.2f\n”,hy[k]);

fclose(fp);

printf(“T=%5.0f\n”,T);

}

}

原创文章,作者:LZQX,如若转载,请注明出处:https://www.506064.com/n/144749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
LZQXLZQX
上一篇 2024-10-26 11:52
下一篇 2024-10-26 11:52

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python中capitalize函数的使用

    在Python的字符串操作中,capitalize函数常常被用到,这个函数可以使字符串中的第一个单词首字母大写,其余字母小写。在本文中,我们将从以下几个方面对capitalize函…

    编程 2025-04-29
  • Python中set函数的作用

    Python中set函数是一个有用的数据类型,可以被用于许多编程场景中。在这篇文章中,我们将学习Python中set函数的多个方面,从而深入了解这个函数在Python中的用途。 一…

    编程 2025-04-29
  • 单片机打印函数

    单片机打印是指通过串口或并口将一些数据打印到终端设备上。在单片机应用中,打印非常重要。正确的打印数据可以让我们知道单片机运行的状态,方便我们进行调试;错误的打印数据可以帮助我们快速…

    编程 2025-04-29
  • 三角函数用英语怎么说

    三角函数,即三角比函数,是指在一个锐角三角形中某一角的对边、邻边之比。在数学中,三角函数包括正弦、余弦、正切等,它们在数学、物理、工程和计算机等领域都得到了广泛的应用。 一、正弦函…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python实现计算阶乘的函数

    本文将介绍如何使用Python定义函数fact(n),计算n的阶乘。 一、什么是阶乘 阶乘指从1乘到指定数之间所有整数的乘积。如:5! = 5 * 4 * 3 * 2 * 1 = …

    编程 2025-04-29
  • Python定义函数判断奇偶数

    本文将从多个方面详细阐述Python定义函数判断奇偶数的方法,并提供完整的代码示例。 一、初步了解Python函数 在介绍Python如何定义函数判断奇偶数之前,我们先来了解一下P…

    编程 2025-04-29

发表回复

登录后才能评论