问最后留下的是原来第几号的那位。 1. 程序分析: 2.程序源代码: #define nmax 50 main() {
int i,k,m,n,num[nmax],*p;
printf(\scanf(\p=num;
for(i=0;i while(m if(*(p+i)!=0) k++; if(k==3) { *(p+i)=0; k=0; m++; } i++; if(i==n) i=0; } while(*p==0) p++; printf(\} ============================================================== 【程序70】 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。1.程序分析: 2.程序源代码: main() { int len; char *str[20]; printf(\scanf(\len=length(str); printf(\} length(p) char *p; { 36 int n; n=0; while(*p!='\\0') { n++; p++; } return n; } 【程序71】 题目:编写input()和output()函数输入,输出5个学生的数据记录。1.程序分析: 2.程序源代码: #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 { printf(\ printf(\ scanf(\ printf(\ scanf(\ for(j=0;j<3;j++) { printf(\ scanf(\ } printf(\ } } print(stu) struct student stu[]; { int i,j; printf(\for(i=0;i { printf(\ for(j=0;j<3;j++) printf(\ printf(\} } 37 main() { input(); print(); } ============================================================== 【程序72】 题目:创建一个链表。 1.程序分析: 2.程序源代码: /*creat a list*/ #include \#include \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(\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 \ 38 #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; 39 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; 40 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C程序设计五百例--用c语言解决数学建模问题(8)在线全文阅读。
相关推荐: