C语言程序设计怎么使用?

C语言程序设计怎么使用?,第1张

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include

"malloc.h"//添加这个,因为要用到malloc函数

typedef

struct

Lnode

{

int

cttr

struct

Lnode

*next

}Lnode

typedef

struct

Lqueue

{

struct

Lnode

*front

struct

Lnode

*rear

}Lqueue,*LinkedQ

LinkedQ

init()

{

LinkedQ

Q=(LinkedQ)malloc(sizeof(Lqueue))

struct

Lnode

*head=(Lnode*)malloc(sizeof(Lnode))

head->next=NULL

Q->front=head

Q->侍散磨rear=head

return

Q

}

int

empty(LinkedQ

Q)

{

if(Q->front==Q->rear)

{

return

1

}

else

{

return

0

}

}

void

push(LinkedQ

Q,int

ttr)

{

Lnode

*node

node=(Lnode*)malloc(sizeof(Lnode))

if(node==NULL)

{

printf("error!\n")

}

else

{

node->cttr=ttr

node->next=NULL

Q->rear->next=node

Q->rear=node

}

}

void

pop(LinkedQ

Q)

{

Lnode

*node

if(Q->front==Q->rear)

{

printf("error!\n")

}

else

{

node=Q->front->next

Q->front->next=node->next

if(node==Q->rear)

{

Q->rear=Q->front

}

free(node)

}

}

void

Qprint(LinkedQ

Q)

{

Lnode

*node=Q->front->next//-------------这里改过了

printf("data:

")

while(node!=NULL)

{

printf("掘衫%d

"老斗,node->cttr)

node=node->next

}

}

void

main()

{

LinkedQ

Q

int

ic//去掉没用的ia

scanf("%d",&ic)

while(ic!=0)

{

if(ic==-1)

Q=init()

else

if(ic%2==0)

{

push(Q,ic)

Qprint(Q)

}

else

if(ic%2!=0)

{

pop(Q)

Qprint(Q)

}

scanf("%d",&ic)

}

}

如上面是一个队列的问题,这是一个具体应用。

c语言可以用在很多方面,总的来时就是编写代码,写软件!

#include<stdio.h>//链接标准头文件

#define N 10 //定义常量N并赋值为10

void main() //主函数入口

{ //表示主函数开始

int i,j//定义整形变量i和j

int grade[N],temp//定义N维(N=宏乎锋蔽晌10,也就是十维啦^^)整形数组和整形变量temp

printf("输入10个数\n")//在屏幕上显式“输入10个数”并且换行

for(i=0i<Ni++) //开始for循环,从i=0,每次加1,直到i=9,共需循环10次

{ //循环体开始

scanf("%d",&grade[i])//依次获取用户输入的整数值并存入数组grade中

} //循环结束

for(i=0i<Ni++) //开始外层for循环,从i=0,每次加1,直到i=9

{ //外层循环体开始

for(j=0j<N-1-ij++) //开始外层for循环,从j=0,每次加1直到i等于外层循环的N-j-1

{ //内层循环体开始

if(grade[j]>grade[j+1]) //条件判断

{ //如果整形数组前面的数比其后的大,执行以下语句

temp=grade[j+1]//将比较小的数赋值给temp

grade[j+1]=grade[j]//将比较大的数赋值给数组中后面的变量

grade[j]=temp//将比较小的数赋值给数组中前面的变量

} //从此便完顷顷成大小变量的交换,使得小值往前放

} //结束内层循环

} //结外内层循环,完成排序

printf("最后排序为:\n")//在屏幕显式“最后排序为:”并换行

for(i=0i<Ni++) //同开始的for循环类似

{ //开始循环输出

printf("%d",grade[i])//只是这里要逐个输出数组中的十个数值

} //结束循环输出

printf("最小值为%d\n",&grade[0])

printf("最大值为%d\n",&grade[9])

printf("\n")//输出换行到屏幕,看不到什么效果,可删掉

} //结束main()函数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11991451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存