谁能帮我注释下这个c语言程序?

作者&投稿:储元 (若有异议请与网页底部的电邮联系)
谁能帮我注释下这个C语言程序~

这个程序实现的是猜数字的功能,其中guard变量是用来检测是否进行猜数字的操作,
while (guard)语句的功能是:
若guard=1,那么开始猜数字的循环,若为0,则不进入循环
for (;;) 语句的功能是:

不断地让用户输入数字,并且与随机产生的数字作比较,并在屏幕上显示出用户输入数字与产生的数字之间的关系,直到用户猜对数字为止

方式:
//
/* */
#if 0 endif
#ifdef #endif

已基本搞定。如下:
#define PI 3.1415926
#define step 3
#define R 10
#include<time.h>
#include<stdlib.h>
#include<graphics.h> /* tc/tc++绘图功能函数必需的头文件 */
#include<conio.h>
#include<dos.h>
main() /* 运动的小车动画c程序 */
{
int gdriver=DETECT,gmode;/* 设定图形驱动类型为:DETECT(自动检测),自动测试显示卡类型,选择相应的驱动程序,此方式下gmode(整数,显示模式)无需设置 */
static int startx=5; /* 设置动画的起始位置(小车的起点位置) */
static int starty=100;
int maxx,l=1,n=1;
double dalta=20,angle;/* dalta步长,angle画小车车轮上的填充扇形,用来显示小车车轮的动态滚动效果 */
int size;
void *image;
initgraph(&gdriver,&gmode,""); /* 初始化图形界面,调用图形驱动程序,设置屏幕为图形界面模式。 */
cleardevice(); /* 清屏 */
setbkcolor(BLUE); /* 设置屏幕背景色为蓝色 */
size=imagesize(startx,starty,startx+60,starty+60);/* 将startx,starty,startx+60,starty+60确定的位图图像范围(字节数)用整数size保存起来 */
image=(unsigned char *)malloc(size); /* 开辟大小为size字节的指向字符的内存空间 */
maxx=getmaxx();/* getmaxx()用来获得屏幕的最大x坐标,以判断小车是否运动到屏幕的左右边界 */
while(!kbhit()) /* 循环,按任一键退出循环 */
{
if(l==1)/* 判断小车的运动方向,l==1小车向右运动�*/
{
n++;
angle=-1*(n*step)/PI*180/R;/* 小车向右运动,轮子顺时针转动,角度angle的绝对值增加,画扇形,产生动态效果 */
if((int)(-1*angle)%360<dalta)
angle-=dalta;
if(n>(maxx-70)/step)
l=0;
}
if(l==0)/* l==0小车向左运动 轮子逆时针转动,角度angle的绝对值减小,画扇形,产生动态效果*/
{
--n;
angle=-1*(n*step)/R/PI*180;
if((int)(-1*angle)%360<dalta)
angle-=dalta;
if(n==1)l=1; /* 小车初始时刻是向右运动 */
}
line(startx+n*step+15,starty,startx+n*step+45,starty); /* 以下为画小车的形状 */
line(startx+n*step+15,starty,startx+n*step+11,starty+20);
line(startx+n*step+45,starty,startx+n*step+49,starty+20);
line(startx+n*step+17,starty+2,startx+n*step+42,starty+2);
line(startx+n*step+17,starty+2,startx+n*step+14,starty+20);
line(startx+n*step+43,starty+2,startx+n*step+46,starty+20);
rectangle(startx+n*step+23,starty+5,startx+n*step+37,starty+20);
rectangle(startx+n*step+27,starty+15,startx+n*step+33,starty+20);
line(startx+n*step+27,starty+10,startx+n*step+23,starty+15);
line(startx+n*step+33,starty+10,startx+n*step+37,starty+15);
line(startx+n*step+2,starty+20,startx+n*step+58,starty+20);
line(startx+n*step,starty+40,startx+n*step+60,starty+40);
line(startx+n*step,starty+40,startx+n*step+2,starty+20);
line(startx+n*step+58,starty+20,startx+n*step+60,starty+40);
bar(startx+n*step+17,starty+22,startx+n*step+43,starty+38);
setcolor(GREEN);
pieslice(startx+n*step+15,starty+50,angle,angle-dalta,10);
pieslice(startx+n*step+45,starty+50,angle,angle-dalta,10);
setcolor(GREEN);
setfillstyle(SOLID_FILL,GREEN);
circle(startx+n*step+15,starty+50,10);
circle(startx+n*step+45,starty+50,10);
circle(startx+n*step+15,starty+50,3);
circle(startx+n*step+45,starty+50,3);
getimage(startx+n*step,starty,startx+n*step+60,starty+60,image);/* 将startx+n*step,starty,startx+n*step+60,starty+60指定区域的位图数据存到内存以地址image开始的size个字节中 */
delay(10000); /* 延时10000毫秒 */
putimage(startx+n*step,starty,image,XOR_PUT);/* 将上面getimage()函数保存的图像输出显示,这里使用的是异或xor运算输出方式,即清除旧的位图,显示新的位图,利用人眼的视觉暂停效应产生小车在运动的效果 */
} /* 其实质就是位图数据不停的写入内存然后再在不同的位置(n在变化)写到屏幕上 */
free(image); /* 释放内存空间 */
closegraph(); /* 关闭图形工作模式 */
}

