C語言程序設(shè)計練習題含程序及參考答案_第1頁
C語言程序設(shè)計練習題含程序及參考答案_第2頁
C語言程序設(shè)計練習題含程序及參考答案_第3頁
C語言程序設(shè)計練習題含程序及參考答案_第4頁
C語言程序設(shè)計練習題含程序及參考答案_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C 語 言 練 習 題(所提供的源程序均采用自定義函數(shù)方式解決,如不采用函數(shù)方式,也可直接在main函數(shù)中借鑒該思想編程,因時間有限,所有程序未能一一驗證,僅供參考使用)1、定義一個函數(shù)intfun(inta,intb,intc) ,它的功能是:若a,b,c能構(gòu)成等邊三角 形函數(shù)返回3,若能構(gòu)成等腰三角形函數(shù)返回 2,若能構(gòu)成一般三角形函數(shù)返回1, 若不能構(gòu)成三角形函數(shù)返回00#include<>intfun(inta,intb,intc)if(a+b>c&&b+c>a&&a+c>b)if(a=b&&b=c)retu

2、rn3;elseif(a=b|b=c|a=c)return2;elsereturn1; elsereturn0;voidmain()inta,b,c,shape;printf("nInputa,b,c:");scanf("%d%d%d",&a,&b,&c);printf("na=%d,b=%d,c=%dn",a,b,c);shape=fun(a,b,c);printf("nnTheshape:%dn",shape);2、編寫一個程序,將兩個變量的值交換,例如變量a中的值原為3, b中的值原為

3、8, 程序運行后a中的值為8, b中的值為3。#include<>voidfun(int*x,int*y)(intt;t=*x;*x=*y;*y=tvoidmain()(inta=3,b=8;printf("%d%dn",a,b);fun(&a,b);printf("%d%dn",a,b);,最小值放在變量c中。3、從鍵盤輸入3個數(shù),將最大值放在變量a中 例如,輸入的數(shù)為:551234,輸出結(jié)果應(yīng)當是:a=,b=,c= o#include<>voidfun(float*p,float*q,float*s)(floatk;i

4、f(*p<*q)k=*p;*p=*q;*q=k;if(*q<*s)k=*s;*s=*p;*p=k;if(*p<*q)k=*p;*p=*q;*q=k;voidmain()floata,b,c;printf("Inputabc:");scanf("%f%f%f",&a,&b,&c);printf("a=%,b=%,c=%nn”,a,b,c);fun(&a,&b,&c);printf("a=%,b=%,c=%nn",a,b,c);4、編寫函數(shù)fun(intn),它的

5、功能是:計算正整數(shù)n的所有因子(1和n除外)之 和作為函數(shù)值返回。例如:n=120W,函數(shù)值為239。#include<>#include<> intfun(intn) (inti,s=0;for(i=2;i<n;i+) if(n%i=0)s=s+i;returns;voidmain()/* 主函數(shù) */(voidNONO();printf("%dn",fun(120);NONO();voidNONO()/*請在此函數(shù)內(nèi)打開文件,輸入測試數(shù)據(jù),調(diào)用 fun函數(shù), 輸出數(shù)據(jù),關(guān)閉文件。*/FILE*wf;wf=fopen(""

6、,"w");fprintf(wf,"%dn",fun(120);fclose(wf);5、計算s,并輸出111S=1+1+1+21+2+31+2+3+mn通過鍵盤輸入,例如:若n的值為11時,則函數(shù)值為:#include<>#include<>floatfun(intn)(inti;floats=,h=1;for(i=2;i<=n;i+)(h=h+i;s=s+h;returns;voidmain()(intn;floats;printf("nPleaseenterN:");scanf("%d&q

7、uot;,&n);s=fun(n);printf("theresultis:%f",s);6、將一個整數(shù)中的每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當s中的數(shù)為:時,t中的數(shù)為:7531。#include<>voidfun(longs,long*t)(intd;longs1=1;*t=0;while(s>0)(d=s%10;if(d%2!=0)(*t=d*s1+*t;s1=s1*10;s/=10;main()(longs,t;printf("nPleaseenters:");scanf

