




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1、 編程題(9道題,每道20分,共180分)1、 編寫一個完整的程序,使之能完成以下功能:從鍵盤中輸入若干個整數,用鏈表儲存這些輸入的數,并要求存儲的順序與輸入的順序相反。#include<stdio.h>#include<stdlib.h>typedef struct LNodeint data;struct LNode *next;LNode,*LinkList;int main()LinkList L;LNode *s;int x,n;L = (LinkList )malloc(sizeof(LNode);L->next = NULL;scanf(&quo
2、t;%d",&n);while(n-)scanf("%d",&x);s = (struct LNode *)malloc(sizeof(struct LNode);s->data = x;s->next = L->next;L->next = s;while(L->next)printf("%d ",L->next->data);L = L->next;printf("n");return 0;2、 編寫一個函數,把整數序列分成兩個部分,使得左邊部分都不大于右邊
3、部分,不需要排序。 ( 考察的是快速排序的部分)#include<stdio.h>int partion(int arr,int n);int main()int a20,n,i;scanf("%d",&n);for(i = 0;i < n;i +)scanf("%d",&ai);partion(a,n); printf("調整后序列為:n");for(i = 0;i < n;i +)printf("%d ",ai);printf("n");/printf
4、("%dn",partion(a,n);return 0;int partion(int arr,int n)int i = 0,j = n-1;int pivot = arr0;while(i < j)while(i < j && arrj > pivot) j-;arri = arrj;while(i < j && arri < pivot) i+;arrj = arri;arri = pivot;printf("首選數字現在是第%d個,是%dnn",i+1,arri);return i;
5、3、 有兩個整數數組A和B,它們分別有m、n個整數。并且都是按非遞減序列,現將B數組插入A數組中,使得A數組中各元素不大于B數組中各元素,且還是非遞減序列。#include<stdio.h>void insert(int A,int B,int m, int n);int main()int a30,b30;int i,m,n;scanf("%d %d",&m,&n);for(i = 0;i < m;i +)scanf("%d",&ai);for(i = 0;i < n;i +)scanf("%d
6、",&bi);insert(a,b,m,n);return 0;void insert(int a,int b,int m, int n)int i,j,k = m-1;int temp = am - 1;for(j=0;bj<ak;j+,k+)for(i=k;ai>bj;i-)ai+1=ai;ai+1=bj;for(i = 0;i<k+1;i +)printf("%d ",ai);printf("n");for(j = 0;j<n;j+)if(bj>temp)printf("%d ",
7、bj);printf("n");4、 兩個遞增有序整數數列鏈表La和Lb,將他們合并后,變成一個新的鏈表,要求該鏈表遞減排序。(結點node由整型data和節(jié)點指針next構成)#include<stdio.h>#include<stdlib.h>typedef struct LNodeint data;struct LNode *next;LNode,*LinkList;LinkList CreateList();LinkList MergeList(LinkList La,LinkList Lb);int main()LinkList La;Li
8、nkList Lb;La = (LinkList)malloc(sizeof(LNode);Lb = (LinkList)malloc(sizeof(LNode);La = CreateList();Lb = CreateList();LinkList L = MergeList(La,Lb);while(L->next) printf("%d ",L->next->data); L = L->next; return 0;LinkList CreateList()/創(chuàng)建鏈表,頭插法LinkList L;LNode *s;int n; L = (Li
9、nkList)malloc(sizeof(LNode);L->next = NULL;while(scanf("%d",&n)!=EOF)s = (struct LNode *)malloc(sizeof(struct LNode);s->data = n;s->next = L->next;L->next = s;return L;LinkList MergeList(LinkList La,LinkList Lb)/頭插法LNode *r,*pa = La->next,*pb = Lb->next;La->next
10、 = NULL;while(pa && pb)if(pa->data <= pb->data)r = pa->next;pa->next = La->next;La->next = pa;pa = r;elser = pb->next;pb->next = La->next;La->next = pb;pb = r;if(pa)pb = pa;while(pb)r = pb->next;pb->next = La->next;La->next = pb;pb = r;free(Lb);re
11、turn La; 5、編寫一個函數,刪除鏈表中的最小值。(結點node由整型data和節(jié)點指針next構成)#include<stdio.h>#include<stdlib.h>typedef struct LNodeint data;struct LNode *next;LNode,*LinkList;LinkList CreateList();LinkList DeleteMin(LinkList L);int main()LinkList L,Head;L = (LinkList)malloc(sizeof(LNode);L = CreateList();Head
12、 = DeleteMin(L);while(Head->next) printf("%d ",Head->next->data); Head = Head->next; return 0;LinkList CreateList()LinkList L;LNode *s;int n; L = (LinkList)malloc(sizeof(LNode);L->next = NULL;while(scanf("%d",&n)!=EOF)s = (struct LNode *)malloc(sizeof(struct LN
13、ode);s->data = n;s->next = L->next;L->next = s;return L;LinkList DeleteMin(LinkList L)LNode *pre = L,*p = pre->next;LNode *minpre = pre,*minp = p;while(p)if(p->data < minp->data)minp = p;minpre = pre;pre = p;p = p->next;minpre->next = minp->next;free(minp);return L;6
14、、 編寫函數判斷小括號是否匹配。#include<stdio.h>#include<string.h>int main()char a30,b30;int i,j = 0,flag = 0;scanf("%s",a);int n = strlen(a);if(a0 = ')' && n%2 != 0)printf("NO!n");elsefor(i = 0;i < n;i +)if(ai = '(')bj+ = ai;if(ai = ')')j-;if(j=0
15、&& i = n-1)flag = 1;if(flag = 1)printf("YES!n");elseprintf("NO!n");return 0;7、 對多個字符串進行字典排序#include<stdio.h>#include<string.h>void Sort(char *arr,int n);int main()char *str100,p100100;int i,n;scanf("%d",&n);for(i = 0;i < n;i +)scanf("%s&q
16、uot;,pi);stri = pi;Sort(str,n);for(i = 0;i < n;i +)puts(stri);return 0;void Sort(char *arr,int n)int i,j;char *temp;for(i = 1;i < n;i +)for(j = 0;j < n-i;j +)if(strcmp(arrj,arrj+1)>0)temp=arrj;arrj=arrj+1;arrj+1=temp;8、 編寫一個函數,使之能完成以下功能:利用遞歸方法找出一個數組中的最大值和最小值,要求遞歸調用函數的格式如下:MinMaxValue(arr
17、,n,&max,&min),其中arr是給定的數組,n是數組的個數,max、min分別是最大值和最小值。#include<stdio.h>void MinMaxValue(int arr,int n,int *max,int *min);int main()int a100,n,i;int Max,Min;scanf("%d",&n);for(i=0;i<n;i+)scanf("%d",&ai);MinMaxValue(a,n,&Max,&Min);printf("Max = %
18、dn",Max);printf("Min = %dn",Min);return 0;void MinMaxValue(int arr,int n,int *max,int *min)if(n=1)*max = arr0;*min = arr0;elseint Max = arr0;int Min = arr0;MinMaxValue(arr+1,n-1,max,min);if(*max<Max) *max = Max;if(*min>Min) *min = Min;9、 有兩字符數組s和t,求t在s中出現第一次的開始位置,如果沒有則輸出“No”,有則輸
19、出開始位置。法一#include<stdio.h>#include<string.h>int start(char s,char t);int main()char a80,b80;scanf("%s",a);scanf("%s",b);int k = start(a,b);if(k = -1)printf("No!n");elseprintf("%dn",k+1);return 0;int start(char s,char t)int m = strlen(s),i;char *p,*q
20、;for(i = 0;i < m;i +)p = s + i;q = t;while(*p && *q && *p = *q)*p +;*q +;if(*p - *q = *p)return i;return -1;法二:#include<stdio.h>#include<string.h>int start(char s,char t);int main()char a80,b80;scanf("%s",a);scanf("%s",b);int k = start(a,b);if(k = -
21、1)printf("No!n");elseprintf("%dn",k+1);return 0;int start(char s,char t)/*int m = strlen(s),n = strlen(t),i,j=0,k;for(i = 0;i < m;i +) k = 0;k = k+i;while(k<m && j<n) if(sk = tj) k+;j+; else j = 0; continue; if(j = n-1) return i; break; */int m = strlen(s);int n = strlen(t);int i=0,j=0;while(i<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標準商業(yè)借款合同范本
- 2024年診斷用藥項目資金需求報告代可行性研究報告
- 2025年視覺識別設計合同范本
- 2025信托公司與銀行存款保管合同
- 2025解除勞動合同協議書樣本格式
- 2025商業(yè)店鋪租賃合同模板
- 2025年度合作合同貨車掛靠協議
- 2025華瑞科技產品銷售合同副本(修正版)
- 2025健身教練勞動合同范本
- 2025音樂演出取消、延遲保險合同
- 產學研協同創(chuàng)新機制
- 視頻監(jiān)控維保項目投標方案(技術標)
- 礦山生態(tài)修復施工組織設計
- 星巴克消費者數據分析報告
- 實時數據采集系統(tǒng)方案
- 清熱解毒藥品行業(yè)市場研究報告
- PMC-651T配電變壓器保護測控裝置使用說明書V1.2
- 中國紅色革命故事英文版文章
- 《體育保健學》課件-第三章 運動性病癥
- 雷雨話劇第四幕雷雨第四幕劇本范文1
- 辦公設備維保服務投標方案
評論
0/150
提交評論