版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
習(xí)題練習(xí)1程序利用函數(shù)sort()對(duì)一組數(shù)按照從小到大順序排序,請(qǐng)編寫(xiě)sort()函數(shù)。#include"stdio.h"voidsort(intx[],intn){}voidmain(){ inta[10]={2,14,44,1,22,16,10,9,28,6}; inti; sort(a,10); for(i=0;i<10;i++) printf("%d",a[i]); printf("\n");}voidsort(intx[],intn){ inti,j; intt; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) { if(x[i]>x[j]) {t=x[i];x[i]=x[j];x[j]=t;} }}練習(xí)2程序利用函數(shù)average()求一組數(shù)去掉一個(gè)最大數(shù)和去掉一個(gè)最小數(shù)后的平均數(shù),請(qǐng)編寫(xiě)average()函數(shù)。#defineN10floataverage(floatx[],intn){}voidmain(){floata[N]={2,14.5,44.7,1,22.2,16,10.6,9,28.3,6};floataver;aver=average(a,N);printf("average=%f",aver);}floataverage(floatx[],intn){ floatmax,min,aver,sum; inti; sum=max=min=x[0]; for(i=1;i<n;i++) {sum+=s[i]; if(max<x[i]) {max=x[i];continue;} if(min>x[i]) min=x[i]; } aver=(sum-max-min)/(n-2); returnaver;}練習(xí)3程序利用函數(shù)primecount()求一組數(shù)中的質(zhì)數(shù)個(gè)數(shù),請(qǐng)編寫(xiě)primecount()函數(shù)。#include"stdio.h"#include"math.h"intprimecount(intx[],intn){ }voidmain(){inta[10]={133,141,44,17,22,16,109,9,27,61};intcount;count=primecount(a,10);printf("PrimeCount=%d\n",count);}intprimecount(intx[],intn){ intcount=0; intflag;/*是否為質(zhì)數(shù)標(biāo)志,0:否;1:是*/ inti,j,k; for(i=0;i<n;i++) {k=sqrt(x[i]); flag=1; for(j=2;j<=k;j++) if(x[i]%j==0)flag=0; if(flag==1)count++; } returncount;}練習(xí)4程序利用函數(shù)primesum()求一組數(shù)中所有質(zhì)數(shù)的和,請(qǐng)編寫(xiě)primesum()函數(shù)。#include"stdio.h"#include"math.h"intprimesum(intx[],intn){}voidmain(){inta[10]={13,7,44,17,22,16,109,9,27,61};intsum;sum=primesum(a,10);printf("PrimeSum=%d\n",sum);}intprimesum(intx[],intn){ intsum=0; intflag;/*是否為質(zhì)數(shù)標(biāo)志,0:否;1:是*/ inti,j,k; for(i=0;i<n;i++) { k=sqrt(x[i]);flag=1; for(j=2;j<=k;j++) if(x[i]%j==0)flag=0; if(flag==1)sum+=x[i]; } returnsum;}練習(xí)6程序利用函數(shù)strcat(str1,str2)將str1,str2兩個(gè)字符串合并到str1中,請(qǐng)編寫(xiě)strcat()函數(shù)。#include"stdio.h"voidstrcat(char*str1,char*str2){}voidmain(){ char*str1="e"; char*str2="Everyone!"; strcat(str1,str2); puts(str1);}voidstrcat(char*str1,char*str2){ inti=0,j=0; while(*(str1+i)!='\0') i++; while(*(str2+j)!='\0') { *(str1+i)=*(str2+j); i++;j++; } *(str1+i)=='\0'; }練習(xí)7程序利用函數(shù)strcpy(str1,str2)將字符串str2拷貝到字符串str1,請(qǐng)編寫(xiě)strpy()函數(shù)。#include"stdio.h"voidstrcpy(char*str1,char*str2){}voidmain(){ char*str1="e"; char*str2="Everyone!"; strcpy(str1,str2); puts(str1);}voidstrcpy(char*str1,char*str2){ inti=0; while(*(str2+i)!='\0') { *(str1+i)=*(str2+i); i++; } *(str1+i)=='\0';}練習(xí)8程序利用函數(shù)strcmp(str1,str2)比較兩個(gè)字符串str1,str2的大小,如果,str1>str2,返回1;str1==str2,返回0;str1<str2,返回-1.請(qǐng)編寫(xiě)strcat()函數(shù)。#include"stdio.h"intstrcmp(char*str1,char*str2){}voidmain(){char*str1="e";char*str2="Everyone!";inta;a=strcmp(str1,str2);switch(a) {case1:printf("Str1>Str2.\n");break;case0:printf("Str1==Str2.\n");break;case-1:printf("Str1<Str2.\n");break; }}intstrcmp(char*str1,char*str2){ inti=0; while((*(str1+i)!='\0')&&(*(str1+i)==*(str2+i))) i++; if((*(str1+i)-*(str2+i))>0)return1; if((*(str1+i)-*(str2+i))==0)return0; if((*(str1+i)-*(str2+i))<0)return-1;}練習(xí)9程序利用函數(shù)insert()向一組有序的數(shù)中插入一個(gè)數(shù)x,請(qǐng)編寫(xiě)insert()函數(shù)。#defineN11voidinsert(inta[],intx,intn){}voidmain(){inta[N]={2,6,11,15,19,24,30,33,40,55};intx;inti;printf("Pleaseinputx:");scanf("%d",&x);insert(a,x,N);for(i=0;i<N;i++) printf("%d",a[i]);printf("\n");}voidinsert(inta[],intx,intn){intlocation; //x應(yīng)插入的位置inti;//定位for(location=0;a[location]<x&&location<(n-1);location++);//移動(dòng)元素for(i=n-1;i>location;i--) a[i]=a[i-1];//插入數(shù)
a[location]=x;}練習(xí)10程序利用函數(shù)count()統(tǒng)計(jì)輸入的一個(gè)字符串中包含多少個(gè)單詞,請(qǐng)編寫(xiě)count()函數(shù)。#include"stdio.h"intcount(charstr[]){ }voidmain(){charstr[100];intwordcount;gets(str);wordcount=count(str);printf("TheNumberofwordis%d\n",wordcount);}intcount(charstr[]){ intwordnum=0; intword=0; inti; for(i=0;str[i]!='\0';i++) { if(str[i]=='') word=0; else{ if(word==0)wordnum++; word=1; } } returnwordnum;}練習(xí)11程序利用函數(shù)count()統(tǒng)計(jì)輸入的一個(gè)字符串中包含多少個(gè)字母,請(qǐng)編寫(xiě)count()函數(shù)。#include"stdio.h"intcount(charstr[]){ }voidmain(){charstr[100];intwordcount;gets(str);wordcount=count(str);printf("TheNumberofwordis%d\n",wordcount);}intcount(charstr[]){intnum=0; inti;for(i=0;str[i]!='\0';i++)if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))num++;returnnum;}練習(xí)12程序利用函數(shù)count()統(tǒng)計(jì)輸入的一個(gè)字符串中包含多少個(gè)數(shù)字字符,請(qǐng)編寫(xiě)count()函數(shù)。#include"stdio.h"intcount(charstr[]){ }voidmain(){charstr[100];intwordcount;gets(str);wordcount=count(str);printf("TheNumberofwordis%d\n",wordcount);}intcount(charstr[]){ intnum=0; inti; for(i=0;str[i]!='\0';i++) if(str[i]>='0'&&str[i]<='9') num++; returnnum;}練習(xí)13程序利用函數(shù)upper()將字符串中所有單詞的第一個(gè)字符變成大寫(xiě)字母,請(qǐng)編寫(xiě)upper()函數(shù)。#include"stdio.h"voidupper(charstr[]){}voidmain(){charstr[100];intcount;printf("Pleaseinputastring:");gets(str);upper(str);printf("ThenewStringis:%s\n",str);}voidupper(charstr[]){intword=0;inti=0;for(i=0;str[i]!='\0';i++) {if(str[i]=='')word=0; else {if(word==0) if(str[i]>='a'&&str[i]<='z')str[i]-=32; word=1; } }}練習(xí)14程序利用函數(shù)change()將10進(jìn)制數(shù)轉(zhuǎn)換成2進(jìn)制數(shù)輸出,請(qǐng)編寫(xiě)change()函數(shù)。#include"stdio.h"intchange(inta,intx[]){}voidmain(){inta,length,i;intx[32];printf("PleaseInputanumber:");scanf("%d",&a);length=change(a,x);for(i=length-1;i>=0;i--) printf("%d",x[i]);printf("\n");}intchange(inta,intx[]){ inti=0; while(a>0) { x[i]=a%2; a=a/2; i++; } returni;}練習(xí)15程序利用函數(shù)invert()使輸入的字符串反序存放,請(qǐng)編寫(xiě)invert()函數(shù)。#include"stdio.h"voidinvert(charx[]){ }voidmain(){charstr[80]; printf("PleaseinputaString:"); gets(str); invert(str); printf("InvertedStringis:%s",str); printf("\n");}voidinvert(charx[]){ inti,j; charch; for(i=0,j=strlen(x)-1;i<j;i++,j--) { ch=x[i]; x[i]=x[j]; x[j]=ch; }}練習(xí)16程序中函數(shù)fun的功能是:計(jì)算n!。例如,給n輸入5,則輸出120.000000。#include<stdio.h>#include<conio.h>doublefun(intn){}main(){intn;printf("Inputn:");scanf("%d",&n);printf("\n\n%d!=%lf\n\n",n,fun(n));}doublefun(intn){ doublefac=1; inti; for(i=1;i<=n;i++) fac*=i; returnfac;}練習(xí)17程序中,請(qǐng)編寫(xiě)函數(shù)intfun(intscore[],intm,intbelow[]),它的功能是計(jì)算score中m個(gè)人的平均成績(jī)aver,將低于aver的成績(jī)放在below中,通過(guò)函數(shù)名返回人數(shù)。#include<conio.h>#include<stdio.h>#include<string.h>intfun(intscore[],intm,intbelow[]){}main(){inti,n,below[9];intscore[9]={10,20,30,40,50,60,70,80,90};clrscr();n=fun(score,9,below);printf("\nBelowtheaveragescoreare:");for(i=0;i<n;i++)printf("%d",below[i]);}intfun(intscore[],intm,intbelow[]){ intaver,sum=0; inti; for(i=0;i<m;i++) sum+=score[i]; aver=sum/m; for(i=0;i<m;i++) below[i]=score[i]; returni;}練習(xí)18程序中,將字符串中ASCII碼值為偶數(shù)的字符刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。
#include<conio.h>#include<stdio.h>#include<string.h>voidfun(chars[],chart[]){}main(){chars[100],t[100];clrscr();printf("\nPleaseenterstringS:");scanf("%s",s);fun(s,t);printf("\nTheresultis:%s\n",t);}voidfun(chars[],chart[]){ inti,j=0; for(i=0;s[i]!='\0';i++) if(s[i]%2!=0)t[j++]=s[i];t[j]='\0';}練習(xí)19請(qǐng)編寫(xiě)函數(shù)voidfun(inta[][N]),函數(shù)的功能是使數(shù)組a上半三角元素中的值全部置為0。
例如:a數(shù)組中的值為:|197|則返回主程序后|000|a=|238|,a數(shù)組中的值應(yīng)為|200||456||450|#include"stdio.h“#include"conio.h“#include"stdlib.h"#defineN5intfun(inta[][N]){}main(){inta[N][N],i,j;clrscr();printf("*****Thearray*****\n");for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%20;printf("%4d",a[i][j]);}printf("\n");}fun(a);printf("THERESULT\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",a[i][j]);printf("\n");}}intfun(inta[][N]){ inti,j; for(i=0;i<N;i++) for(j=i;j<N;j++) a[i][j]=0;}練習(xí)20程序編寫(xiě)函數(shù)sort(),用"起泡法"對(duì)輸入的10個(gè)字符按從小到大順序排序。
#include"stdio.h"#include"string.h"#include"test5.h"#defineN10charstr[N];sort(str)charstr[N];{ }voidmain(){inti,flag;for(flag=1;flag==1;) {printf("\npleaseinputstring:\n"); scanf("%s",&str); if(strlen(str)!=N) printf("stringlength<>10,pleaseinputagain:\n"); else flag=0; } sort(str); printf("thesortresult:\n"); printf("%s\n",str);}sort(charstr[]){ chart; inti,j; for(i=0;i<N-1;i++) for(j=0;j<N-1-i;j++) if(str[j]>str[j+1]) { t=str[j]; str[j]=str[j+1]; str[j+1]=t; }}練習(xí)21程序利用函數(shù)pai()和公式π/4=1-1/3+1/5-1/7+…計(jì)算π的近似值,直到最后一項(xiàng)的絕對(duì)值小于10的-6次方為止。#include"stdio.h"#include"math.h“floatpai(){
}voidmain(){ floatpi; pi=pai(); printf("pi=%f\n",pi);}floatpai(){ floatt=1,pi=0; floats=1; inti; for(i=1;fabs(t)>1.0e-6;i++) { pi+=t; s=-s; t=s/(2*i+1); } return4*pi;}練習(xí)22程序利用函數(shù)prime()來(lái)判斷一個(gè)數(shù)是否是素?cái)?shù),要求實(shí)現(xiàn)函數(shù)prime。
#include"math.h"#include"stdlib.h"#include"string.h"intprime(intnumber){}voidmain(){ intnumber; printf("pleaseinputainteger\n"); scanf("%d",&number); if(prime(number)) printf("\n%disaprime",number); else printf("\n%disnotaprime",number);}intprime(intnumber){ inti,k=sqrt(number); for(i=2;i<=k;i++) if(number%i==0)return0; return1;}練習(xí)23程序編寫(xiě)函數(shù)count(),由實(shí)參傳來(lái)一個(gè)字符串,函數(shù)count()分別統(tǒng)計(jì)其中字母、空格、數(shù)字和其它字符的個(gè)數(shù)。
#include"stdio.h"#include"string.h"intalph,digit,space,others;count(charstr[]){}voidmain(){chartext[80];printf("\npleaseinputstring:\n");gets(text);puts(text);alph=0; digit=0;space=0;others=0;count(text);printf("alph=%d,digit=%d,space=%d,others=%d\n",alph,digit,space,others); }intalph,digit,space,others;count(charstr[]){inti;for(i=0;str[i]!='\0';i++){ if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) alph++; elseif(str[i]>='0'&&str[i]<='9') digit++; elseif(str[i]=='') space++; else others++; }}練習(xí)24給出年、月、日,請(qǐng)編寫(xiě)函數(shù)sum_day()計(jì)算該日是該年的第幾天?#include<stdio.h>#include<stdlib.h>staticintday_tab[13]={0,31,28,31,30,31,31,30,31,30,31};sum_day(intyear,intmonth,intday){}voidmain(){intyear,month,day;intdays;scanf("%d,%d,%d",&year,&month,&day);days=sum_day(year,month,day);printf("%d\n",days);}s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:教育公平與合作學(xué)習(xí)研究
- 二零二五年度鐵路旅客運(yùn)輸合同修訂版2篇
- 2025版圖書(shū)電子文檔txt下載代理授權(quán)合同3篇
- 二零二五年高校創(chuàng)新創(chuàng)業(yè)基地入駐服務(wù)合同3篇
- 2025年度個(gè)人小產(chǎn)權(quán)房屋買(mǎi)賣(mài)合同范本與稅務(wù)籌劃要點(diǎn)4篇
- 二零二五年度4S店汽車(chē)銷(xiāo)售區(qū)域代理合同范本3篇
- 二零二五版智慧交通管理系統(tǒng)建設(shè)與運(yùn)營(yíng)協(xié)議3篇
- 二零二五年度馬鈴薯深加工廢棄物資源化利用合同4篇
- 二零二五年度創(chuàng)新型企業(yè)房屋租賃合同書(shū)
- 2025年度平房出租與城市可持續(xù)發(fā)展合作協(xié)議4篇
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級(jí)歷史下冊(cè)
- 2025-2030年中國(guó)糖醇市場(chǎng)運(yùn)行狀況及投資前景趨勢(shì)分析報(bào)告
- 冬日暖陽(yáng)健康守護(hù)
- 水處理藥劑采購(gòu)項(xiàng)目技術(shù)方案(技術(shù)方案)
- 2024級(jí)高一上期期中測(cè)試數(shù)學(xué)試題含答案
- 盾構(gòu)標(biāo)準(zhǔn)化施工手冊(cè)
- 山東省2024-2025學(xué)年高三上學(xué)期新高考聯(lián)合質(zhì)量測(cè)評(píng)10月聯(lián)考英語(yǔ)試題
- 不間斷電源UPS知識(shí)培訓(xùn)
- 三年級(jí)除法豎式300道題及答案
- 2024年江蘇省徐州市中考一模數(shù)學(xué)試題(含答案)
- 新一代飛機(jī)維護(hù)技術(shù)
評(píng)論
0/150
提交評(píng)論