C语言高手帮帮忙。帮这这段代码添加个注释。新手。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言高手帮帮忙。帮这这段代码添加个注释。新手。相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
#include <stdlib.h>

typedef struct node

int Second;
int Minute;
int Hour ;
Lnode,* Snode;

Snode time;
char TempSaveTime[256];

void InitialiseClock()

time->Hour=0;
time->Minute=0;
time->Second=0;


void SetInitialTime()

printf("Now Time is %2d:%2d:%2d\n\n",time->Hour,time->Minute,time->Second);
printf("Plese Set The Time Now:\n\n");
printf("Hour="); scanf("%d",&time->Hour);
printf("Minute="); scanf("%d",&time->Minute);
printf("Second="); scanf("%d",&time->Second);
printf("Set Time Ok !\n");
printf("\nPress Any Key to Continue...\n");
fflush(stdin);
getchar();
system("cls");


void inline PrintfTime()

for(int i=0;i<32;i++)

printf("\b");


printf("%s",TempSaveTime);
printf(" ");



void RunTime()

time->Second++;
if(time->Second<60)

sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else

time->Second=0;
time->Minute++;
if(time->Minute<60)

sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else

time->Minute=0;
time->Hour++;
if(time->Hour<24)

sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else

time->Hour=0;
sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();
printf("\n\nOne Day Has Gone,The New Day Will begin...\n\n");





void main()

time=(Snode)malloc(sizeof(struct node));
InitialiseClock();
SetInitialTime();

while(true)

_sleep(999);
RunTime();


#include <stdio.h>
#include <stdlib.h>

typedef struct node //定义节点结构

int Second;
int Minute;
int Hour ;
Lnode,* Snode;
Snode time; //定义 结构体变量
char TempSaveTime[256];

void InitialiseClock() //初始化时间,0:0:0时

time->Hour=0;
time->Minute=0;
time->Second=0;


void SetInitialTime() //设定最初时间

printf("Now Time is %2d:%2d:%2d\n\n",time->Hour,time->Minute,time->Second); //显示 现在是多少时间
printf("Plese Set The Time Now:\n\n"); //显示请现在设定时间
printf("Hour="); scanf("%d",&time->Hour); //一下几句设定 小时分钟秒
printf("Minute="); scanf("%d",&time->Minute);
printf("Second="); scanf("%d",&time->Second);
printf("Set Time Ok !\n"); //显示设定成功
printf("\nPress Any Key to Continue...\n"); //显示 按任意键继续
fflush(stdin); //清空输入缓存,避免之前输入对下面操作影响
getchar(); //获取字符,也就是暂停
system("cls"); //清屏


void inline PrintfTime() //内联函数 显示时间

for(int i=0;i<32;i++) 执行 32个退格

printf("\b");


printf("%s",TempSaveTime); //显示 TempSaveTime的内容 也就是之前保存的时间
printf(" "); //显示空格



void RunTime() //时间计时

time->Second++; //秒一直走
if(time->Second<60) //当秒大于60了 将时间写入TempSaveTime字符串一次,并且执行显示时间函数

sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else //否则 一下几个else 也就是时间的进位,60秒进一分,60分进1小时 并显示时间

time->Second=0;
time->Minute++;
if(time->Minute<60)

sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else

time->Minute=0;
time->Hour++;
if(time->Hour<24)

sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else

time->Hour=0;
sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();
printf("\n\nOne Day Has Gone,The New Day Will begin...\n\n");





void main() //程序入口

time=(Snode)malloc(sizeof(struct node)); //给Snode结构体变量指针time 分配内存空间,不分配无法使用
InitialiseClock(); //执行 初始化时钟函数
SetInitialTime(); //执行 设定初始时间函数

while(true) //程序主循环,循环跳出,则程序结束

_sleep(999); //进程阻断999个单位时间.也就是暂停
RunTime(); //这个循环里一直执行 时钟运行函数。 如果放外头时间就不会走了。要不断的处理


参考技术A #include <stdlib.h>//这两句是头文件
#include <stdio.h>

struct number

int n; //数
int flag; //标记,1为素数,0为非素数
;

void sushu(struct number num[]) //定义函数sushu,形参是结构体变量struct number 型的数组(指针)

int n,i,j,k;
printf("Please input a number: ");
scanf("%d",&n); //输入n

for(i=2;i<=n;i++) //初始化,2到n

num[i-2].n=i; //将2到n存入数组num,注意下标是从0开始的。
num[i-2].flag=1; //先默认num中的所有数都是素数,即默认所有的flag都是1。


for(i=2;i<=n;i++)

for(j=2;(num[i-2].n*j)<=n;j++) //素数j倍的数不是素数

for(k=2;k<=n;k++) //遍历num数组

if((num[i-2].n*j)==num[k-2].n)
num[k-2].flag=0;//如果是前一个确定的素数(比如2)的倍数,则标注flag为0,即表明不是素数。




for(i=2;i<=n;i++)

if(num[i-2].flag) //只有flag值为1时,if语句的下面语句才执行。即只打印素数。
printf("%d ",num[i-2].n);//打印结果。

