main函数怎么写( 二 )

<=2*pi;a+=pi/18)/*绘制同心圆*/ { x=r1*cos(a)+320; y=r1*sin(a)+240; circle(x,y,rs);/*以圆心坐标为x、y,半径为rs画圆*/ } getch();/*等待按键继续*/ close graph();/*关闭图形工作方式*/ } 若程序名为L6-29.c,经编译、连结生成可执行文件L6-29.exe 。在操作系统的环境下运行 程序,命令行方式为: l6-29 40 20 3 则命令行与main()函数的参数有如图6-16所示的关系 图6-16中,argv[0]是程序名,argv[1]是r1的值,argv[2]是rs的值,argv[3]是屏幕的背景色 。
由于指针数组均存放字符串,所需的圆半径及背景 色彩通过atoi()函数转换为整型 。通过带参数的main()函数,我们可以为自己的程序设置口令,在运行程序的命令行中给出所需的口令,正确则继续,否则退出 。
程序图形输出如图6-17所示 。[例6-30]将上述程序作修改,在程序的入口处添置密码,若给定密码正确,则显示图 形 。
#include #include #define pi 4.1415926 m a i n ( a r g c , a r g v ) int argc;char *argv[]; { int x,y,r1,rs,color; double a; int gdriver=DETECT,gmode; if (strcmp(argv[1],"pass")!=0) 设/置* 口令的比较*/ { printf("password error!\n"); e x i t ( 0 ) ; } initgraph(&gdriver,&gmode,"..\\bgi "); r1=atoi(argv[2]); rs=atoi(argv[3]); color=atoi(argv[4]); cleardevice(); setbkcolor(color); setcolor(4); for(a=0;a<=2*pi;a+=pi/18) { x=r1*cos(a)+320; y=r1*sin( 。
2. C语言怎么在main函数里写自定义函数,格式是怎么样的 写个程序你看看就知道了,
题目:求两个整数中的大者.
程序如下:
#include"stdio.h"
int main(void)
{
int max(int x,int y); //函数声明
int a b c; //定义变量
scanf(”%d,%d“,&a,&b); //输入两个数
c=max(a,b); //调用max函数 。将得到的值赋给c
printf("%d\n",c); //输出c的值
}
int max(int x,int y) //函数定义部分 。定义max函数为整型 。函数值为整型,形式参数x,y为整型,
{
int z; //max函数的声明部分
if(x>y) z=x;
else z=y;
return(z);
}
后面的那一句语句就是自定义的,是前面需要调用的函数 。在c中,不管你把main函数放在前面还是后面都是从main函数开始执行的 。
3. 求教二叉树的main函数怎么写合适: 我的能力也有限,学数据结构过的时间有点久了,而且这个程序我读的很吃力,没用过这样子的语言来写呢,刚刚写了个主类可是运行还是有错误,我又不会改,不好意思 。
我想要的主类大体是这样写的,你可以参考一下:void main(){ BiTree Tr;//这里定义的东西在这个程序里也不行,本来是想让那个BinTree是个指针的,可是这个程序俺也不大会弄 printf("按前序次序输入,以#表示为空:\n"); CreateBinTree(Tr,T,i);//这个括号里面的内容我也不知该怎么写,程序大体读了读 貌似不大会 printf("\n前序遍历结果为:\n"); PreOrder(Tr);//反正括号里的内容就是你前面写的那个函数括号里相应的 printf("\n中序遍历结果为:\n"); InOrder(Tr); printf("\n后序遍历结果为:\n"); PostOder(Tr); printf("\n层序遍历结果为:\n"); LevelOrder(Tr); printf("\n该二叉树的深度为:\n%d",countHighOfBiTree(Tr)); printf("\n该二叉树的叶子节点个数为:\n"); countNumOfLeaf(Tr); printf("\n该二叉树的所有结点数为:\n"); Count(Tr); printf("\n");}这里是实验课上老师布置给我们的,然后自己写的,语言和你的不大一样 但思路差不多,你可以看看这个的,毕竟我还是学的时候思路比较清晰啦,嘿嘿,貌似~是按前序序列来创建的二叉树,你输入的前序序列一定要是正确的哦~我的这个程序还很低级,错误的它不会提示,不好意思哈,学习不大好,只能帮到这里了#include "stdio.h"#include "conio.h"#include "stdlib.h" #include#include//#include#include#define NULL 0typedef char Elemtype;typedef struct BinNode{Elemtype data;struct BinNode *lchild,*rchild;//左右孩子指针}BinTNode,*BinTree;//按前序构造二叉树链表表示的二叉树序列BinTree CreateBinTree(BinTree &T){char ch;scanf("%c,\n",&ch);if(ch=='#') T=NULL;else{T=(BinNode *)malloc(sizeof(BinNode));T->data=http://www.xuexi88.com/zhishi/ch;//生成根结点CreateBinTree(T->lchild);//生成左子树CreateBinTree(T->rchild);//生成右子树}//ifreturn T;}//CreateBinTreevoid Visit(char dataa){printf("%c",dataa);}//前序遍历二叉树void PreOrderTraverse(BinTree T){//前序遍历二叉树T的递归算法,Visit是访问数据元素的函数if(T)//二叉树非空{Visit(T->data);//访问根结点PreOrderTraverse(T->lchild);//前序遍历左子树PreOrderTraverse(T->rchild);//前序遍历右子树}//if}//PreOrderTraverse//中序遍历二叉树void InOrderTraverse(BinTree T){//中序遍历二叉树T的递归算法,Visit是访问数据元素的函数if(T)//二叉树非空{InOrderTraverse(T->lchild);//中序遍历左子树Visit(T->data);//访问根结点InOrderTraverse(T->rchild);//中序遍历右子树}//if}//InOrderTraversevoid PostOrderTraverse(BinTree T){//后序遍历二叉树T的递归算法,visit是访问数据元素的函数if(T)//二叉树非空{PostOrderTraverse(T->lchild);//后序遍历左子树PostOrderTraverse(T->rchild);//后序遍历右子树Visit(T->data);//访问根结点}//if}//PostOrderTraverse//求二叉树的深度int Depth(BinTree T){int DepthLeft,DepthRight,depthval;if(!T)return 0;else{DepthLeft=Depth(T->lchild);DepthRight=Depth(T->rchild);depthval=1+(DepthLeft>DepthRight?DepthLeft:DepthRight);return depthval;}//if}//Depthvoid CountLeaf(BinTree T,int &count0,int &count2){//统计二叉树中的叶子节点个数if(T){if((!T->lchild)&&(!T->rchild))count0++;CountLeaf(T->lchild,count0,count2);CountLeaf(T->rchild,count0,count2);}count2=count0-1;}void Countduone(BinTree T,int &count1){//统计二叉树中度为1的结点个数if(T){if(((!T->lchild)&&(T->rchild))||((T->lchild)&&(!T->rchild)))count1++;Countduone(T->lchild,count1);Countduone(T->rchild,count1);}}int ZongNode(int &a,int &b,int c){return (a+b+c);}void main(){BinTree Tr;int count0,count1,count2;int jie;count0=0;count1=0;count2=0;printf("按前序次序输入,以#表示为空:\n");CreateBinTree(Tr);printf("\n前序遍历结果为:\n");PreOrderTraverse(Tr);printf("\n中序遍历结果为:\n");InOrderTraverse(Tr);printf("\n后序遍历结果为:\n");PostOrderTraverse(Tr);printf("\n该二叉树的深度为:\n%d",Depth(Tr));printf("\n该二叉树的叶子节点个数为:\n");CountLeaf(Tr,count0,count2);printf("%d",count0);printf("\n该二叉树的所有结点数为:\n");//CountLeaf(Tr,count0,count2);Countduone(Tr,count1);jie=ZongNode(count1,count2,count0);printf("%d",jie);printf("\n");} 。