好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计100个经典例子

天下 分享 时间: 加入收藏 我要投稿 点赞

struct list *next; };

typedef struct list node; typedef node *link; void main() { link ptr,head; int num,i;

ptr=(link)malloc(sizeof(node)); ptr=head;

printf(\for(i=0;i<=4;i++) {

scanf(\ ptr->data=num;

ptr->next=(link)malloc(sizeof(node)); if(i==4) ptr->next=null; else ptr=ptr->next; }

ptr=head;

while(ptr!=null)

{ printf(\ ptr=ptr->next; } }

============================================================== 【程序73】

题目:反向输出一个链表。 1.程序分析: 2.程序源代码:

/*reverse output a list*/ #include \#include \struct list { int data;

struct list *next; };

typedef struct list node; typedef node *link; void main()

{ link ptr,head,tail; int num,i;

tail=(link)malloc(sizeof(node)); tail->next=null; ptr=tail;

printf(\ for(i=0;i<=4;i++) {

scanf(\ ptr->data=num;

head=(link)malloc(sizeof(node)); head->next=ptr; ptr=head; }

ptr=ptr->next; while(ptr!=null)

{ printf(\ ptr=ptr->next; }}

============================================================== 【程序74】

题目:连接两个链表。 1.程序分析: 2.程序源代码: #include \#include \struct list { int data;

struct list *next; };

typedef struct list node; typedef node *link;

link delete_node(link pointer,link tmp) {if (tmp==null) /*delete first node*/ return pointer->next; else

{ if(tmp->next->next==null)/*delete last node*/ tmp->next=null;

else /*delete the other node*/ tmp->next=tmp->next->next; return pointer; } }

void selection_sort(link pointer,int num) { link tmp,btmp; int i,min; for(i=0;i { tmp=pointer; min=tmp->data;

btmp=null;

while(tmp->next)

{ if(min>tmp->next->data) {min=tmp->next->data; btmp=tmp; }

tmp=tmp->next; }

printf(\

pointer=delete_node(pointer,btmp); } }

link create_list(int array[],int num) { link tmp1,tmp2,pointer; int i;

pointer=(link)malloc(sizeof(node)); pointer->data=array[0]; tmp1=pointer;

for(i=1;i{ tmp2=(link)malloc(sizeof(node)); tmp2->next=null; tmp2->data=array[i]; tmp1->next=tmp2; tmp1=tmp1->next; }

return pointer; }

link concatenate(link pointer1,link pointer2) { link tmp; tmp=pointer1; while(tmp->next) tmp=tmp->next; tmp->next=pointer2; return pointer1; }

void main(void)

{ int arr1[]={3,12,8,9,11}; link ptr;

ptr=create_list(arr1,5); selection_sort(ptr,5); }

============================================================== 【程序75】

题目:放松一下,算一道简单的题目。 1.程序分析:

2.程序源代码: main() {

int i,n;

for(i=1;i<5;i++) { n=0; if(i!=1) n=n+1; if(i==3) n=n+1; if(i==4) n=n+1; if(i!=4) n=n+1; if(n==3)

printf(\ } }

============================================================== 【程序76】

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数

1/1+1/3+...+1/n(利用指针函数) 1.程序分析: 2.程序源代码: main()

#include \main() {

float peven(),podd(),dcall(); float sum; int n; while (1) {

scanf(\ if(n>1) break; }

if(n%2==0) {

printf(\ sum=dcall(peven,n); } else

{

printf(\ sum=dcall(podd,n); }

printf(\}

float peven(int n) {

float s; int i; s=1;

for(i=2;i<=n;i+=2) s+=1/(float)i; return(s); }

float podd(n) int n; {

float s; int i; s=0;

for(i=1;i<=n;i+=2) s+=1/(float)i; return(s); }

float dcall(fp,n) float (*fp)(); int n; {

float s; s=(*fp)(n); return(s); }

============================================================== 【程序77】

题目:填空练习(指向指针的指针) 1.程序分析: 2.程序源代码: main()

{ char *s[]={\char **q; int k;

for(k=0;k<5;k++)

{ ;/*这里填写什么语句*/

C语言程序设计100个经典例子

structlist*next;};typedefstructlistnode;typedefnode*link;voidmain(){linkptr,head;intnum,i;ptr=(link)malloc(sizeof(node));ptr=head;printf(\for(i=0;i<=4;i++)
推荐度:
点击下载文档文档为doc格式
32dvj6htwi0088t3x4ji0cqsi0v0jd00p95
领取福利

微信扫码领取福利

微信扫码分享