printf("\n");


int main()

struct number num[1000]; //定义一个能容纳1000个结构体变量的数组。

sushu(num); //调用函数sushu,输出结果。

return 0; //主函数返回0,正常结束。
参考技术B #include <stdio.h>
#include <stdlib.h>

//定义一下时分秒的结构
typedef struct node

int Second;
int Minute;
int Hour ;
Lnode,* Snode;

Snode time;
char TempSaveTime[256];

void InitialiseClock()

//初始化时时,时分秒清零
time->Hour=0;
time->Minute=0;
time->Second=0;


//设定时间函数
void SetInitialTime()

//首先输出原来的时间值
printf("Now Time is %2d:%2d:%2d\n\n",time->Hour,time->Minute,time->Second);
printf("Plese Set The Time Now:\n\n");
//接受输入并更新时间
printf("Hour="); scanf("%d",&time->Hour);
printf("Minute="); scanf("%d",&time->Minute);
printf("Second="); scanf("%d",&time->Second);
printf("Set Time Ok !\n");
printf("\nPress Any Key to Continue...\n");
//清空缓冲并输出
fflush(stdin);
//等待、清屏
getchar();
system("cls");


//输出时间
void inline PrintfTime()

for(int i=0;i<32;i++)

printf("\b");


printf("%s",TempSaveTime);
printf(" ");



void RunTime()

time->Second++;
if(time->Second<60)

//每秒秒加1并显示当前时间
sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else //60秒,秒清零并向分进1

time->Second=0;
time->Minute++;
if(time->Minute<60)

//更新时间
sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else //60分,分清零并向时进1

time->Minute=0;
time->Hour++;
if(time->Hour<24)

//更新时间
sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();

else //大于24小时,时清零,“旧的一天过去了,新的一天即将到来!

time->Hour=0;
sprintf(TempSaveTime,"Now Time is %d:%d:%d",time->Hour,time->Minute,time->Second);
PrintfTime();
printf("\n\nOne Day Has Gone,The New Day Will begin...\n\n");





void main()

//分配空间
time=(Snode)malloc(sizeof(struct node));
//时分秒清零
InitialiseClock();
//输入新时间
SetInitialTime();
//每秒更新并输出一次当前时间
while(true)

//大约延时1秒,这里并不精确,估计是新手拿来练手的。
_sleep(999);
//更新时间并显示
RunTime();

C语言编程,求助高手

我定义了一个结构体
struct User

char name[10];
int score
;
并创建了一个结构体数组
User*array,里面有n个元素,下标分别为0~n-1;
现在我有两个常量user_name和user_score,想在结构体数组中添加元素array(n)
于是我尝试了各种初始化方法,但都无法解决,求大神帮忙

你的动态数组只有n个元素,已经装满了的话,就需要扩容。

具体看例子。

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

struct User

char name[10];

int score;

;

int main()

const char user_name[]="wonder";

const int user_score=99;

//c表示容量,n表示元素数量,incr表示每次扩容时的增量

int c=1,n=0,incr=10;

int i;

struct User *array=(struct User*)calloc(c,sizeof(struct User));

strcpy(array[0].name,"name1");

array[0].score=1;

n++;

printf("追加用户前:\\n");

for(i=0;i<n;i++)

printf(n-1!=i ? "%s %d," : "%s %d\\n",

array[i].name,array[i].score);

//n>=c说明动态数组array已装满,需扩容

if(n>=c)

printf("对动态数组array进行扩容\\n");

c+=incr;

array=(struct User*)realloc(array,sizeof(struct User)*c);

//追加

strcpy(array[n].name,user_name);

array[n].score=user_score;

n++;

printf("追加用户后:\\n");

for(i=0;i<n;i++)

printf(n-1!=i ? "%s %d," : "%s %d\\n",

array[i].name,array[i].score);

free(array);

return 0;

参考技术A 初始化的类型不能直接用User,必须加上struct。而且数组初始化时元素个数必须是定值,初始化以后元素个数是不可以改变的。
比如初始化数组,元素有10个:
struct User array[10];
如果想增加元素,必须用链表的形式:
struct User *array;
然后用malloc动态分配内存。追问

malloc分配内存的那一步怎么写呀
是array[n]=(User*)malloc(sizeof(User))吗

追答

array=(struct User*)malloc(10*sizeof(struct User));

以上是关于C语言高手帮帮忙。帮这这段代码添加个注释。新手。的主要内容,如果未能解决你的问题,请参考以下文章

请高手帮忙,要解题思路或者是代码,最好c语言。

C语言编程能不能编个显示是I LOVE YOU的图案啊,高手帮帮忙~~

C语言 四则运算 各位C语言高手帮忙做下这题!!谢谢谢谢谢谢

C语言打印图中两点之间的所有路径,不是最短路径!!!谢谢高手麻烦帮忙 代码要实现哈!

C语言编程,求助高手

用C语言编写的这个链表程序可以运行,但是在运行中查找不到给定值的节点, 求高手帮忙改一下,谢谢