2025年南京理工大學計算機科學與技術(shù)學院事業(yè)單位招聘考試綜合類面試真題試卷_第1頁
2025年南京理工大學計算機科學與技術(shù)學院事業(yè)單位招聘考試綜合類面試真題試卷_第2頁
2025年南京理工大學計算機科學與技術(shù)學院事業(yè)單位招聘考試綜合類面試真題試卷_第3頁
2025年南京理工大學計算機科學與技術(shù)學院事業(yè)單位招聘考試綜合類面試真題試卷_第4頁
2025年南京理工大學計算機科學與技術(shù)學院事業(yè)單位招聘考試綜合類面試真題試卷_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2025年南京理工大學計算機科學與技術(shù)學院事業(yè)單位招聘考試綜合類面試真題試卷考試時間:______分鐘總分:______分姓名:______一、C語言程序設(shè)計基礎(chǔ)要求:根據(jù)所給代碼段,找出錯誤并修改,使程序正常運行。1.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的三個整數(shù),計算這三個整數(shù)的平均值并輸出。```c#include<stdio.h>intmain(){inta,b,c;printf("請輸入三個整數(shù):");scanf("%d%d%d",&a,&b,&c);floataverage=(a+b+c)/3;printf("平均值為:%.2f\n",average);return0;}```2.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的半徑,計算并輸出圓的面積和周長。```c#include<stdio.h>#definePI3.14159intmain(){floatradius;printf("請輸入圓的半徑:");scanf("%f",&radius);floatarea=PI*radius*radius;floatcircumference=2*PI*radius;printf("圓的面積為:%.2f\n",area);printf("圓的周長為:%.2f\n",circumference);return0;}```3.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的字符串,并統(tǒng)計其中字母、數(shù)字和空格的個數(shù)。```c#include<stdio.h>#include<ctype.h>intmain(){charstr[100];intletters=0,digits=0,spaces=0;printf("請輸入一個字符串:");scanf("%s",str);for(inti=0;str[i]!='\0';i++){if(isalpha(str[i])){letters++;}elseif(isdigit(str[i])){digits++;}elseif(isspace(str[i])){spaces++;}}printf("字母個數(shù)為:%d\n",letters);printf("數(shù)字個數(shù)為:%d\n",digits);printf("空格個數(shù)為:%d\n",spaces);return0;}```4.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的字符串,逆序輸出。```c#include<stdio.h>#include<string.h>intmain(){charstr[100];printf("請輸入一個字符串:");scanf("%s",str);intlen=strlen(str);for(inti=len-1;i>=0;i--){putchar(str[i]);}printf("\n");return0;}```5.編寫一個C程序,實現(xiàn)以下功能:將用戶輸入的字符串中的小寫字母轉(zhuǎn)換為大寫字母,并輸出。```c#include<stdio.h>#include<ctype.h>intmain(){charstr[100];printf("請輸入一個字符串:");scanf("%s",str);for(inti=0;str[i]!='\0';i++){if(islower(str[i])){str[i]=toupper(str[i]);}}printf("轉(zhuǎn)換為大寫后的字符串為:%s\n",str);return0;}```6.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的兩個整數(shù),判斷它們是否互質(zhì)。```c#include<stdio.h>intgcd(inta,intb){if(b==0){returna;}returngcd(b,a%b);}intmain(){inta,b;printf("請輸入兩個整數(shù):");scanf("%d%d",&a,&b);if(gcd(a,b)==1){printf("這兩個整數(shù)互質(zhì)。\n");}else{printf("這兩個整數(shù)不互質(zhì)。\n");}return0;}```7.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的整數(shù)數(shù)組,找出并輸出最大值。```c#include<stdio.h>intmain(){intarr[10];intmax=0;printf("請輸入10個整數(shù):\n");for(inti=0;i<10;i++){scanf("%d",&arr[i]);if(arr[i]>max){max=arr[i];}}printf("最大值為:%d\n",max);return0;}```8.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的整數(shù)數(shù)組,輸出所有偶數(shù)的和。```c#include<stdio.h>intmain(){intarr[10],sum=0;printf("請輸入10個整數(shù):\n");for(inti=0;i<10;i++){scanf("%d",&arr[i]);if(arr[i]%2==0){sum+=arr[i];}}printf("偶數(shù)的和為:%d\n",sum);return0;}```9.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的整數(shù)數(shù)組,輸出所有素數(shù)的和。```c#include<stdio.h>#include<stdbool.h>boolisPrime(intnum){if(num<=1){returnfalse;}for(inti=2;i*i<=num;i++){if(num%i==0){returnfalse;}}returntrue;}intmain(){intarr[10],sum=0;printf("請輸入10個整數(shù):\n");for(inti=0;i<10;i++){scanf("%d",&arr[i]);if(isPrime(arr[i])){sum+=arr[i];}}printf("素數(shù)的和為:%d\n",sum);return0;}```10.編寫一個C程序,實現(xiàn)以下功能:讀取用戶輸入的整數(shù)數(shù)組,輸出所有非負數(shù)的平均值。```c#include<stdio.h>intmain(){intarr[10],sum=0,count=0;printf("請輸入10個整數(shù):\n");for(inti=0;i<10;i++){scanf("%d",&arr[i]);if(arr[i]>=0){sum+=arr[i];count++;}}if(count>0){printf("非負數(shù)的平均值為:%.2f\n",(float)sum/count);}else{printf("沒有非負數(shù)。\n");}return0;}```四、數(shù)據(jù)結(jié)構(gòu)與算法要求:根據(jù)所給條件,實現(xiàn)以下功能。1.編寫一個C程序,實現(xiàn)一個簡單的線性鏈表,包括創(chuàng)建鏈表、插入節(jié)點、刪除節(jié)點和遍歷鏈表的功能。```c#include<stdio.h>#include<stdlib.h>typedefstructNode{intdata;structNode*next;}Node;Node*createNode(intdata){Node*newNode=(Node*)malloc(sizeof(Node));newNode->data=data;newNode->next=NULL;returnnewNode;}voidinsertNode(Node**head,intdata){Node*newNode=createNode(data);newNode->next=*head;*head=newNode;}voiddeleteNode(Node**head,intkey){Node*temp=*head,*prev=NULL;if(temp!=NULL&&temp->data==key){*head=temp->next;free(temp);return;}while(temp!=NULL&&temp->data!=key){prev=temp;temp=temp->next;}if(temp==NULL)return;prev->next=temp->next;free(temp);}voidprintList(Node*node){while(node!=NULL){printf("%d",node->data);node=node->next;}printf("\n");}intmain(){Node*head=NULL;insertNode(&head,1);insertNode(&head,2);insertNode(&head,3);insertNode(&head,4);insertNode(&head,5);printList(head);deleteNode(&head,3);printList(head);return0;}```2.編寫一個C程序,實現(xiàn)一個棧(使用鏈表實現(xiàn)),包括入棧、出棧、判斷??蘸瞳@取棧頂元素的功能。```c#include<stdio.h>#include<stdlib.h>typedefstructStack{intdata;structStack*next;}Stack;voidpush(Stack**top,intdata){Stack*newNode=(Stack*)malloc(sizeof(Stack));newNode->data=data;newNode->next=*top;*top=newNode;}intpop(Stack**top){if(*top==NULL){return-1;}Stack*temp=*top;intdata=temp->data;*top=temp->next;free(temp);returndata;}intisEmpty(Stack*top){returntop==NULL;}intpeek(Stack*top){if(top==NULL){return-1;}returntop->data;}intmain(){Stack*top=NULL;push(&top,1);push(&top,2);push(&top,3);printf("棧頂元素:%d\n",peek(top));printf("出棧元素:%d\n",pop(&top));printf("棧頂元素:%d\n",peek(top));printf("棧是否為空:%s\n",isEmpty(top)?"是":"否");return0;}```3.編寫一個C程序,實現(xiàn)一個隊列(使用鏈表實現(xiàn)),包括入隊、出隊、判斷隊空和獲取隊首元素的功能。```c#include<stdio.h>#include<stdlib.h>typedefstructQueue{intdata;structQueue*next;}Queue;voidenqueue(Queue**front,Queue**rear,intdata){Queue*newNode=(Queue*)malloc(sizeof(Queue));newNode->data=data;newNode->next=NULL;if(*rear==NULL){*front=*rear=newNode;}else{(*rear)->next=newNode;*rear=newNode;}}intdequeue(Queue**front){if(*front==NULL){return-1;}Queue*temp=*front;intdata=temp->data;*front=(*front)->next;if(*front==NULL){*rear=NULL;}free(temp);returndata;}intisEmpty(Queue*front){returnfront==NULL;}intpeek(Queue*front){if(front==NULL){return-1;}returnfront->data;}intmain(){Queue*front=NULL,*rear=NULL;enqueue(&front,&rear,1);enqueue(&front,&rear,2);enqueue(&front,&rear,3);printf("隊首元素:%d\n",peek(front));printf("出隊元素:%d\n",dequeue(&front));printf("隊首元素:%d\n",peek(front));printf("隊列是否為空:%s\n",isEmpty(front)?"是":"否");return0;}```5.編寫一個C程序,實現(xiàn)快速排序算法,對整數(shù)數(shù)組進行排序。```c#include<stdio.h>voidswap(int*a,int*b){intt=*a;*a=*b;*b=t;}intpartition(intarr[],intlow,inthigh){intpivot=arr[high];inti=(low-1);for(intj=low;j<=high-1;j++){if(arr[j]<pivot){i++;swap(&arr[i],&arr[j]);}}swap(&arr[i+1],&arr[high]);return(i+1);}voidquickSort(intarr[],intlow,inthigh){if(low<high){intpi=partition(arr,low,high);quickSort(arr,low,pi-1);quickSort(arr,pi+1,high);}}intmain(){intarr[]={10,7,8,9,1,5};intn=sizeof(arr)/sizeof(arr[0]);quickSort(arr,0,n-1);printf("排序后的數(shù)組:\n");for(inti=0;i<n;i++){printf("%d",arr[i]);}printf("\n");return0;}```6.編寫一個C程序,實現(xiàn)歸并排序算法,對整數(shù)數(shù)組進行排序。```c#include<stdio.h>voidmerge(intarr[],intl,intm,intr){inti,j,k;intn1=m-l+1;intn2=r-m;intL[n1],R[n2];for(i=0;i<n1;i++)L[i]=arr[l+i];for(j=0;j<n2;j++)R[j]=arr[m+1+j];i=0;j=0;k=l;while(i<n1&&j<n2){if(L[i]<=R[j]){arr[k]=L[i];i++;}else{arr[k]=R[j];j++;}k++;}while(i<n1){arr[k]=L[i];i++;k++;}while(j<n2){arr[k]=R[j];j++;k++;}}voidmergeSort(intarr[],intl,intr){if(l<r){intm=l+(r-l)/2;mergeSort(arr,l,m);mergeSort(arr,m+1,r);merge(arr,l,m,r);}}intmain(){intarr[]={12,11,13,5,6,7};intarr_size=sizeof(arr)/sizeof(arr[0]);mergeSort(arr,0,arr_size-1);printf("排序后的數(shù)組:\n");for(inti=0;i<arr_size;i++){printf("%d",arr[i]);}printf("\n");return0;}```本次試卷答案如下:一、C語言程序設(shè)計基礎(chǔ)1.代碼段中錯誤:`floataverage=(a+b+c)/3;`這行代碼在計算平均值時沒有轉(zhuǎn)換為浮點數(shù),應(yīng)該使用`(float)(a+b+c)/3;`或者`average=(a+b+c)/3.0;`來確保結(jié)果為浮點數(shù)。解析思路:檢查代碼中涉及浮點數(shù)計算的部分,確認是否將所有整數(shù)轉(zhuǎn)換為浮點數(shù)進行運算。2.代碼段中錯誤:在計算周長時,`2*PI*radius;`應(yīng)該轉(zhuǎn)換為浮點數(shù),使用`2*PI*(float)radius;`或者`2*PI*radius

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論