




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上程序填空題一(已查) 1. 下面C語言程序將兩個遞增有序的數值a和b合并一個數組c,并保持遞增次序,最后輸出數組c.#define M 6#define N 5main( ) int aM=1,3,5,7,9,11, bN=2,4,6,8,10; int cM+N; int i ,j, k; i=j=k=0; while( 1 )/* 答案i<M&&j<N */ if(ai<bj) ck+=ai+;
2、60; else ck+=bj+; while( 2 ) /* 答案i<M */ ck+=ai+; while(j<N) ck+=( 3 ) /* 答案bj+; */ for(k=0;k<( M+N );k+) /* 答案M+N */printf(“%dt”,ck);2下面程序的作用是將以下給出的字符按其格式讀入數組ss中,然后輸出行、列號之和為3的數組元素,請在_處填入正確內容。AafcBdebCgfDmain()static char ss43'A','a'
3、,'f','c','B','d','e','b','C','g','f','D'; int x,y,z; for(x0;【1】;x)/*答案 x<4*/ for(y0;【2】;y)/*答案 y<3*/ zxy;if(【3】)printf("cn",ssxy);/*答案 z=3*/ 程序填空題二(已查)1下面程序的功能是不用第三個變量,實現兩個數的對調操作。main() int a,b
4、; scanf("%d%d",&a,&b); printf("a=%d,b=%dn",a,b); a= ; /* 答案a+b或者 ab */ b= ; /* 答案a-b或者 ba */ a= ; /* 答案a-b或者 ab */printf("a=%d,b=%dn",a,b); 2下面程序的功能是根據近似公式:/6 1/12+1/22+1/32+ +1/n2,求值。#include
5、<math.h> /*數學函數數包含在頭函數math.h 中*/double pi(long n) double s=0.0; long i; for(i=1;i<=n;i+) s=s+ ; /* 答案1.0/(float)(i*i) */ return( );/* 答案sqrt(6*s) */3下面程序的功能是計算1-3+5-7+ -99+101的值。main() int
6、;i,t=1,s=0; for(i=1;i<=101;i+=2) ;/* 答案t=t*i */ s=s+t; ;/* 答案t=t>0?-1:1 */ printf("%dn",s);4下面程序的功能是從鍵盤上輸入若干學生的學習成績,統計并輸出最高成績和最低成績,當輸入為負數時結束輸入。main() float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ) /* 答案 x>=0
7、*/ if(x>amax) amax=x; if( ) amin=x;/* 答案 x<amin */ scanf("%f",&x); printf("namax=%fnamin=%fn",amax,amin);5下面程序的功能是將形參x的值轉換為二進制數,所得的二進制數放在一個一維數組中返回,二進制數的最低位放在下標為0的元素中。fun(int x,int b) int k=0,r; do r=x%
8、60; ;/* 答案2 */ bk+=r; x/= ;/* 答案 2 */ while(x);6下面程序的功能是輸出100以內的個位數為6、且能被3整除的所有數。main() int i,j; for(i=0; ;i+) /*答案 i<=9 */ j=i*10+6; if( ) countinue;/*答案 j%3!=0 */ printf("%d",j); 7下面程序的功能是用輾轉相除法求兩個正整數m和
9、n的最大公約數。int hcf(int m,int n) int r; if(m<n) r=m; ;/* 答案 m=n */ n=r; r=m%n; while( ) /* 答案 r!=0 */ m=n; n=r; r=m%n; ;/* 答案 return(n) */8下面程序的功能是使用冒泡法對輸入的10個浮點數從小到大進行排序。排好序的10個數分兩行輸出。程序如下:main() ;
10、60;/* 答案 float a10 */ int i,j; printf("Input 10 numbers pleasen"); for(i=0; ;i+ ) /* 答案 i<=9 */ scanf("%f", &ai); printf("n"); for(i=2; ;i+ ) /* 答案 i<=8 */ for(j=0;
11、60; ;j+ ) /* 答案 j<=9-i */ if( ) /* 答案 aj>aj+1 */ x=aj; ;/* 答案aj=aj+1 */ aj+1=x; printf("The sorted 10 numbers;n"); for(i=0; ;i+ ) /* 答案 i<=9 */ if( ) /
12、* 答案 i%5=0 */ printf("n"); printf("%ft",ai); printf("n");9下面程序的功能是讀入20個整數,統計非負數個數,并計算非負數之和。main() int i,a20,s,count; s=count=0; for(i=0;i<20;i+ ) scanf("%d", );/* 答案 &ai */ for(i=0;i<20;i+) if(ai<0)
13、;;/* 答案 continue */ s+=ai; count+; printf("s=%dt count=%dn",s,count);10下面程序的功能是刪除字符串s中的空格。main() char *s="Beijing ligong daxue"; int i,j; for(i=j=0;si!='0';i+) if(si!= ' ') ;/* 答案 sj+=si */ else
14、160; ;/* 答案 sj=si */ sj= '0'; printf("%s",s);11下面程序的功能是將字符串s中所有的字符'c'刪除。請選擇填空。#include<stdio.h>main( ) char s80; int i,j; gets(s); for(i=j=0;si!= '0';i+ ) if(si!= 'c') ;/* 答案 sj+=s
15、i */ sj= '0'; puts(s);12下面程序的功能是輸出兩個字符串中對應相等的字符。請選擇填空。#include <stdio.h>char x="programming";char y="Fortran";main() int i=0; while(xi!= '0' && yi!= '0') if(xi=yi) printf("%c",
16、; );/* 答案 xi+ */ else i+; 13下面程序的功能是將字符串s中的每個字符按升序的規則插到數組a中, 字符串a已排好序。#include <string.h>main() char a20="cehiknqtw"; char s="fbla"; int i,k,j; for(k=0;sk!= '0';k+ ) j=0; while(sk>=aj &&&
17、#160;aj!= '0' ) j+; for( ) /* 答案 i=strlen(a);i>=j;i- */ ;/* 答案 ai+1=ai */ aj=sk; puts(a);14下面的函數index(char s, char t)檢查字符串s中是否包含字符串t,若包含,則返回t在s中的開始位置(下標值),否則送回-1。index(char s, char t) int i,j,k; for(i=0;s
18、i!= '0';i+ ) for(j=i,k=0; && sj=tk;j+,k+) ;/* 答案 tk!= '0' */ if( ) /* 答案 tk= '0' */ return (i); return(-1);15下面程序的功能是計算S= 1!+2!+n! 。long fun(int n) int
19、 i; long s=1; for(i=1;i ;i+) /* 答案 <=n */ s*=i; return( );/* 答案 s */main() int k,n; long s; scanf("%d",&n); s= ;/*答案0 */ for(k=0;k<=n;k+) s+= ;/* 答案 fun(k) */ printf("%ldn",s
20、);16以下程序是計算學生的年齡。已知第一位最小的學生年齡為10歲,其余學生的年齡一個比一個大2歲,求第5個學生的年齡。age( int n ) int c; if( n=1 ) c=10; else c= ;/* 答案 2+age(n-1) */ return(c);main() int n=5;printf("age:%dn", );/* 答案 age(5) */17下面的函數是一個求
21、階乘的遞歸調用函數。facto(int n) if( n = 1 ) ;/* 答案 return(1) */else return( );/* 答案 n*facto(n-1) */18下列函數是求一個字符串str的長度。int strlen( char *str ) if( ) return (0);/* 答案 str='0' */
22、 else return ( );/* 答案 1+strlen(str+1) */19函數revstr(s)將字符串s置逆,如輸入的實參s為字符串"abcde", 則返回時 s 為字符串"edcba"。遞歸程序如下:revstr( char *s ) char *p=s, c; while(*p) p+; ;/* 答案 p-*/ if(s<p)
23、0; c=*s; *s=*p; ;/* 答案 *p='0' */ revstr(s+1); ;/* 答案 *p=c */ 如下是由非遞歸實現的revstr(s)函數:revstr (char *s ) char *p=s, c; while( *p ) p+; ;/* 答案 p- */ while( s<p ) c=*s; = *p;/* 答案
24、60;*s+ */ *p- = c; 注釋:在遞歸算法中,指針s指向字符串首部要反向的字符,即要將指針s所指向的字符與指針p 所指向的字符串尾的字符('0')進行交換,在交換過程中,將尚沒有交換的字符串的中間部分作為一個整體,進行遞歸處理。程序中首先執行"c=*s",將首字符存入臨時變量;然后執行"*s=*p",將尾字符存入串首;執行"revstr(s+1)"是遞歸處理串的中間部分,這時,在處應當填入"*p='0'",即存入串結束標記。這是這一程序中的關
25、鍵所在。在處要完成將存在臨時變量c中的字符存入串尾的工作,應當填寫"*p=c"。20下面函數用遞歸調用的方法,將str中存放的長度為n的字符串反轉過來,例如原來是"ABCDE",反序為"EDCBA"。void invent(char *str,int n) char t; t=*str; *str=*(str+n-1); *(str+n-1)=t; if( n>2 ) invent (
26、,n-2);/* 答案 str+1 */else ;/* 答案 return */21下面程序的功能是實現數組元素中值的逆轉。main() int i,n=10,a10=1,2,3,4,5,6,7,8,9,10; invert(a,n-1); for(i=0;i<10;i+) printf("%4d",ai); printf("n");invert(int *s,int num) int *t,k; t=s+num; while( &
27、#160;) /* 答案 s<t */ k=*s; *s=*t; *t=k; ;/* 答案 s+ */ ;/* 答案 t- */ 22下面函數的功能是將字符變量的值插入已經按ASCII碼值從小到大排好序的字符串中。void fun(char *w,char x,int *n) int i,p=0; while(x>wp) ;/*答案 p+*/ for(i=*n;i>=p;i-) ;/
28、*答案 wi+1=wi*/ wp=x; +*n; 23下面程序的功能是輸入學生的姓名和成績,然后輸出。#include <stdio.h>struct stuinf char name20; /* 學生姓名 */ int score; /* 學生成績 */ stu, *p;main ( ) p=&stu; printf("Enter name:"); gets(
29、 );/*答案 */ printf("Enter score: "); scanf("%d", );/*答案 &stu.score */ printf("Output: %s, %dn", , );/*答案 p->name */ /*答案 p->score */:24下面程序的功能是按學生的姓名查詢其成績排名和平均成績。查詢時可連續進行,直到輸入0時才結束。#includ
30、e <string.h>#define NUM 4struct student int rank; char *name; float score; stu =3,"liming",89.3,4,"zhanghua",78.2,1,"anli",95.1,2,"wangqi",90.6 ;/*答案 struct student */main() char str10;
31、160;int i; do printf("Enter a name"); scanf("%s",str); for( i=0;i<NUM;i+ ) if( ) /*答案 strcmp(,str)=0*/ printf("Name :%8sn",); printf("Rank :%3dn",stui.ra
32、nk); printf("Average :%5.1fn",stui.score); ;/*答案 break */ if( i>=NUM ) printf("Not foundn");while( strcmp(str,"0")!=0 );25下面函數將指針p2所指向的線性鏈表,串接到p1所指向的鏈表的末端。假定p1所指向的鏈表非空。#define NULL 0struct link float a; struct link *next;concatenate (struct list * p1,struct list *p2 ) if( p1->next=NULL ) p1->ne
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版一年級美術下冊《第10課 泡泡飛呀飛》教學設計
- 2025至2030年中國便攜式光譜儀數據監測研究報告
- 2025至2030年中國以色列玻璃制品數據監測研究報告
- 涼山2024下半年四川涼山冕寧縣招聘小學教師60人筆試歷年參考題庫附帶答案詳解
- 年產20000噸功能助劑材料項目可行性研究報告
- 亳州2024年安徽亳州蒙城縣大學生鄉村醫生專項招聘6人筆試歷年參考題庫附帶答案詳解
- 四年級信息技術上冊 制作月歷 1教學設計 冀教版
- 云南2024年云南農業大學學生處(學生中心)招聘編制外人員筆試歷年參考題庫附帶答案詳解
- 任務一:《水培綠蘿》(教案)-2024-2025學年一年級上冊勞動魯科版
- 大學教師勞務協議書
- 超高頻開關電源技術的前沿研究
- 特許經營管理手冊范本(餐飲)
- 計算機應用基礎-終結性考試試題國開要求
- 《安裝條》浙江省建筑設備安裝工程提高質量的若干意見
- 光伏支架及組件安裝施工方案(最終版)
- 04S520埋地塑料排水管道施工標準圖集OSOS
- 220KV輸電線路組塔施工方案
- 高中班級讀書活動方案
- 六年級數學下冊《圖形的運動》
- 2022-2023學年北京海淀人大附數學八年級第二學期期末復習檢測試題含解析
- 高中歷史雙向細目表
評論
0/150
提交評論