经典C程序100例7180.docx

上传人:b****6 文档编号:8061889 上传时间:2023-01-28 格式:DOCX 页数:8 大小:16.43KB
下载 相关 举报
经典C程序100例7180.docx_第1页
第1页 / 共8页
经典C程序100例7180.docx_第2页
第2页 / 共8页
经典C程序100例7180.docx_第3页
第3页 / 共8页
经典C程序100例7180.docx_第4页
第4页 / 共8页
经典C程序100例7180.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

经典C程序100例7180.docx

《经典C程序100例7180.docx》由会员分享,可在线阅读,更多相关《经典C程序100例7180.docx(8页珍藏版)》请在冰豆网上搜索。

经典C程序100例7180.docx

经典C程序100例7180

经典c程序100例==71--80

【程序71】

题目:

编写input()和output()函数输入,输出5个学生的数据记录。

1.程序分析:

2.程序源代码:

#defineN5

structstudent

{charnum[6];

 charname[8];

 intscore[4];

}stu[N];

input(stu)

structstudentstu[];

{inti,j;

 for(i=0;i

 {printf("\npleaseinput%dof%d\n",i+1,N);

  printf("num:

");

  scanf("%s",stu[i].num);

  printf("name:

");

  scanf("%s",stu[i].name);

   for(j=0;j<3;j++)

   {printf("score%d.",j+1);

    scanf("%d",&stu[i].score[j]);

   }

  printf("\n");

 }

}

print(stu)

structstudentstu[];

{inti,j;

printf("\nNo.NameSco1Sco2Sco3\n");

for(i=0;i

{printf("%-6s%-10s",stu[i].num,stu[i].name);

 for(j=0;j<3;j++)

  printf("%-8d",stu[i].score[j]);

 printf("\n");

}

}

main()

{

 input();

 print();

}

==============================================================

【程序72】

题目:

创建一个链表。

1.程序分析:

           

2.程序源代码:

/*creatalist*/

#include"stdlib.h"

#include"stdio.h"

structlist

{intdata;

structlist*next;

};

typedefstructlistnode;

typedefnode*link;

voidmain()

{linkptr,head;

intnum,i;

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

ptr=head;

printf("pleaseinput5numbers==>\n");

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

{

 scanf("%d",&num);

 ptr->data=num;

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

 if(i==4)ptr->next=NULL;

 elseptr=ptr->next;

}

ptr=head;

while(ptr!

=NULL)

{printf("Thevalueis==>%d\n",ptr->data);

 ptr=ptr->next;

}

}

==============================================================

【程序73】

题目:

反向输出一个链表。

   

1.程序分析:

2.程序源代码:

/*reverseoutputalist*/

#include"stdlib.h"

#include"stdio.h"

structlist

{intdata;

 structlist*next;

};

typedefstructlistnode;

typedefnode*link;

voidmain()

{linkptr,head,tail; 

 intnum,i;

 tail=(link)malloc(sizeof(node));

 tail->next=NULL;

 ptr=tail;

 printf("\npleaseinput5data==>\n");

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

 {

  scanf("%d",&num);

  ptr->data=num;

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

  head->next=ptr;

  ptr=head;

 }

ptr=ptr->next;

while(ptr!

=NULL)

{printf("Thevalueis==>%d\n",ptr->data);

 ptr=ptr->next;

}}

==============================================================

【程序74】

题目:

连接两个链表。

1.程序分析:

2.程序源代码:

#include"stdlib.h"

#include"stdio.h"

structlist

{intdata;

structlist*next;

};

typedefstructlistnode;

typedefnode*link;

linkdelete_node(linkpointer,linktmp)

{if(tmp==NULL)/*deletefirstnode*/

 returnpointer->next;

else

{if(tmp->next->next==NULL)/*deletelastnode*/

  tmp->next=NULL;

 else/*deletetheothernode*/

  tmp->next=tmp->next->next;

 returnpointer;

}

}

voidselection_sort(linkpointer,intnum)

{linktmp,btmp;

 inti,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("\40:

%d\n",min);

pointer=delete_node(pointer,btmp);

}

}

linkcreate_list(intarray[],intnum)

{linktmp1,tmp2,pointer;

inti;

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;

}

returnpointer;

}

linkconcatenate(linkpointer1,linkpointer2)

{linktmp;

tmp=pointer1;

while(tmp->next)

 tmp=tmp->next;

tmp->next=pointer2;

returnpointer1;

}

voidmain(void)

{intarr1[]={3,12,8,9,11};

 linkptr;

 ptr=create_list(arr1,5);

 selection_sort(ptr,5);

}

==============================================================

【程序75】

题目:

放松一下,算一道简单的题目。

1.程序分析:

2.程序源代码:

main()

{

inti,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("zhuhaoshideshi:

%c",64+i);

 }

}

==============================================================

【程序76】

题目:

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

   1/1+1/3+...+1/n(利用指针函数)

1.程序分析:

2.程序源代码:

main()

#include"stdio.h"

main()

{

floatpeven(),podd(),dcall();

floatsum;

intn;

while

(1)

{

 scanf("%d",&n);

 if(n>1)

  break;

}

if(n%2==0)

{

 printf("Even=");

 sum=dcall(peven,n);

}

else

{

 printf("Odd=");

 sum=dcall(podd,n);

}

printf("%f",sum);

}

floatpeven(intn)

{

floats;

inti;

s=1;

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

 s+=1/(float)i;

return(s);

}

floatpodd(n)

intn;

{

floats;

inti;

s=0;

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

 s+=1/(float)i;

return(s);

}

floatdcall(fp,n)

float(*fp)();

intn;

{

floats;

s=(*fp)(n);

return(s);

}

==============================================================

【程序77】

题目:

填空练习(指向指针的指针)

1.程序分析:

     

2.程序源代码:

main()

{char*s[]={"man","woman","girl","boy","sister"};

char**q;

intk;

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

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

 printf("%s\n",*q);

}

}

==============================================================

【程序78】

题目:

找到年龄最大的人,并输出。

请找出程序中有什么问题。

1.程序分析:

2.程序源代码:

#defineN4

#include"stdio.h"

staticstructman

{charname[20];

intage;

}person[N]={"li",18,"wang",19,"zhang",20,"sun",22};

main()

{structman*q,*p;

inti,m=0;

p=person;

for(i=0;i

{if(mage)

 q=p++;

 m=q->age;}

printf("%s,%d",(*q).name,(*q).age);

}

==============================================================

【程序79】

题目:

字符串排序。

1.程序分析:

2.程序源代码:

main()

{

char*str1[20],*str2[20],*str3[20];

charswap();

printf("pleaseinputthreestrings\n");

scanf("%s",str1);

scanf("%s",str2);

scanf("%s",str3);

if(strcmp(str1,str2)>0)swap(str1,str2);

if(strcmp(str1,str3)>0)swap(str1,str3);

if(strcmp(str2,str3)>0)swap(str2,str3);

printf("afterbeingsorted\n");

printf("%s\n%s\n%s\n",str1,str2,str3);

}

charswap(p1,p2)

char*p1,*p2;

{

char*p[20];

strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);

}

==============================================================

【程序80】

题目:

海滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子凭据分为五份,多了一个,这只

   猴子把多的一个扔入海中,拿走了一份。

第二只猴子把剩下的桃子又平均分成五份,又多了

   一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,

   问海滩上原来最少有多少个桃子?

1.程序分析:

2.程序源代码:

main()

{inti,m,j,k,count;

for(i=4;i<10000;i+=4)

{count=0;

m=i;

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

{

 j=i/4*5+1;

 i=j;

 if(j%4==0)

  count++;

 else

  break;

}

 i=m;

 if(count==4)

 {printf("%d\n",count);

  break;}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1