求大神帮我把这个C++改成C 加注释 发到邮箱里【strivation@gmail.com】

谢谢大神们了~

#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
using namespace std;
#define N 20
#define M 40
#define S 100

void sleep(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock());
}
void prtcm(char(*p)[M])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
cout<<p[i][j];
}
cout<<endl;
}
}

int main()
{
char cm[N][M];
int i,j;
char ch,k;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
cm[i][j]=' ';
}
}
while(1)
{
ch=rand()%26+'A';
j=rand()%M;
i=0;

while(i<N)
{
cm[i][j]=ch;
if(_kbhit())
{
k=getch();
if(k==ch||k==ch+32)
{

cm[i][j]=' ';
system("cls");
prtcm(cm);
break;
}
}
system("cls");
prtcm(cm);
sleep(S);
cm[i][j]=' ';
i++;
}
}
return 0;
}

此代码的作者看来也是c的过来人,除了输出使用cout外,其他的语法都符合c标准
那么,改成c代码只需要把c++的输出cout 改成c的输出printf就可以了
以下代码在c99标准下编译通过
如果没什么问题的话,结贴给分吧,谢谢!!!
这代码还要注释,
这个这个注释,可真让人蛋疼

#include <stdio.h>//C标准输入输出库
#include <stdlib.h>//C语言标准库
#include <time.h> //日期和时间库
#include <conio.h>//控制台输入输出库
#define N 20 //定义宏N为20
#define M 40 //定义宏M为40
#define S 100 //定义宏S为100
void sleep(unsigned int mseconds)//自定义延时函数 参数为 无符号整型
{
clock_t goal; //声明goal 以备计时用
goal = mseconds + clock(); //当前计时单元加参数
while (goal > clock()); //当前计时单元是否大于goal
}
void prtcm(char(*p)[M])//自定义打印函数,参数为字符指针数组
{
int i,j;//定义整型
for(i=0;i<N;i++)//若i小于宏N则继续循环i自增
{
for(j=0;j<M;j++)//弱j小于宏M则继续循环j自增
{
printf("%c",p[i][j]);//打印字符 二维数组的值
}
printf("\n"); //打印回车
}
}
int main() //主函数
{
char cm[N][M];//定义二维数组
int i,j;//定义两个整型变量
char ch,k; //定义两个字符型变量
for(i=0;i<N;i++) //若j小于N则循环,i自增
{
for(j=0;j<M;j++) //若j小于M则循环,j自增
{
cm[i][j]=' ';//二维数组等于空格符
}
}
while(1)//循环执行以下代码
{
ch=rand()%26+'A';//随机生成 A~Z之间的字符
j=rand()%M; //随机生成 宏M以内的随机数这里的宏M=40
i=0;
while(i<N)// i小于N则循环执行
{
cm[i][j]=ch; //二维数组值等于以上随机生成的A~Z字符
if(_kbhit()) //函数_kbhit返回值为真,则值以下语句
{
k=getch();//从控制台取一个字符
if(k==ch||k==ch+32)//k==ch并且k==ch+32
{
cm[i][j]=' ';//不用说了吧....
system("cls");//清屏
prtcm(cm); //调用自定义函数 prtcm
break; //结束本次循环
}
}
system("cls");//清屏
prtcm(cm); //调用自定义函数 prtcm
sleep(S); //等待S毫秒
cm[i][j]=' ';//二维数组等于空格符
i++;//自增
}
}
return 0;//返回
}
温馨提示:内容为网友见解,仅供参考
无其他回答

...加注释 发到邮箱里【strivation@gmail.com】
void sleep(unsigned int mseconds)\/\/自定义延时函数 参数为 无符号整型 { clock_t goal; \/\/声明goal 以备计时用 goal = mseconds + clock(); \/\/当前计时单元加参数 while (goal > clock()); \/\/当前计时单元是否大于goal } void prtcm(char(*p)[M])\/\/自定义打印函数,参数为字符指针数...

相似回答