8、("%ld",&s);fun(s,&t);printf("Theresultis:%ldn",t);7、計算并輸出k以內(nèi)最大的10個能被13或17整除的自然數(shù)之和。k的值從鍵盤傳 入,若k的值為500,則輸出4622。#include<>intfun(intk)(intm=0,mc=0,j;while(k>=1)&&(mc<10)(if(k%13=0)|(k%17=0)(m=m+k;mc+;k-;returnm;voidmain()(printf("%dn",fun(500);8

9、、已知一個數(shù)列的前三項分別為0, 0, 1,以后的各項都是其相鄰的前三項之和 計算并輸出該數(shù)列前n項的平方根之和sum,例如,當n=10時,程序的輸出結(jié)果 應(yīng)為:。#include<>#include<>doublefun(n)(doublesum,s0,s1,s2,s;intk;sum=;if(n<=2)sum=;s0=;s1=;s2=;for(k=4;k<=n;k+)s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;returnsum;voidmain()intn;printf("InputN=");s

10、canf("%d",&n);printf("%fn",fun(n);9、編寫一個程序,從鍵盤輸入 項 輸出大于ml緊隨m勺素數(shù)#include<>intfun(intm)(inti,k;for(i=m+1;i+)for(k=2;k<i;k+)if(i%k=0)break;if(k>=i)return(i);voidmain()intn;printf("nPleaseentern:");scanf("%d",&n);printf("%dn",fun(n);1

11、0、判斷兩個整數(shù) 林口門是否互質(zhì)(即是否有公共的因子)(rn 1, nwl)。方法是:用2到t (t取mFDn中較小的那個數(shù))之間的數(shù)分別去除 麻On,若mFDn能同時被某個數(shù)除盡,則nffin不互質(zhì);否則它們互質(zhì)。例如,若輸入187和85,則應(yīng)輸出No (表示它們不互質(zhì),它們有公因子17)。若 輸入89和187,則應(yīng)輸出Yes (表示它們互質(zhì))。#include<>intIsThat(intm,intn)intk,t,mk=1;t=m;if(m>n)t=n;for(k=2;k<=t;k+)if(m%k=0&&n%k=0)mk=0;break;retur

12、nmk;voidmain()intm,n;printf("nPleaseenter2numbers:n");scanf("%d%d”,&m,&n);if(IsThat(m,n)printf("Yes'n");elseprintf("Non");11、將十進制正整數(shù)m專換成k進制數(shù)(2< k< 9)并輸出(m k從鍵盤輸入)例如,若輸入8和2,則應(yīng)輸出1000(即十進制數(shù)8轉(zhuǎn)換成二進制表示是1000)#include<> voidTrans(intm,intk) ( intaa2

13、0,i , j; for(i=0;m;i+) ( aai=m%k;m/=k;for(j=i-1;j>=0;j-) printf("%d",aaj); voidmain()( intb,n;printf("nPleaseenteranumberandabase:n");scanf("%d%d”,&n,&b); Trans(n,b);12、統(tǒng)計從鍵盤輸入的50個實數(shù)中有多少個正數(shù)、多少個負數(shù)、多少個零#include<>voidfun(int*zs,int*fs,int*l,floataa)(inti;for(i=

14、0;i<50;i+)(if(aai>0)(*zs)+;if(aai<0)(*fs)+;if(aai=0)(*l)+;voidmain()(floatnum50;inti,czs,cfs,cl;czs=cfs=cl=0;printf("nPleaseenter50floatnumbers:n");for(i=0;i<50;i+)scanf( "f',&numi);fun(&czs,&cfs,&cl,num);printf("n正數(shù):d,負數(shù):d,零:dn",czs,cfs,cl);1

15、3、計算并輸出方程 太+Y=1989的所有整數(shù)解#include<>voidfun()(intx,y;for(x=1;x<=44;x+)for(y=1;y<=44;y+)if(x*x+y*y=1989)printf("x=%d,y=%dn' ,x,y); voidmain()(printf( “方程 xA2+yA2=1989 的整數(shù)解為:n " ); fun();14、從鍵盤輸入10個整數(shù),求出其中的最大值。#include<>intfun(intaa)(intm,i;m=aa0;for(i=1;i<10;i+)if(aai

16、>m)m=aai;returnm;voidmain()(intnum10,i;printf("請從鍵盤輸入10個整數(shù):n );for(i=0;i<10;i+)scanf( "d ,&numi);printf(“n 最大的數(shù)是:dn",fun(num);15、從鍵盤輸入n值,輸出如右圖形。(例如n=5時)12345#include<>1123411123voidfun(intn)1111a11111inti,j;for(i=1;i<=n;i+)for(j=1;j<=i;j+) printf("3d ,1);for

17、(j=2;j<=n+1-i;j+) printf("3d ,j);printf("n” );)voidmain()intn;printf( "n請輸入圖形的行數(shù):”);scanf( "d ,&n);fun(n);16、使用函數(shù)的方式,計算如下公式的值111A1=1, A2=, A3=, An=1+A11+A21+A(n-1) 例如:若n=10,則應(yīng)輸出:。 #include<> floatfun(intn) (floatA=1;inti; for(i=1;i<=n;i+)A=(1+A);returnA;) voidmain

18、()(intn;printf("nPleaseentern:"); scanf("%d",&n); printf("A%d=%fn",n,fun(n); )*17、使用函數(shù)的方式,按下面的公式計算并輸出數(shù)列的第m頁廠 2,m=1;I 3,m=2;FFF(m)=H 5,m=3;LFFF(m-3)+FFF(m-1),m>3;例如,若輸入整數(shù)9,則應(yīng)輸出:47。(不用做)*18、使用函數(shù)的方式,按以下遞歸公式求函數(shù)值廠 10(n=1)fun(n)= |Lfun(n-1)+2(n>1)例如,當給n輸入5時,函數(shù)值為18;當

19、給n輸入3時,函數(shù)值為14(不用做)為止19、計算并輸出當0<x<時下列多項式的值,直到|S(n)-S(n-1)|<例如,在主函數(shù)中從鍵盤給x輸入后,輸出為:s= o#include<>#include<>doublefun(doublex)(intn=1;/*循環(huán)計數(shù)*/doublesn=1; /* 累計數(shù) */doublexn=1,xn1=0; /*x 的 n 值,以及 x 的 n-1 值;*/while(fabs(xn-xn1)>=/*絕對值是否合格 */(xn=xn*x*+1)/n;/*表達式分解以后 xn=(xn-1)*x*+1)/n*

20、/n+=1;sn+=xn; /*sn 累力上 xn*/returnsn;voidmain()(doublex,s;printf("Inputx:");scanf("%lf",&x);s=fun(x);printf("s=%fn",s);20、計算并輸出so xA2xA3xAn s=1+x+2!3!n!n,x從鍵盤輸入,例如,當n=10, x=時,函數(shù)值為。 #include<>doublefun(doublex,intn) ( inti; doublef=,h=x; doubles=1; s=s+h/f; for(

21、i=2;i<=n;i+) ( f=f*i;h=h*x; s=s+h/f; ) returns; ) voidmain() (printf("%fn",fun,10);21、從鍵盤輸入high ,計算并輸出high以內(nèi)最大的10個素數(shù)之和。例如,輸入 high的值為100,貝U輸出732。#include<>intfun(inthigh)(intsum=0,n=0,j,yes;while(high>=2)&&(n<10)(yes=1;for(j=2;j<=high/2;j+)if(high%j=0)(yes=0;break;

22、if(yes=1)(sum+=high;n+;high-;returnsum;voidmain()(printf("%dn",fun(100);22、請編寫函數(shù)floatfun(intn) ,它的功能是:返回n (包括n)以內(nèi)能被5或9 整除的所有自然數(shù)的倒數(shù)之和。例如,n=20,返回。注意:要求n的值不大于 100。#include<>doublefun(intn)(inti;doublesum=;if(n>0&&n<=100)(for(i=1;i<=n;i+)if(i%5=0|i%9=0) sum+=i;returnsum;

23、voidmain()(intn;doubles;printf("nInputn:");scanf("%d",&n);s=fun(n);printf("nns=%fn",s);23、請編一個函數(shù)fun(int*a,intn,int*odd,int*even) ,函數(shù)的功能是分別求 出數(shù)組中所有奇數(shù)之和以及所有偶數(shù)之和。形參 n給出數(shù)組a中數(shù)據(jù)的個數(shù);利 用指針odd返回奇數(shù)之和,利用指針even返回偶數(shù)之和。例如:數(shù)組中的值依次為:1, 9, 2, 3, 11, 6;則利用指針odd返回奇數(shù) 之和24;利用指針even返回偶數(shù)之

24、和8。#include<>#defineN20fun(int*a,intn,int*odd,int*even)inti,sum_odd=0,sum_even=0;for(i=0;i<n;i+)if(ai%2=0)sum_even+=ai;elsesum_odd+=ai;*odd=sum_odd;*even=sum_even;voidmain()intaN=1,9,2,3,11,6,i,n=6,odd,even;printf("Theoriginaldatais:n");for(i=0;i<n;i+)printf("%5d”,*(a+i);p

25、rintf("nn");fun(a,n,&odd,&even);printf("Thesumofoddnumbers:%dn”,odd); printf("Thesumofevennumbers:%dn”,even);24、編寫計算三角形面積的程序,注意:將計算面積定義成函數(shù)floatfun(inta,intb,intc)(a,b,c為三角形的三條邊,返回三角形的面積 ),在主函數(shù)中調(diào)用fun#include<>#include<>floatfun(inta,intb,intc)(floatp;p=(a+b+c)/

26、2;returnsqrt(p*(p-a)*(p-b)*(p-c);voidmain()(inta,b,c;printf(“請輸入三角形三條邊:n ");scanf( "d%d% d,&a,&b,&d);if(a+b>c&&b+c>a&&a+c>b)printf("三角形面積為:%.2f,fun(a,b,c);elseprintf("無法構(gòu)成三角形”);25、編寫程序,求E=1+1/1! +1/2! +1/n!,要求最后一項的值小于10-4#include<>double

27、fun(intn)(doublem=;inti=1;doublep=;dom=m+p;i+;p=p*i;whilep>=1E-4);returnm;voidmain()intn;doubles;printf("Inputn:");scanf("%d",&n);s=fun(n);printf("s=%fn",s);26、計算并輸出給定數(shù)組(長度為9)中每相鄰兩個元素之平均值的平方根之和例如,給定數(shù)組中的9個元素依次為、,輸出應(yīng)為:s=0#include<>#include<>doublefun(do

28、ublex9)(inti;doubleavg=,sum=;for(i=0;i<8;i+)(avg=(xi+xi+1)/2;sum+=sqrt(avg); returnsum; voidmain()(doubles,a9=,;inti;printf("nTheoriginaldatais:n");for(i=0;i<9;i+)printf("%",ai);printf("nn");s=fun(a);printf("s=%fnn",s);27、將1到m之內(nèi)(含項 能被7或11整除的所有整數(shù)放在數(shù)組a中 例如

29、,若輸入m勺值為50,則在數(shù)組a中的值為:#include<>#defineM100voidfun(intm,int*a,int*n)(inti,count=0;for(i=1;i<=m;i+) if(i%7=0|i%11=0) acount+=i;*n=count;voidmain()intaaM,n,k;fun(50,aa,&n);for(k=0;k<n;k+) if(k+1)%20=0)printf("n"); elseprintf("%4d",aak);printf("n");,它的功能是:將低

30、于28、請編寫函數(shù) intfun(intm,intscore,intbelow)平均分的人數(shù)作為函數(shù)值返回,并將低于平均分的成績放在below數(shù)組中(m麥示score的長度,score表示成績)。例如,當score數(shù)組中的數(shù)據(jù)為:10、20、 30、40、50、60、70、80、90時,函數(shù)返回 4, below中的數(shù)據(jù)應(yīng)為:10、20、 30、40。#include<>#include<>intfun(intscore,intm,intbelow)inttotal=0;intaverage=0;int*p_below=below;inti=0;intj=0;for(i

31、=0;i<m;i+)total=total+scorei;average=total/m;for(i=0;i<m;i+)if(scorei<average)*p_below=scorei;p_below+;j+;*p_below=NULL;return(j);main()inti,n,below9;intscore9=10,20,30,40,50,60,70,80,90;n=fun(score,9,below);printf("nBelowtheaveragescoreare:");for(i=0;i<n;i+)printf("%d&quo

32、t;,belowi);29、用插入排序法將n個字符進行排序(降序)。(提示:插入法排序的思路是: 先對數(shù)組的頭兩個元素進行排序,然后根據(jù)前兩個元素的情況插入第三個元 素,再插入第四個元素)。#defineN80#include”"#include”"voidinsert(char*aa)(inti,j,n;charch;n=strlen(aa);for(i=1;i<n;i+)(ch=aai;j=i-1;while(j>=0)&&(ch<aaj)(aaj+1=aaj;j-;aaj+1=ch;voidmain()charaN="QWE

33、RTYUIOPASDFGHJKLMNBVCXZ"inti;printf("Theoriginalstring:%sn”,a);insert(a);printf("Thestringaftersorting:%snn",a);30、假定整數(shù)數(shù)組a中元素的值不重復(fù)。刪除a中值為x的元素(x從鍵盤輸入)#include<>#defineN20fun(int*a,intn,intx)intp=0,i;an=x;while(x!=ap)P=P+1;if(p=n)return-1;elsefor(i=p;i<n;i+)ai=ai+1;returnn

34、-1;voidmain()intwN=-3,0,1,5,7,99,10,15,30,90,x,n,i;n=10;printf("Theoriginaldata:n");for(i=0;i<n;i+)printf("%5d",wi);printf("nInputx(todelete):");scanf("%d",&x);printf("Delete:%dn",x);n=fun(w,n,x);if(n=-1)printf("*Notbefound!*nn");els

35、eprintf("Thedataafterdeleted:n");for(i=0;i<n;i+)printf("%5d",wi);printf("nn");31、一個已按從小到大的順序排好的數(shù)組a,編寫程序,從鍵盤輸入一個數(shù)x按原來排序的規(guī)律將它插入數(shù)組a中。#include<>#defineM20voidInSort(int*n,intvv,intk)(inti=0,j;while(k>vvi&&i<*n)i+;if(i<*n)for(j=*n;j>i;j-)vvj=vvj-

36、1;vvi=k;+*n;voidmain()(intaaM,i,k,m;system("cls");printf("nPleaseenteranumber:n");scanf("%d",&m);printf("nPleaseenter%dnumbers:n",m);for(i=0;i<m;i+)scanf("%d",&aai);printf("nPleaseenteranothernumber:n");scanf("%d",&

37、k);InSort(&m,aa,k);for(k=0;k<m;k+)printf("%d",aak);32、使用數(shù)組的方法篩選出1-100中的素數(shù)#include<>voidfun(int*pt)(inti,j,flag;*pt=2;*pt+;for(i=3;i<100;i+)(flag=1;for(j=2;j<i;j+)if(i%j=0)flag=0;if(flag)(*pt=i;*pt+;*pt=0;voidmain()(int*pointer,a30;pointer=a;fun(pointer);printf("Ther

38、esultis:n");while(*pointer)printf("%d",*pointer+);33、已知一個數(shù)組a中包括10個整數(shù)元素,從a中第二個元素起,分別將后項 減前項之差存入數(shù)組b,并按每行3個元素輸出數(shù)組bo#include<>voidfun(inta,intb)(inti;for(i=1;i<10;i+)bi-1=ai-ai-1;for(i=0;i<9;i+)(printf("3d ,bi);if(i+1)%3=0)printf( "n” );voidmain()(inta10=1,2,3,4,5,6,

39、7,8,9,10;intb9;fun(a,b);34、請編寫函數(shù)fun,函數(shù)的功能是:將MTNW的二維數(shù)組中的字符數(shù)據(jù)按列的 順序依次放到一個字符串中。例如,二維數(shù)組中的數(shù)據(jù)為:WWWWSSSSHHHH則字符串中的內(nèi)容應(yīng)是:WSHWSHW SH#include<>voidfun(int(*s)10,int*b,int*n,intmm,intnn)(intx,y;for(x=0;x<nn;x+)for(y=0;y<mm;y+)bx*mm+y=*(sy+x);(*n)+;voidmain()intw1010=33,33,33,33,44,44,44,44,55,55,55,

40、55,i,j;inta100=0,n=0;printf("Thematrix:n");for(i=0;i<3;i+)for(j=0;j<4;j+)printf("%3d",wij);printf("n");fun(w,a,&n,3,4);printf("TheAarray:n");for(i=0;i<n;i+)printf("%3d",ai);printf("nn");35、求出NX N勺二維數(shù)組周邊元素的平均值|01279|19745|a=|238

41、31|45682|59141|則返回主程序后s的值應(yīng)為:。#include<>#defineM4#defineN5intfun(intaMN)inti,j,sum=0;for(i=0;i<M;i+)for(j=0;j<N;j+)if(i=0)|(i=M-1)|(j=0)|(j=N-1)sum+=aij;returnsum;voidmain()intaaMN=1,3,5,7,9,2,9,9,9,4,6,9,9,9,8,1,3,5,7,0;inti,j,y;system("cls");printf("Theoriginaldatais:n&qu

42、ot;);for(i=0;i<M;i+)for(j=0;j<N;j+)printf("%6d",aaij);printf("n");y=fun(aa);printf("nThesum:%dn",y);printf("n");36、求出M行N列的二維數(shù)組tt里每列中的最小元素,并依次放入pp數(shù)組中。#include<>#defineM3#defineN4voidfun(intttMN,intppN)(inti,j,min;for(i=0;i<N;i+)(min=tt0i;for(j=0;

43、j<M;j+)if(min>ttji)min=ttji;ppi=min;voidmain()inttMN=22,45,56,30,19,33,45,38,20,22,66.40;intpN,i,j,k;system("cls");printf("Theoriginaldatais:n");for(i=0;i<M;i+)for(j=0;j<N;j+)printf("%6d",tij);printf("n");fun(t,p);printf("nTheresultis:n")

44、;for(k=0;k<N;k+)printf("%4d",pk);printf("n");37、請編寫程序,實現(xiàn)B=A+A',即把矩陣 勵口上A的轉(zhuǎn)置,存放在矩陣B中。計算 結(jié)果在main函數(shù)中輸出。例如,輸入下面的矩陣:其轉(zhuǎn)置矩陣為:|123|147|456|258|789|369|程序輸出:|2610|61014|101418|#include<>voidfun(inta33,intb33)inti,j;for(i=0;i<3;i+)for(j=0;j<3;j+)bij=aij+aji;voidmain()int

45、a33=1,2,3,4,5,6,7,8,9,t33;inti,j;fun(a,t);for(i=0;i<3;i+)for(j=0;j<3;j+)printf("%7d",tij);printf("n");38、編寫程序刪除字符用s中從下標k開始的n個字符(n和k從鍵盤輸入)例如,字符串內(nèi)容為:HellolloWorld! , k中的值為:5, n中的值為:3,結(jié)果 為:HelloWorld!。#include<>#defineN80voidfun(char*a,intk,intn)inti;i=k;while(ai-1!='

46、;0')ai=ai+n;i=i+1;voidmain()charsN="HellolloWorld!"intk,n;printf("nTheoriginalstring:%sn”,s);printf("Enterindex k:"),scanf("%d",&k);printf("Enternumbertodeleten:");scanf("%d",&n);fun(s,k,n);printf("nThestringafterdeleted:%sn”,s)

47、;NONO();39、編寫程序,從鍵盤輸入字符串tt ,將其中每個單詞的首字符改為對應(yīng)的大 寫字母,首字符后的字母都改為對應(yīng)的小寫字母。例如,若輸入字符串:"abcDbOYxy!",則輸出字符串為:"AbCdBoyxy!" c#include<>#include<>char*EXUL(chartt口)intisfirst=1;inti,length;length=strlen(tt);for(i=0;i<length;i+)if(tti>='a'&&tti<='z'

48、)tti=isfirst?(tti+'A'-'a'):tti;isfirst=0;elseif(tti>='A'&&tti<='Z')tti=isfirst?tti:(tti-'A'+'a');isfirst=0;elseisfirst=1;returntt;main()inti;chartt81;printf("nPleaseenterastring:");gets(tt);printf("nTheresultstringis:%sn&qu

49、ot;,EXUL(tt);40、編寫程序,從鍵盤輸入字符串tt ,字符串中'a'到'z'26個字母各自出現(xiàn)的 次數(shù),并依次放在pp所指數(shù)組中。例如,當輸入字符串:abcdefgabcdeabc后,程序的輸出結(jié)果應(yīng)該是:00000#include<>voidfun(char*tt,intpp) char*p_tt=tt;inti=0;while(i<26)ppi=0;i+;for(;*p_tt!=NULL;p_tt+)switch(*p_tt)case'a':pp0+;break;case'b':pp1+;brea

50、k;case'c':pp2+;break;case'd':pp3+;break;case'e':pp4+;break;case'f:pp5+;break;case'g':pp6+;break;case'h':pp7+;break;case'i':pp8+;break;case'j':pp9+;break;case'k':pp10+;break;case'l':pp11+;break;case'm':pp12+;break;cas

51、e'n':pp13+;break;case'o':pp14+;break;case'p':pp15+;break;case'q':pp16+;break;case'r':pp17+;break;case's':pp18+;break;case't':pp19+;break;case'u':pp20+;break;case'v':pp21+;break;case'w':pp22+;break;case'x':pp23+;b

52、reak;case'y':pp24+;break;case'z':pp25+;break;)main()charaa1000;intbb26,k,n;printf("nPleaseenteracharstring:");scanf("%s",aa);fun(aa,bb);for(k=0;k<26;k+)printf("%d",bbk);printf("n");)41、請編寫程序,把字符串s中所有的字符前移一個位置,用中的第一個字符移 到最后。例如:原有的字符串為:,則調(diào)用該函數(shù)

53、后,用中的內(nèi)容為:。#include<>#include<>#defineN81 fun(char*s) (charbN;sprintf(b,"%s%c",s+1,*s);strcpy(s,b);voidmain()(charaN;printf("Enterastring:");gets(a);printf("Theoriginalstringis:");puts(a);fun(a);printf("Thestringaftermodified:"); puts(a);42、編寫程序,把字符

54、串中的內(nèi)容逆置。例如:字符串中原有的內(nèi)容為:abcdefg ,輸出:gfedcba#include<>#include<>#defineN81voidfun(char*s) (inti,length;chartmp;length=strlen(s);for(i=0;i<length/2;i+) (tmp=si;si=slength-i-1;slength-i-1=tmp;voidmain()charaN;printf("Enterastring:");gets(a);printf("Theoriginalstringis:"

55、);puts(a); fun(a);printf("n");printf("Thestringaftermodified:");puts(a);s2043、編寫程序,依次取出字符串si中所有數(shù)字字符,形成新的字符串#include<>voidfun(char*s)(inti,j;for(i=0,j=0;si!='0'i+)if(si>='0'&&si<=,9,)sj+=si;sj='0')voidmain()(charitem80;printf("nEnterastring:");gets(item);printf("nnThestringis:"%

溫馨提示

  • 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

提交評論