#define PI 3.1415926
#define step 3
#define R 10
#include<time.h>
#include<stdlib.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
main()
{
int gdriver=DETECT,gmode; //gdriver定义图形驱动序号变量为DETECT
static int startx=5; //定义起始的描画坐标,x值定义为5
static int starty=100; //定义起始的描画坐标,y值定义为100
int maxx,l=1,n=1;
double dalta=20,angle;
int size;
void *image;
initgraph(&gdriver,&gmode,""); //初始化图形系统处理,&gdriver是图形驱动序号变量的地址。gmode是在gdriver选定后,图形显示模式序号变量的地址。在初始化时,存放图形驱动文件的路径暂定为""
cleardevice(); //清除图形屏幕,也就是将描画区域进行初始化
setbkcolor(BLUE); //将背景色设置为BLUE
size=imagesize(startx,starty,startx+60,starty+60); //取得保存位图像所需的字节数
image=(unsigned char *)malloc(size); //申请内存空间,以保存需要描画的图像
maxx=getmaxx(); //取得屏幕的最大x坐标
while(!kbhit()) //检查当前按下的键,如果按下的键有效的话
{
if(l==1)
{
n++;
angle=-1*(n*step)/PI*180/R; //这个公式不太清楚,应该是一些属性的计算
if((int)(-1*angle)%360<dalta)
angle-=dalta; //这个公式不太清楚,应该是一些属性的计算
if(n>(maxx-70)/step)
l=0;
}
if(l==0)
{
--n;
angle=-1*(n*step)/R/PI*180; //这个公式不太清楚,应该是一些属性的计算
if((int)(-1*angle)%360<dalta)
angle-=dalta; //这个公式不太清楚,应该是一些属性的计算
if(n==1)l=1;
}
******
getimage(startx+n*step,starty,startx+n*step+60,starty+60,image); //将指定区域的一个位图存到先前申请的buffer中
delay(10000);//延时10秒
putimage(startx+n*step,starty,image,XOR_PUT); //在屏幕上输出位图,writemode为XOR_PUT
}
free(image); //释放申请的buffer
closegraph(); //关闭图形系统
}


请帮我给下面C程序添加注释,看不懂
include 固定格式,添加头文件 <stdio.h> 功能是可以使用输入输出函数

