C语言100个经典例题(十五)

目录

【程序71】题目:编写input()和output()函数输入,输出5个学生的数据记录。

【程序72】题目:创建一个链表。

【程序73】题目:反向输出一个链表。 

【程序74】题目:连接两个链表。 

【程序75】题目:放松一下,算一道简单的题目。 


【程序71】题目:编写input()output()函数输入,输出5个学生的数据记录。

程序源代码:

#define N 5 
struct student 
{ char num[6]; 
char name[8]; 
int score[4]; 
} stu[N]; 
input(stu) 
struct student stu[]; 
{ int i,j; 
for(i=0;i<N;i++) 
{ printf("\n please input %d of %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) 
struct student stu[]; 
{ int i,j; 
printf("\nNo. Name Sco1 Sco2 Sco3\n"); 
for(i=0;i<N;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】题目:创建一个链表。

程序源代码:

/*creat a list*/ 
#include "stdlib.h" 
#include "stdio.h" 
struct list 
{ int data; 
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("please input 5 numbers==>\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; 
else ptr=ptr->next; 
} 
ptr=head; 
while(ptr!=NULL) 
{ printf("The value is ==>%d\n",ptr->data); 
ptr=ptr->next; 
} 
} 

【程序73】题目:反向输出一个链表。 

程序源代码:

/*reverse output a list*/ 
#include "stdlib.h" 
#include "stdio.h" 
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("\nplease input 5 data==>\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("The value is ==>%d\n",ptr->data); 
ptr=ptr->next; 
}} 

【程序74】题目:连接两个链表。 

程序源代码:

#include "stdlib.h" 
#include "stdio.h" 
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<num;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); 
} 
} 
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<num;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】题目:放松一下,算一道简单的题目。 

程序源代码:

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("zhu hao shi de shi:%c",64+i); 
} 
} 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑟瑟发抖的可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值