九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

中國海洋大學(xué)C程考試題庫20題.doc

  • 資源ID:12769429       資源大小:91.50KB        全文頁數(shù):14頁
  • 資源格式: DOC        下載積分:5積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要5積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

中國海洋大學(xué)C程考試題庫20題.doc

C程序設(shè)計課程期末上機(jī)考試考試時間:40分鐘考試方式:從下面的20題中隨機(jī)抽取一題,再附加一題,共需完成2道題。分值分配:第一題60分,第二題40分,共100分考試時間:第十八周1 請編寫函數(shù)long fun(long int x),功能是:將長整型數(shù)x中每一位上為奇數(shù)的數(shù)依次取出,并逆序構(gòu)成一個新數(shù)返回。例如:程序運行時輸入123456789,輸出:b=97531。#include<stdio.h>long fun(long int x) long a,b=0;a=x;for(;a!=0;) if(a%10)%2!=0) b=b*10+a%10; a/=10; return b;void main()long a,b; printf("Please input a long int num:"); scanf("%ld",&a); b=fun(a); printf("b=%ldn",b);2 編寫函數(shù)void fun(char *s,char *t,char *p)將未在字符串s中出現(xiàn)、而在字符串t中出現(xiàn)的字符, 形成一個新的字符串放在p中,p中字符按原字符串中字符順序排列,但去掉重復(fù)字符。例如: 當(dāng)s為"12345", t為"8624677"時, p中的字符為: "867"當(dāng)s為”good luck”,t為”thank you very much”時,輸出:”thanyverm”#include<math.h>int test(char *s,int n,char ch) int i; for(i=0;i<n;i+)if(si=ch) return 1; return 0;void fun(char *s,char *t,char *p) int i,j; for(i=j=0;ti!=0;i+)if(test(s,strlen(s),ti)=0&&test(t,i,ti)=0)pj=ti; j+; pj=0;void main()char s150,s250,s350; gets(s1);gets(s2); fun(s1,s2,s3); puts(s3);3 編寫函數(shù)int fun(int m),計算并返回滿足表達(dá)式:1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+n)<=m最大的n。例如,當(dāng)m=10000時,程序輸出:n=38。int fun(int m)int a,i,s; for(a=1,s=0;s<=m;a+) for(i=1;i<=a;i+) s+=i; return(a-2);void main()int x; scanf("%d",&x); printf("n=%dn",fun(x);4 編寫函數(shù)void fun(int *x,int n),它的功能是:求出數(shù)組x中的最小數(shù)和次最小數(shù),并把最小數(shù)和a0中的數(shù)對調(diào)、次最小數(shù)和a1中的數(shù)對調(diào),其余的數(shù)保持不變。如程序運行時若輸入:2 4 6 11 3 9 7 0 5 8,則輸出:0 2 6 11 3 9 7 4 5 8。#define N 10 void fun(int *x,int n) int i,j,k,t; for(i=0;i<2;i+) k=i; for(j=i+1;j<n;j+) if(*(x+k)>*(x+j) k=j; if(k!=i) t=*(x+i);*(x+i)=*(x+k);*(x+k)=t; main() int aN,i;for(i=0;i<N;i+)scanf("%d",a+i);fun(a,N);for(i=0;i<N;i+)printf("%d ",ai);printf("n");5 編寫函數(shù)long fun(int high,int n),功能是:計算并返回high以內(nèi)(不包含high)最大的n個素數(shù)之和。若不足n個,則到最小素數(shù)2為止。例如:若high=100,n=10,則函數(shù)的返回值為:732;若high=11,n=10,則函數(shù)返回:17。long sushu(m)int i; for(i=2;i<m;i+) if(m%i=0) break; if(i>=m) return 1; else return 0;long fun(int high,int n)int i,j=0; long s=0; if(high<=2) return 0; for(i=high-1;i>1;i-) if(sushu(i) s+=i; j+; if(j>=n) return s; return s;void main()int k,n; scanf("%d%d",&k,&n); printf("sum=%ldn",fun(k,n);6 請編寫函數(shù)int fun(int *a,int n),它的功能是:把形參a所指數(shù)組中的偶數(shù)按原順序依次存放到a0、a1、a2、中,把奇數(shù)從數(shù)組中刪除,偶數(shù)個數(shù)通過函數(shù)值返回,以-1作為有效數(shù)據(jù)的結(jié)束標(biāo)志。例:若輸入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,輸出:2 4 6 8 10 12 14 n=7int fun(int *a,int n)int i,j,k=0; *(a+n)=-1; for(i=0;*(a+i)!=-1;i+) if(*(a+i)%2!=0) for(j=i;*(a+j+1)!=-1;j+) *(a+j)=*(a+j+1); *(a+j)=-1; i-; k+; return(n-k);void main()int x15,i,n; for(i=0;i<15;i+)scanf("%d",x+i); n=fun(x,15); for(i=0;xi!=-1;i+)printf("%d ",xi); printf("n=%dn",n);7給定程序中,函數(shù)fun的功能是:有NN矩陣,以主對角線為對稱線,對稱元素相加并將結(jié)果存放在左下三角元素中,右上三角元素置為0。例如,若N=5,有下列矩陣:1 2 3 4 5 計算結(jié)果為:1 0 0 0 02 3 4 5 6 4 3 0 0 03 4 5 6 7 6 8 5 0 04 5 6 7 8 8 10 12 7 05 6 7 8 9 10 12 14 16 9#define N 5void fun(int aNN)int i,j; for(i=0;i<N;i+) for(j=0;j<N;j+) if(j>i)aji+=aij; aij=0;void main()int xNN=1,2,3,4,5,2,3,4,5,6,3,4,5,6,7,4,5,6,7,8,5,6,7,8,9,i,j;fun(x);for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%3d",xij); printf("n");8. 函數(shù)void fun(int x,char * p)實現(xiàn)十進(jìn)制整數(shù)x到二進(jìn)制的轉(zhuǎn)換。轉(zhuǎn)換后的二進(jìn)制數(shù)以字符串的方式放置于p所指向的數(shù)組中。如輸入13,輸出1101,輸入-13,輸出-1101。#include "stdio.h"void fun(int x,char *p)char *q,t; if(x<0) *p+=-;x=-x; if(x=0)*p+=0;*p=0;return; q=p; for(;x!=0;x/=2)*p+=x%2+0; *p=0;for(p-;q<p;q+,p-) t=*q;*q=*p;*p=t; main()int a; char c18; scanf("%d",&a); fun(a,c); printf("%dS BINARY IS: %sn",a,c);9. 編寫函數(shù)int fun(char (*ss)N,int m,char *s),功能是:形參ss指向一個m行N列的二維字符數(shù)組,每行存放一個字符串。求出最大的字符串,復(fù)制到s所指的字符數(shù)組中,然后返回此最大字符串的長度。 #define N 30 int fun(char (*ss)N,int m,char *s) int i,max; max=0; for(i=1;i<m;i+) if(strcmp(ssi,ssmax)>0)max=i; strcpy(s,ssmax); return strlen(ssmax); main() char a8N,bN;int i,len;for(i=0;i<8;i+)gets(ai);len=fun(a,8,b);printf("len=%d,str=%sn",len,b);10 給定程序中,函數(shù)void fun(char *s)的功能是:在形參s所指字符串中的每個數(shù)字字符之后插入一個*號。例如,形參s所指的字符串為:def35adh3kjsdf7。執(zhí)行結(jié)果為:def3*5*adh3*kjsdf7*。#include<stdlib.h>#include<string.h>void fun(char *s)int i,j; char a100; for(i=0,j=0;*(s+i)!=0;i+,j+) aj=*(s+i); if(*(s+i)>=0&&*(s+i)<=9) *(a+j+1)=*; j+; aj=0; strcpy(s,a); void main()char str80; gets(str); fun(str); puts(str);11給定程序中,函數(shù)void fun(char *s)的功能是:把形參s所指字符串中下標(biāo)為偶數(shù)的字符右移到下一個偶數(shù)位置,最右邊被移出字符串的字符繞回放到第一個偶數(shù)位置,下標(biāo)為奇數(shù)的字符不動(注:字符串的長度大于等于2)。例:若輸入:abcd123,輸出:3badc21void fun(char *s) int i,t,l; l=strlen(s); if(l%2=1) t=sl-1; for(i=l-1;i>0;i-=2) si=si-2; s0=t; else t=sl-2; for(i=l-2;i>0;i-=2) si=si-2; s0=t; void main()char str80; gets(str); fun(str); puts(str);12編寫函數(shù)void fun(char *s1,char *s2),功能是:對形參s1所指字符串升序排序,并將排序后下標(biāo)為偶數(shù)的字符取出,寫入形參s2所指字符數(shù)組中,形成一個新串。例如,下面程序若輸入:The C Programming Language,輸出:LTaegghmnor。(表空格)void fun(char *s1,char *s2)int i,j,n; char t; for(i=0;*(s1+i)!=0;i+) n=i; for(j=i;*(s1+j)!=0;j+) if(*(s1+n)>*(s1+j) n=j; t=*(s1+n);*(s+n)=*(s+i);*(s+i)=t; for(i=0;*(s1+)!=0;i+) if(i%2=0) *s2=*(s1+i); s2+; *s2=0;void main()char a80,b80; gets(a); fun(a,b); puts(b);13函數(shù)void fun(char s)的功能是:將s所指字符串中ASCII值為奇數(shù)的字符刪除。例如,若s所指字符串中的內(nèi)容為:“ABCDEFG12345”,其中字符A的ASCII碼值為奇數(shù)、字符1的ASCII碼值也為奇數(shù)、都應(yīng)當(dāng)刪除,其它依此類推。最后s中內(nèi)容是:“BDF24”。void fun(char s)int i,j; for(i=0;si!=0;i+) if(si%2=1) for(j=i;sj!=0;j+) sj=sj+1; i-; void main()char a80; gets(a); fun(a); puts(a);14請編寫一個函數(shù)int fun(long int x),它的功能是:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1;否則返回0。所謂“同構(gòu)數(shù)”是指這樣的數(shù),它出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù),輸出"Yes"。要求x的值不大于10000。int fun(long int x)long s; s=x*x; while(x!=0) if(s%10!=x%10) return 0; x/=10; s/=10; return 1;void main()int x; scanf("%d",&x); if(fun(x)=1)puts("Yse"); else puts("No");15編寫取子字符串函數(shù)void fun(char s1,char s2,int m,int n),其作用是將字符數(shù)組s2中從第m個字符開始的共n個字符拷貝到數(shù)組s1中;若s2中剩余字符不足n個,則取到尾部。程序運行時,當(dāng)輸入"abcd123"、4,3時應(yīng)輸出"d12";當(dāng)我們輸入"abcd123"、4,6時應(yīng)輸出"d123"。注意,這里是將1作為起始計數(shù)。#include<stdio.h>void fun(char s1,char s2,int m,int n)int i,a,b; a=strlen(s2); b=(a<m+n-1?a:m+n-1); for(i=m-1;i<b;i+) *s1=*(s2+i);s1+; *s1=0;main()static char a100,b100; int s,len; void fun(char s1,char s2,int m,int n); puts("ENTER A STRING:"); gets(a); puts("ENTER STARTING POSITION AND LENGTH:"); scanf("%d,%d",&s,&len); fun(b,a,s,len); printf("THE SRBSTING IS:%sn",b);16. 編寫函數(shù)void fun(char *str),將參數(shù)字符串中各單詞首字母變大寫,其余字母變小寫。輸入輸出在main中實現(xiàn)。如輸入"you HAVE 10 books,dont you? " 輸出"You Have 10 Books,Dont You?"。單詞以空格、逗號、句號分隔。#include<stdio.h>void fun(char *str)int i,j; for(i=0;stri;i+) if(stri>=A&&stri<=Z) stri+=32; if(str0>=a&&str0<=z) str0-=32; for(i=0;stri;i+) if(stri= |stri=,|stri=.) if(stri+1>=a&&stri+1<=z) stri+1-=32; main()char a100; gets(a);fun(a);puts(a);17. n個整數(shù),前面各數(shù)循環(huán)順序后移m個位置,最后m個數(shù)變成最前面m個數(shù)。寫函數(shù)void fun(int *p,int n,int m),實現(xiàn)上述功能。在main()中輸入與輸出。如下面程序輸出 7 8 9 10 1 2 3 4 5 6 。注意,m可能大于n。#include "stdio.h"void fun(int *p,int n,int m) int i,j,k,t; k=m%n; for(i=0;i<k;i+) t=pn-1; for(j=n-2;j>=0;j-) pj+1=pj; p0=t; main()void fun(int *,int ,int ); int x10=1,2,3,4,5,6,7,8,9,10,i; fun(x,10,14); for(i=0;i<10;i+) printf("%d ",xi); printf("n"); 18. 編寫函數(shù)void fun(char *s1,char *s2),實現(xiàn)字符串s1與s2的交叉連接,連接后得到的新字符串放在s1中。如輸入abc<CR>12345<CR>,輸出a1b2c345,若輸入abcde<CR>123<CR>,則輸出a1b2c3de。 #include<stdio.h>#include<string.h>void fun(char *s1,char *s2)int i,j,k; for(j=0,i=1;s2j!=0;) for(k=strlen(s1);k>=i;k-) s1k+1=s1k; s1i=s2j; j+;i+; if(s1i) i+; main()char a100,b100; void fun(char *,char *); gets(a); gets(b); fun(a,b); puts(a);19. 傳說可以根據(jù)兩個人的生日來計算其緣分.方法:將兩個人的生日各位相加,將得到的數(shù)再一次各位相加,直到其值為一個一位數(shù),此數(shù)即代表兩個人的緣分.例如,兩個生日為:19820523,19841111,則各位相加:1+9+8+2+5+2+3+1+9+8+4+1+1+1+1得:56;再5+6得11;再 1+1得2,即為兩人的緣分.編寫計算緣分程序,兩個生日由鍵盤輸入.#include "stdio.h"int fun(long x,long y) int i,s,t; for(i=0,s=0;i<8;i+) s+=(x%10+y%10); x=x/10; y=y/10; while(s>=10) for(i=0,t=0;s;i+) t+=s%10; s=s/10; s=t; return s; main()long x,y;int k;scanf("%ld%ld",&x,&y);k=fun(x,y);printf("yuan fen is %d",k);20. m個人圍成一圈,1,2,3循環(huán)報數(shù),報到3的人退出,并將退出的序號依次存到數(shù)組p中,包括最后一個人的序號。到最后只余1人,輸出最后留下的是第幾號(最初的序號,以1起始)及。若m=6,則輸出n=1<CR> 3 6 4 2 5 1;若m=10,則輸出n=4<CR> 3 6 9 2 7 8 5 10 4;若m=100,則輸出n=91。函數(shù)int fun(int n ,int *p)實現(xiàn)上述功能,返回n個人中最后余的1人的起始序號,并將退出的序號順序?qū)懭雙指向的數(shù)組中。#include<stdlib.h>#include<alloc.h>#include<stdio.h>int fun(int n ,int *p)int i,*s,j,k,t; s=(int *)malloc(sizeof(int)*n); for(i=0;i<n;i+)si=i+1; t=0; for(k=0,i=0,j=0;k<n-1;i+)if(si!=0)j+; if(j=3)pt=si; t+; si=0; j=0;k+; if(i=n-1) i=-1; for(i=0;i<n;i+)if(si!=0) break; pt=si; return si;void main()int m,a10000,i,num; scanf("%d",&m); num= fun(m,a); printf("n=%dn",num); for(i=0;i<m;i+) printf("%8d ",ai); printf("n");14

注意事項

本文(中國海洋大學(xué)C程考試題庫20題.doc)為本站會員(s****u)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!