这段c语言代码谁帮我注释下
\/*这个程序是输入三个整数,找出最大的那个并输出出来 \/ void main() \/*分别是什么,下面一样*\/ { int a,b,c,max; \/\/ 定义四个整型变量 printf ("please input a,b,c: \\n"); \/\/ 输出一句话提示要用户输入三个数scanf("%d,%d,%d",&a,&b,&c); \/\/不过此时是要按照例如10,20,...

把c帮忙加中文注释???
include<stdio.h> include<stdlib.h> struct student \/\/定义个学生信息结构 { char num[20]; \/\/ 学号 char name[16]; \/\/ 姓名 float chj; \/\/ 成绩 };\/\/ 主函数 void main(){ FILE *fp; \/\/ 文件指针 student stu[200],temp; \/\/什么个学生信息数组和一个变量 int i,j,k;\/\/\/...

c语言 谁可以帮我这个代码做一个正确的注释呢
上面注释的有些可能不太合适,我是学单片机C的,这些基础的东西有些小遗忘。。见谅。

谁能帮我注释一下下面的单片机c程序,最主要的是为什么P2=0xfb能够...
0011 1111 (从P0.7 --->P0.0),这个地方我不知道你动不动,假设你懂的,哈哈。然后呢,数码管有7段 带个小数点(不带也可以),要构成一个0的摸样,当然是“8”的中间一笔不显示,其他都要显示出来 这样人的眼睛一看,哇塞,是0。假设你的数码是共阴的,那么,给他哪一段加高电压,那段...

求给这个简单的c程序加个注释。。。
\/ 这是个递归调用 f(a,1) = a[0];f(a+m,n) = a[m]+f(a+m+1,n-1);(n>1)其实就是数组a中从a[m]开始连续n个数的和 假设a[]={1,2,3,4,5,6,7,8,9,10};则:s=f(a+2,4)=a[2]+f(a+3,3)=a[2]+a[3]+f(a+4,2)=a[2]+a[3]+a[4]+f(a+5,1)=a...

c语言注释是什么?
int open( const char *name, int mode, … \/* int permissions *\/ )。2、可以使用\/\/插入整行的注释,或者将源代码写成两列分栏的格式,程序在左列,注释在右列:const double pi = 3.1415926536\/\/ pi是—个常量。C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有...

C语言 帮忙写个注释 全一点 谢谢了
printf("%c",str[a]);} printf("\\n键入相同的字符串\\n");fflush(stdin);\/\/ 清空缓冲区 gets(str1);\/\/用户输入 for(a=0;a<=9;a++){ if(str[a]==str1[a])\/\/若第a个字符正确,输出并且正确字符计数+1 { printf("%c",str[a]);count1++;} else\/\/若不正确,输出*并且错误...

麻烦继续帮我把C程序的注释写下,有空否
或者a+b+e)否则 把a改写为a+c+e(或者a+c+f)这样最终a的结果将是一下四个式子中最大的那一个,也就是二叉树的最优路径。a+b+d a+b+e a+c+e a+c+f 这就是函数执行的功能,而主函数只不过调用了Sum罢了。我相信你能看这个级别的代码,应该基本语法都理解。

C语言帮我加一下注释谢谢
\/\/字符串要以\\0结尾 } } count=0; } else count++; \/\/没遇到空格的话就搜索下一个字符 i++; } return max; \/\/返回最长单词的长度}\/*例如:str[]="i love you";最后函数将返回4(love的长度),同时result里保存的是"love"...

隆昌县18915007447: 谁能帮我注释下这个c语言程序? -
点娟特丽: 已基本搞定.如下: #define PI 3.1415926 #define step 3 #define R 10 #include<time.h> #include<stdlib.h> #include<graphics.h> /* tc/tc++绘图功能函数必需的头文件 */ #include<conio.h> #include<dos.h> main() /* 运动的小车动画c程序 */ { int ...

隆昌县18915007447: 请帮忙把这段C语言程序做下注释
点娟特丽://这个程序约瑟夫环问题的动态链表实现. #include <stdio.h> #include <stdlib.h> //定义链表结点类型 typedef struct Node { int index;//序号 struct Node *next;//下一个结点 } Lnode,*Linklist; //all_num是总人数,pass_num是活下来的人数,step_...

隆昌县18915007447: 谁能帮我写一下这段c语言代码的注释,非常感谢 -
点娟特丽: #include <stdlib.h> #include <stdio.h> #include <time.h> void sert(int a[]) //对数组从大到小排序的函数 { int i, j, tmp; for (i = 0; i < 100; ++i) //冒泡法排序,虽正确但用的不好 for (j = 0; j < 99; ++j) if (a[j] < a[j+1]) { tmp = a[j+1]; a[j+1] = a[j]; a[j] = tmp; } } ...

隆昌县18915007447: c语言 谁可以帮我这个代码做一个正确的注释呢 -
点娟特丽: 不明白可以追问!!#include <stdio.h>void main(){ int n; int count; int a[100]; int i; printf("输入一个数:"); scanf("%d",&n); count = fun(n,a); printf("%d\n",count); for(i = 0;i < count;i++) { printf("%d",a[i]);//输出能够被7或11整除的数 } ...

隆昌县18915007447: 能不能尽可能详细的帮我注释一下这个C语言程序呢?通过上下左右来移动光标的程序!!拜托啦, 我在TC下运行的. -
点娟特丽: #include <stdio.h>#include <bios.h>#include <conio.h>#define ESC 0x011b//这些是这几个键的键值#define UP 0x4800#define DOWN 0x5000#define LEFT 0x4b00#define RIGHT 0x4d00 typedef struct { int x; int y; }point; DrawMan(int x, int y) { gotoxy...

隆昌县18915007447: 您能帮我注释下这个C语言程序!!!!!!!!急用,等着答辩!!!!!!谢谢啊!!!!!!!!!!!!!!!!由于字数,分成两个问题 -
点娟特丽: else if(k[i-4][j-20]!=1)/*将非1位置打印内容*/ { gotoxy(j,i); cprintf("%d",k[i-4][j-20]); } textcolor(YELLOW);/*设置当前字体为黄色*/ i=5; j=21; gotoxy(j,i); cprintf("\1");/*21列第5列打印一个笑脸*/ gotoxy(33,5);/*33列第5行打印一个“7”*/ cprintf("...

隆昌县18915007447: 谁帮我解释一下这个c程序,谢谢! -
点娟特丽: char p[20],*q=p; 首先定义了一个数组P[20],一个char型指针, 然后将数组P[20]的首地址赋给指针q.scanf(“%s %s”,p,q);//向P[20]和指针所指...

隆昌县18915007447: c语言,哪位帮我解释一下这个程序! -
点娟特丽: int x; //int 型变量x,对用户输入字符计数char i, ans; //char 型变量i, 用于读取用户输入字符序列中的字符;char 型变量ans, 用于读取是否进行下次输入测试判断字符ans='y'; //ans赋初值 'y'do //do while 循环,执行循环体,最后判断输入字符为Y ...

隆昌县18915007447: C 语言新手 下面程序帮我 注解一下 谢谢 详细点
点娟特丽: #include<stdio.h>main(){ int i = 5; /*定义i的值为5*/do /*执行以下语句*/{if(i%3==1) /*如果 i 除以3余1那么执行下一个语句,如果不是,那么跳转到i++,并执行while*/if(i%5==2) /*如果 i 除以5余2那么向下执行*/{printf("%d",i);break;} /*输出 i 的...

隆昌县18915007447: 谁能帮我解释一下这个C语言程序?急!!
点娟特丽: getchar()在循环语句里面第一次接到a,第二次得到回车,第三次递到b,第四次又得到回车,因此你的a和b 字符是输出在两行,因为回车也被看成字符.你要输出abcd,你就要输入abcd<回车>.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网