C語言操作題庫_第1頁
C語言操作題庫_第2頁
C語言操作題庫_第3頁
C語言操作題庫_第4頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當(dāng)a=45,b=12?調(diào)用該函數(shù)后,c=4152,源文件:#include<conio.h>#include<stdio.h>longfun(inta,intb){longc;/***********begin***********/inti=a%1〇5j=a/10;m=b%10;n=b/l0;c=j*l000+n*l00+i*l0+m;returnc;.求兩個整數(shù)m和n的最大公約數(shù),m和n的值由鍵盤輸入。#include"math.h"#include"conio.h”#include"stdlib.h"intfun(intm,intn)/***********beg]n***********/inti;fbr(i=m;i>=l;i)if(m%i=0&&n%i=0)break;return(i);}.將字符串中所有的大寫字母轉(zhuǎn)換為小寫,其它字符不變(不使用轉(zhuǎn)換函數(shù))。例如,當(dāng)字符串為"ThisIsacProgram"輸出:"thisisacprogram"#include<stdio.h>voidfun(charstrl[])inti;fbr(i=O;strl[i]!='ゝ〇';i++)ifi(str1[i]>='A'&&str1[i]<='Z')strl[i]+=32;voidmain()voidNONO();charstr1[80];printfi(HPleaseinputastring:\nM);gets(strl);fun(strl);printff'Resultis:%s\nH,strl);NONO();}.求[1,n]之間所有不能被3整除的整數(shù)之和,n的值由鍵盤輸入。例如,如果輸入12,則輸出結(jié)果為:48#include"math.h"#include"conio.h”include“stdlib.h”longfun(intn)inti,sum=0;fbr(i=l;i<=n;i++)ifi(i%3!=〇)sum=sum+i;retum(sum);/***********end***********/voidmain(){voidNONO();intm,n;printfif 11sum=1 + 5 7 11sum=1 + 5 71+ +(-1) A(n-1) 2n-l例如:當(dāng)n=3時,結(jié)果為0.8667;當(dāng)n=10時,結(jié)果為:0.7605#include“math.h”#includeMstdlib.hMdoublefiin(intn)scanf(u%dM,&n);printf(Ms=%ld\nM,fun(n));NONO();}.按下面的公式求sum的近似值,n的值由鍵盤輸入,輸出保留4位小數(shù)。doublec;/***********begin***********/inti;floatt,m;t=1.0;c=0;fbr(i=l;i<=2*n-l;i+=2){m=t/i;c+=m;t=-t;)returnc;}voidmain(){doublesum;intn;printff'Entern:\nM);scanff%d”,&n);sum=fun(n);printf(Msum=%.4f\nM,sum);NONO();).在作業(yè)文件夾:("E:\homework\09020210")下,要求程序PROGC的功能是:將一個字符串的第0,2,4,6,8,......位置的字符復(fù)制到另ー個字符串中,并輸出。例如,當(dāng)ー個字符串為"ThisIsacProgram"則另ー個字符串應(yīng)為"TisacPorm"#include<stdio.h>voidfun(charstr1[],charstr2[])/***********bcgin***********/inti,j;j=0;fbr(i=O;i<strlen(str1);i+=2){str2[j]=strl[i];j";}str2[j]=へ〇';voidmain(){charstrl[80]=MThisIsacProgramn,str2[80];printffStringis:%s\n",strl);fun(strl,str2);printff'Resultis:%s\n",str2);NONO();}.求3*3矩陣的第〇行(以下標(biāo)為行數(shù))元素之和并輸出。例如,當(dāng)矩陣為:789則第。行元素是:1,2,3,第。行的元素之和為:6#include<stdio.h>intfun(inta[3][3])inti,j,sum=O;fbr(i=0j=0y<3J-H-)sum+=a[O][j];retum(sum);voidmain(){voidNONO();inta[3][3]={1,2,345,6,7,8,9};inti,j,sum;printfi(narrayis:\nM);fbr(i=0;iv3;i++)(fbr(j=O;j<3ij-H-)printf(”%5d”,a[i皿);printf(,,\nt,);)sum=fun(a);printfif^Resultis:%d\nn,sum);NONO();}.按下面的公式求sum的近似值,直到最后ー項(xiàng)的項(xiàng)值小于le-6為止。1 1sum=1- + + 3 41+(-1)A(n-1)——n#include"math.h"#include"conio.h”#includenstdlib.hnvoidmain()voidNONO(doublex);doublesum;{intsign=l;doubledeno=2.0,term;sum=1.0;while(fabs(term)>1e-6)sign="sign;term=sign/deno;sum=sum+term;deno=dcno4-l;}printfC%f\n”,sum);}printf(Msum=%.3f\nM,sum);NONO(sum);}10ハ求3*3矩陣的最大值并輸出。例如,當(dāng)矩陣為:123495786貝リ19:112009?9?17為:9#include<stdio.h>intfun(inta[3][3])/***********begin***********/intij,max;max=a[0][0];for(i=0;i<=2;i++)fbr(j=0;j<=2y-H-)if(max<a[i][j])max=a[i][j];retum(max);voidmain(){inta[3][3]={l,2,3,4,9,5,7,8,6);inti,j,max;printff'arrayis:\nH);for(i=0;i<3;i++){for(j=0;j<3;j-H-)printfC%5d”,a[i]|JD;printff'n");}max=fun(a);printf(nResultis:%d\nn,max);NONO();}.統(tǒng)計(jì)字符串中的所有大寫字母的個數(shù)并輸出。例如,當(dāng)字符串為"ThisIsacProgram”輸出:Resultis:3#include<stdio.h>fun(charstrl[]){/***********bcg]n***********/inta,i;a=0;for(i=O;strl[i]!=,\O,;i++)ifl(strl[i]>=,A,&&strl[i]<=,Z,)a-H-;returna;voidmain(){voidNONO();charstrl[80]-*ThisIsacProgram”;intn;printff'Stringis:%s\nH,strl);gets(strl);n=fun(strl);printf(MResultis:%d\n”,n);NONO();).求N*N矩陣的主對角線(左上?右下)元素的和并輸出。例如,當(dāng)矩陣為:TOC\o"1-5"\h\z16 2 23 5 4 58 4 5 64 5 6 7則主對角線上的元素之和為:18#include<stdio.h>#defineN4intfun(inta[N][N])intij,sum;sum=a[0][0];fbr(i=O;i<N;i++)fbr(j=O;j<N;j-H-)if(i=j)sum+=a[i]|j];retum(sun);)voidmain()voidNONO();〃函數(shù)聲明inta[N][N]={l,6,2,2,3,5,4,5,8,4,5,6,4,5,6,7};intij,sum;printf(MaiTayis:\nH);fbr(i=O;i<N;i-H-)fbr(j=O;j<N;j-H-)printfC%5d”,a[i][jD;printf(M\nM);!sum=fun(a);printf(MResultis:%d\nn,sum);NONO();}13.求N*N矩陣的最小值并輸出,請將求出的最小值存入變量min中。例如,當(dāng)n=3,矩陣為:123495786則最小值為:1#include<stdio.h>voidmain(){inta[3][3]={l,2,3,4,9,5,7,8,6);intij,min;printff'arrayis:\nM);for(i=0;i<3;i++)fbr(j=O;j<3j++)/***********begjn***********/min=a[0][0];fbr(i=O;i<3;i++)fbr(j=O;j<3j++)ifi[a[i][j]<min)min=a[i][j];printf(nMinis:%d\nn,min);NONO(a,min);).按下面的公式求sum的近似值,直到最后ー項(xiàng)的項(xiàng)值小于le?6為止,請將計(jì)算結(jié)果存入變量sum中。11111sum=1+ + + + + + 3*35*5 7*7 9*9 (2n-l)(2n-l)#include"math.h"#includenstdlib.h"voidmain(){doublesum;doublesum1=0;intn;fbr(n=l;(2*n-l)*(2*n-l)<le6;n++)sum1=sum1+1.0/(2*n-l)/(2*n-l);sum=suml;printf("sum=%.3f\n”,sum);NONO(sum);.按下面的公式求sum的值。sum=1-2+3-44-5-6+ + 99-100#include"math.h"#include"conio.h”#include"stdlib.h”voidmain()voidNONO(intx);〃函數(shù)聲明intsum;/***********begin***********/inti,t=l;sum=0;fbr(i=l;i<=100;i-H-){sum+=t*i;t=(-l)*t;}/************end************/printf(nsum=%d\nH,sum);NONO(sum);.求指定字符在字符串中第一次出現(xiàn)的位置并輸出。例如,當(dāng)字符串為"ThisIsacProgram”,指定字符為匕’時則應(yīng)輸出:Resultis:8#include<stdio.h>intfun(charstrl[],charch)/***********begin***********/inti;fbr(i=O;strl[i]!=,\O,;i++)ifi(strl[i]=ch)break;returni;voidmain()voidNONO();〃函數(shù)聲明charstrl[80]=wThisIsacProgramM,ch=,a,;intpos;printf(nStringis:%s\n",strl);printff'charis:%c\nM,ch);pos=fun(strl,ch);printf(MResultis:%d\nH,pos);NONO();}.求[m,n]之間既能被3整除又能被5整除的整數(shù)之和,m和n的值由鍵盤輸入。#include"math.h"#include"conio.h”#include"stdlib.h”longintfiin(intm,intn)inti,t;longints=0;if(m>n){t=m;m=n;n=t;}fbr(i=m;i〈=n;i++)ifi(i%3==0&&i%5=0)s+=i;printffSumis:%ld\nH,s);returns;/************end************/voidmain(){longints;intm,n;printfl**Enterm,n:\nH);scanff'%d%dn,&m,&n);s=fun(m,n);printffs=%ld\n”,s);NONO();).統(tǒng)計(jì)字符串中的所有小寫字母的個數(shù)并輸出。例如,當(dāng)字符串為"ThisIsacProgram"輸出:Resultis:12#include<stdio.h>fiin(charstrl[])/***********begin***********/intiJ=0;fbr(i=O;strl[i]!='、〇’;i++)iRstr1[i]>='a'&&strl[i]v='z')j-H-;return(j);voidmain()voidNONO();charstrl[80]=nThisIsacProgram0;intn;printffStringis:%s\n",strl);gets(strl);n=fun(strl);printfi(nResultis:%d\nH,n);NONO();.按下面的公式求s的近似值:11111s=1+ + + + +n*n2*2 3*3 4*4 5*5n*n#include"math.h"#includenstdlib.hndoublefiin(intn)/***********begin***********/floatsum=0,i,t;for(i=l;i<=n;i-H-)sum+=1.0/(i*i);retum(sum);voidmain(){doubles;intn;printffEnters:\n");scanff'%d",&n);s=fun(n);printffs=%.3f'n”,s);NONO();).求[m,n]之間既不能被7整除也不能被5整除的整數(shù)之和,m和n的值由鍵盤輸入。例如,如果m和n的值分別為10和20,則計(jì)算結(jié)果為:106。#includenmath.h"#include"conio.h"#include"stdlib.h"longintfun(intm,intn)inti,sum=0;fbr(i=m;i<=n;i++)if(i%5!=0&&i%7!=0)sum+=i;returnsum;voidmain()voidNONO();longints;intm,n;printff'Enterm,n:\n");scanf{"%d%d",&m,&n);s=fun(m,n);printfi("s=%ld\n',,s);NONO();.求兩個整數(shù)m和n的最小公倍數(shù),將求出的最小公倍數(shù)存入變量t中。voidmain()voidNONO(intm,intn,ints);〃函數(shù)聲明intm=6,n=45,t,i,temp;/***********bcgin***********/for(i=45;i>=45;i-H-)ifi(i%m==0&&i%n==0)break;t=i;printfif'TheLowestCommonMultipleof%dand%dis%d\n",m,n,t);NONO(m,n,t);).求兩個整數(shù)m和n的最大公約數(shù),將求出的最大公約數(shù)存入變量t中voidmain(){intm=76,n=40,t,i;/***********bQ(jjn***********/fbr(i=l;i<=n;i++){ifi(m%i==0&&n%i==0)t=i;}printf(HTheHighestCommonDivisorof%dand%dis%d\n”,m,n,t);NONO(m,n,t);).求ー維數(shù)組rea中所有元素的整數(shù)部分和小數(shù)部分之和。部分源程序存在文件PROG.C中,請將整數(shù)部分之和存入變量suml中,將小數(shù)部分之和存入變量sum2中。#include"math.h"#include"conio.h”#include"stdlib.h”voidNONO(longintsuml,doublesum2)l,從低位開始取出長整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成ー個新數(shù)放在t中。 例如,當(dāng)s中的數(shù)為:7654321時,t中的數(shù)為:7531〇#include<stdio.h>voidmain(){longs,t,sl=10;printff'nPleaseenters:H);scanグ%Id”,&s);/************d************/t=s/10;—^?^-1=s%10;while(s>0){s=s/100;t=s%10*si+1;/************Cund************/si=si*100; si=si*10;)printf("Theresultis:%ld\n",t);.求一維數(shù)組a中所有元素的平均值,結(jié)果保留兩位小數(shù)。例如,當(dāng)ー維數(shù)組a中的元素為:10,4,2,7,3,12,5,34,5,9程序的輸出應(yīng)為:Theaveris:9.10〇#include<stdio.h>voidmain(){inta[10]={10,4,2,7,3,12,5,34,5,9},i;/************d************/intaver,s;afloataver,s/***********************/s=0;?ー?s=a[0];fbr(i=l;i<10;i-H-)s+=a[i];aver=s/i;printffTheaveris:%.2f\nH,aver);)26.求一維數(shù)組a中所有元素的平均值。例如,當(dāng)ー維數(shù)組a中的元素為:10,4,2,7,3,12,5,34,5,9,程序的輸出應(yīng)為:Theaveris:9.100000。

#include<stdio.h>floataverage(intarr[]){floataver,s=0;inti;for(i=0;i<10;i++)s+=arr[i];aver=s/i;return(aver);voidmain(){inta[10]={l0,427,3,12,5,34,5,9};printfi(nTheaveris:%f\nH,average(a));.當(dāng)M為5時,如果從鍵盤上輸入的5個數(shù)分別為:1、分別為:1、2、當(dāng)M為10時,分別為:1、2、輸出應(yīng)為:1#defineM:,3、4、5時,輸出應(yīng)為:1如果從鍵盤上輸入的10個數(shù),3、4、5、6、7、8、9、10234 5 54 352 3 2lo時,21voidmain(){inti,a[100],t;/************** d************/fbr(i=0;i<M;i-H-)scanfC%dH,&a[i]);for(i=0;i<M/2;i++)/**************f^oiind************/a[M-i-l]=a[i];fbr(i=0;i<M;i-H-)printf(u%5dH,a[i]);printff\n");.在第一個循環(huán)中給a數(shù)組的前10個數(shù)組元素依次賦1、2、3、4、5、6、7、8,9、10;在第二個循環(huán)中使a數(shù)組前10個元素中的值對稱折疊,變成1、2、3、4、5、5、4、3、2、I:在最后一個循環(huán)中輸出對稱折疊以后的a數(shù)組的前10個元素。#include<stdio.h>voidmain(){inti,a[10];for(i=1;i<=10;i++)a[i-l]=i;

for(i=0;i<5;i++)a[10-i-l]=a[i];fbr(i=0;i<10;i-H-)printf(u%5du,a[i]);printff\n”);29,在第一個循環(huán)中從鍵盤上給a數(shù)組的前M(MvlOO)個數(shù)組元素依次賦值;在第二個循環(huán)中使a數(shù)組前M個元素中的值對稱折疊;在最后一個循環(huán)中輸出折疊以后的a數(shù)組的前M時,輸1、2、

k個元素。例如:當(dāng)M為5時,如果從鍵盤上輸入的5個數(shù)分別為:1、2、3、4、5出應(yīng)為:1 2 3 2 1。當(dāng)M為時,輸1、2、

k3、4、5、6、7ヽ8、9、10時,輸出應(yīng)為:1 23455432#defineM5voidmain(){inti,a[100];/**************f^ound************/fbr(i=0;i<5;i-H-)scanf(”%d”,&a[i]);fbr(i=0;i<M/2;i++)a[4-i]=a[i];fbr(i=0;i<M;i++)printf(n%5dn,a[i]);printff'n");.把數(shù)組a(大小為M)中前M-l個元素中的最大值放入a的最后ー個元素中。#include<stdio.h>#defineM11voidmain(){inta[M],i;fbr(i=O;i<M-l;i++)scanfT%d”,&a[i]);/************Sund************/a[M-l]=a[0];fbr(i=l;i〈M?l;i++)/************und************/ifi(a[M-l]<a[i])a[M-l]=a[i];printf(MMaxis%d\nn,a[M-l]);m!之值。.求Cmn=之值。n!*(m-n)!#include<stdio.h>longintfun(intx){longints=l;inti;for(i=l;i<=x;i++)s*=i;/************Cund************/retum(s);}voidmain(){longintm=12,n=2,sl,s2,s3;sl=fun(m);s2=fiin(n);s3=fun(m-n);printf("cmnis:%ld",sl/(s2*s3));}.計(jì)算正整數(shù)num的各位上的數(shù)字之和。若輸入:202(則輸出應(yīng)該是:4。voidmain()intnum,k;/************Cund************/k=0;printff\Pleaseenteranumber:");scanff'%d”,&num);do/************Cund************/k=k+num%10;num/=10;}while(num);printff\n%d\n”,k);.從鍵盤上輸入ー個正整數(shù)n,計(jì)算并輸出n的階乘。例如,如果從鍵盤上輸入8,程序的運(yùn)行結(jié)果應(yīng)為:Theresultis:40320o#include<stdio.h>longfac(intn){inti;longt=l;fbr(i=2;i<=n;i++)t=t*i;return(t);voidmain(){intn;longints;printf^HEnteranintegernumber:**);/************Cund************/scanR"%d”,&n);

s=fac(n);printffTheresultis:%ld\n”,s);.從鍵盤上輸入ー個數(shù)字組成的字符串(字符串長度小于8),將該字符串轉(zhuǎn)換成一個十進(jìn)制數(shù).例如:從鍵盤上輸入2345,則程序運(yùn)行的結(jié)果應(yīng)當(dāng)為:n=2345。#include"stdio.h”voidmain(){chars[10];inti;longintn=0;/************** d************/scanf(nscanf(n%sH,s);或gets(s);for(i=0;i<strlen(s);i-H-) 或for(i=0;s[i]!=へ?!?i++)n=n*10+s[i]-'0';printfi("n=%ld\n",n);.求一維數(shù)組a中素?cái)?shù)的個數(shù)。例如:如果數(shù)組a的元素為:2,3,5,7,8,9,10,11,12,13,則程序的輸出應(yīng)為:primenumber(s)is(are):6?#include<stdio.h>voidmain(){inta[l0]={2,3,5,7,8,9,10J1,12,13},ij,k,count;count=0;for(i=0;i<10;i-H-){k=sqrt(a[i]);for(j=2;j<=k;j++)if(a[i]%j=0)break;/************f^ound************/i埒i埒>=k+l)count++;}/************ d************/printf(Mprimenumber(s)is(are):%dn,count);.輸出Fabonacci數(shù)列:332,3,5,8, 的前20項(xiàng)的值,要求每行輸出5個數(shù)。#include"stdio.h"voidmain(){longintf[20]={l,l};inti;/**************治und************/printf(M%81d%81d0,f[O],f[l]);for(i=2;i<20;i-H-)if(i%5=0)printf("\nH);print仗%81d”,f[i]);}.求兩個正整數(shù)m,n之間的非素?cái)?shù)之和(包含m和n)°例如:如果數(shù)組m=2,n=20?則程序的輸出應(yīng)為:Sumis:132〇#include<math.h>#include<stdio.h>voidmain(){intm=2,n=20,ij,k,sum;/************************/sum=0;for(i=m;i<=n;i-H-){k=sqrt(i);fbr(j=2j<=k;j++)if(i%j=0) break;/************心und************/if(j<=k)sum+=i;}printffSumis:%d\nM,sum);}38.計(jì)算!到M(M為100)之間的奇數(shù)之和及偶數(shù)之和。程序運(yùn)行結(jié)果為:sumofevensis2550 sumofoddsis2500#include<stdio.h>#defineM100voidmain(){inta,b,c,i;a=0;c=0;/**************Cund************/for(i=l;i<=M;i+=2){a+=i;/**************************/b=i+l;c+=b;}print出“sumofevensis%d\nH,c);printf(Hsumofoddsis%d\n”,a);40.實(shí)現(xiàn)在N行M列的二維數(shù)組中,找出每一行上的最大值,且原數(shù)組值不變。 例如:如果二維數(shù)組元素的值為:157426438231時,程序的運(yùn)行結(jié)果應(yīng)為:Themaxvalueinline0is7Themaxvalueinline1is6

Themaxvalueinline2is8#defineM4#defineN3voidmain(){intij,p,x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};for(i=0;i<N;i++){p=0;for(j=O;j<M;j++)if(x[i][p]<x[i][j])/************Cund************/x[i][p]=x[i]U];x[i][p]=x[i]U];或p弓;printf(nThemaxvalueinline%dis%d\nM,i,x[i][p]);.查找n在數(shù)組a中最后一次出現(xiàn)的位置。例如:如果a數(shù)組中的元素為:1,525,6,8,7,4,3,0,當(dāng)n=5時,程序的輸出結(jié)果為:5isNo.3。當(dāng)n=10時,程序的輸出結(jié)果應(yīng)為:10notfound!〇#include<stdio.h>voidmain(){inta[10]={l,5,2,5,6,8,7,43,0};inti,k,n,f=0;scanff'%d",&n);for(i=0;i<10;i-H-)/************f^ound************/if(n=a[i]){f=l;/************Cund************/k=i; }if(f)elseprintf(H%disNo.%d\n",n,k);printff%dnotfound!\nH,n);if(f)else.求兩個正整數(shù)x,y的最小公倍數(shù)。例如:如果x=24,y=36,程序的輸出應(yīng)為:minis:72〇#include<math.h>#include<stdio.h>voidmain(){intx,y,t,i;printffPleaseentertwonumbers:*1);scanf(**%d,%d,,,&x,&y);if(x>y){t=x;x=y;y=t;}/************^und************/for(i=y;i<=x*y;i++)if(i%x=O&&i%y=0)break;}printffminis:%d”,i);.求兩個正整數(shù)x,y的最大公約數(shù)和最小公倍數(shù)。例如:如果x=24,y=36,程序的輸出應(yīng)為: maxis:12,minis:72〇#include<math.h>#include<stdio.h>voidmain(){intx,y,t,max,min,i,n1,n2;scanf(u%d,%d,,,&x,&y);if(x>y){t=x;x=y;y=t;}nl=x;n2=y;t=n2%n1;/************Sund************/或while(t)或while(t){n2=nl;nl=t;t=n2%nl;/************f^ound************/max=nl;min=x*y/max;printf(nmaxis:%d\n”,max);printff'minis:%d\n",min);44先將在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序連接到t串的后面。例如:當(dāng)s中的字符串為:“ABCDE”時,則t中的字符串應(yīng)為:“EDCBAABCDE”。#include<stdio.h>#include<string.h>main(){chars[80],t[80];/************d************/intsl,i;printf(”ヽnPleaseenterstrings:");scanR"%s",s);si=strlen(s);fbr(i=0;i<sl;i++)/************飴und************/t[i]=s[sl-i-l];for(i=0;i<sl;i++)t[sl+i]=s[i];t[2*sl]=へ?!?;printffTheresultis:%s\n”,t);45.輸出1?1000之間的所有完數(shù),并輸出每個完數(shù)的所有因子。所謂完數(shù),就是指ー個正整數(shù),它的各因數(shù)之和等于其自身。例如,28=1+2+4+7+14,28是ー個完數(shù)。#include<conio.h>#include<stdlib.h>#include<math.h>main(){intij,t;fbr(i=l;i<=1000;i-H-){t=0;fbr(j=lj<iu++)ifi[i%j==0)t+=j;/************^Qund************/if(t=i){printff\n%disafullnumber\n';i);printfif11factorsof%dare:\t",i);/************Cund************/fbr(j=lj<ij++)if(i%j=O)printfl["%d,",j);printf("\n");)46.求一維數(shù)組a中的最大元素及其下標(biāo)。例如,當(dāng)ー維數(shù)組a中的元素為:1,4,2,7,3,12,5,34,5,9,程序的輸出應(yīng)為:Themaxis:34,posis:7〇#include<stdio.h>intmax;fun(intarr[],intn){intpos,i;max=arr[0];pos=0;for(i=l;i<n;i-H-)if(max<arr[i])max=arr[i];/************Cund************/pos=i;}return(pos);}voidmain(){inta[10]={l,4,2,7,3,l2,5,34,5,9},n;/************f^)und************/n=fiin(a,10);printf("Themaxis:%d,posis:%d\nH,max,n);.先將在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序連接到t串的后面。例如:當(dāng)s中的字符串為:“ABCDE”時,則t中的字符串應(yīng)為:“EDCBAABCDE”。#include<stdio.h>#include<string.h>main(){chars[80],t[80];intsl,i;printf("ヽnPleaseenterstrings:H);scanR"%s",s);si=strlen(s);for(i=0;i<sl;i-H-)/************************/t[i]=s[sl-i-l];for(i=0;i<sl;i-H-)t[sl+i]=s[i];t[2*sl]=‘、〇';printffTheresultis:%s\nM,t);.將[m,n]之間的所有素?cái)?shù)存放到ー維數(shù)組a中,并輸出這些素?cái)?shù)。例如,如果m=2,n=20,程序的輸出應(yīng)為:2 3 5 711131719#include<conio.h>#include<stdio.h>prime(intm){intj,k;k=(int)sqrt(m);for(j=2;j<=k;j++)if(m%j=0)return(0);return(1);voidmain(){inta[100],i,c=0,m,n;printffEnterm,n(m<n):M);scanf(M%d,%d,,,&m,&n);/************Cund************/for(i=m;i<=n;i++)/************Cund************/ifi(prime(i)=l){a[c]=i;printfT%4d”,a[c]);-H-C;49,將長整型數(shù)中每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。髙位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為:87653142時,t中的數(shù)為:7531〇#include<stdio.h>main(){longs,t,sl=l;intd;printff'WPleaseenters:”);scanf(”%kr,&s);t=0;while(s>0){d=s%10;if(d%2!=0){t=d*si+1;si*=10;s/=10;printffTheresultis:%ld\n\t);.求一維數(shù)組a中的最小元素及其下標(biāo)。#include<stdio.h>main(){inta[l0]={1,4,2,7,3,12,5,34,5,9},i,min,pos;/************************/min=a[0];pos=0;for(i=l;i<10;i-H-)if(min>a[i])min=a[i];/************ d************/pos=i;printfi(nTheminis:%d,posis:%d\nn,min,pos);.求兩實(shí)數(shù)平方根之和,并輸出此和。例如:輸入12和20,輸出結(jié)果是:¢=7.936238。#include<math.h>main(){/************i^3und************/doublea,b,c;printf(HEntera&b:H);scanf(M%lf%ir,&a,&b);c=sqrt(a)+sqrt(b);printf(nc=%f\nH,c);編程題要求:注意:部分源程序存在文件PROG1.C中。iW在/*******begin********/與Z?****?**end*********/之間填入你編寫的若干語句。請勿改動其它位置的任何內(nèi)容。main。函數(shù)中的最后一行以及main()函數(shù)后面的內(nèi)容,考生不必閱讀,但千萬不要對這些內(nèi)容作任何改動。1、將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和個位上。例如,當(dāng)a=45,b=12o調(diào)用該函數(shù)后,c=4152o源文件:#include<conio.h>#include<stdio.h>longfiin(inta,intb){longc;inti=a%10;j=a/10;m=b%10;n=b/l0;c弓?1000+n*l00+i*10+m;returnc;)main(){inta,b;longc;printfi(nInputa,b:");scanグ%d,%d”,&a,&b);c=fun(a,b);printffTheresultis:%ld\n",c);NONO();)NONO(){FILE*rf,*wf;inti,a,b;longc;rf=fopenCinl.datM,V);wf=fbpen(”〇utl.daピJw“);fbr(i=O;i<10;i++){fscanfi[rf,"%d,%d”,&a,&b);c=fiin(a,b);mrintRwf,"a=%d,b=%d,c=%ld\n”,a,b,c);}fclose(rf);

fclose(wf);-2+3-4+5-6+ + 99-1002、按下面的公式求sum-2+3-4+5-6+ + 99-100#include"stdio.h”#includenmath.hH#include"conio.h”#includeMstdlib.hMmain(){intsum;/***********beg]n***********/inti,b;sum=0;fbr(i=l;i<=100;i+=2){b=-l*(i+l);sum+=i+b;}printff'sum=%d\n”,sum);NONO(sum);NONO(intx){FILE*f;f^fbpen(Houtl.datn,,,wH);fprintf(f;,sum=%d\nn,x);fclose(f);3、按下面的公式求sum的值。111sum=1+ +——2 3100源文件:#include“stdio.h”#include"math.h"#include"conio.h”#include"stdlib.h"main(){doublesum;/***********begin***********/inti;floatt;sum=1;fbr(i=2;i<=100;i++){t=1.0/i;sum=sum+t;}printfi(,,sum=%.3f\nn,sum);NONO(sum);NONO(doublex){FILE*f;f=fbpen(Houtl.datM,HwM);fprintf(f;,sum=%.3f\n',,x);fclose(f);}4、求指定字符在字符串中出現(xiàn)的次數(shù)并輸出。例如,當(dāng)字符串為"ThisIsacProgram”,指定字符為R時則應(yīng)輸出:Resultis:2源文件:#include<conio.h>#include<stdio.h>intfiin(charstrl[],charch)/***********begin***********/inti,n=0;for(i=O;strl[i]!=W;i-H-){ififstrl[i]=ch)n++;}retum(n);main(){charstrl[80]=wThisIsacProgram",ch='a';intcount;printffStringis:%s\nM,strl);printffcharis:%c\n",ch);count=fiin(str1,ch);printfif"Resultis:%d\nH,count);nono(count);)nono(intcount){FILE*f;f^fbpen(Houtl.dat","w");.rintf(覃Resultis:%d\n",count);fclose(f);)5、求3*3矩陣的第0行元素的和并輸出。例如,當(dāng)矩陣為:789則第0行元素的和為:6源文件:#include<conio.h>#include<stdio.h>intftin(inta[3][3])inti,p=O,sum=O;fbr(i=0;i<3;i-H-)sum+=a[p][i];retum(sum);main(){inta[3][3]={l,2,3,4,5,6,7,8,9};intij,sum;printff'arrayis:\nM);fbr(i=O;i〈3;i++)(for(j=O;j<3j++)printf("%5d",a[i][j]);printf("\n");Jsum=fun(a);printff'Resultis:%d\nH,sum);nono(sum);)nono(intsum){FILE*f;f=fbpen(,,outl.datM,"wM);fprintfi(f,nResultis:%d\nn,sum);fclose(f);)7、將字符串倒序存放并輸出。例如,當(dāng)字符串為"ThisIsacProgram"輸出:"margorPcasisihT"源文件:#include<conio.h>#include<stdio.h>voidfiin(charstrl[])inti,j;chart;fbr(i=O;strl[i]!=W;i++)j=i;i=0;do{t=strl[i];strl[i]=strl[j];strl[j]=t;i++;卜?;while(j>=i);main(){charstrl[80]=nThisIsacProgram";printff'Stringis:%s\nH,strl);fun(strl);printfi(nResuItis:%s\nH,strl);nono(strl);}nono(charstrl[]){FILE*f;f=fbpen(Houtl.datM,"wH);mrintf(f,"%s\n”,strl);fclose(f);)8、將字符串中的所有小寫字母轉(zhuǎn)換為大寫字母并輸出。例如,當(dāng)字符串為"ThisIsacProgram"程序的輸出應(yīng)為:"THISISACPROGRAM"源文件:#include<conio.h>#include<stdio.h>voidfun(charstrl[])/***********begin***********/inti;fbr(i=O;strl[i]!=W;i-H-){if(strl[i]>=,a,&&strl[i]<='z')strl[i]-=32;}main(){charstrl[80]=nThisIsacProgram**;printffStringis:%s\n",strl);fiin(strl);printfi(HResultis:%s\nH,strl);nono(strl);nono(charstrl[]){FILE*f;f=fbpen(Houtl.datM,"wM);fprintf(f,H%s\nH,strl);fclose(f);}9、統(tǒng)計(jì)字符串中的所有小寫字母的個數(shù)并輸出。例如,當(dāng)字符串為"ThisIsacProgram”輸出:Resultis:12源文件:#include<conio.h>#include<stdio.h>intfun(charstrl[])/***********begin***********/inti,n=0;for(i=O;strl[i]!=W;i-H-){if(strl[i]>=,a,&&strl[i]<=,z')n++;}retum(n);/************end************/main(){charstrl[80]-*ThisIsacProgram11;intcount;printffStringis:%s\nM,strl);count=fun(strl);printff'Resultis:%d\n",count);nono(count);)nono(intcount){FILE*f;f=fbpen(Houtl.datM,"wM);fprintfi(f,"Thesumis:%d\n",count);fclose(f);)10、統(tǒng)計(jì)字符串中的所有元音字母’か的個數(shù)并輸出。例如,當(dāng)字符串為叮hisIsacProgram"輸出:Resultis:2源文件:#include<conio.h>#include<stdio.h>intfun(charstrl[])inti,n=O;for(i=O;strl[i]!=,\O,;i++){iRstrl[iLa)n++;}retum(n);main(){charstrl[80]-fThisIsacProgram";intcount;printff'Stringis:%s\nH,strl);count=fun(strl);printf(nResultis:%d\n*',count);nono(count);}nono(intcount){FILE*f;f=fbpen(Houtl.datH,"wH);fprintf(f,nThesumis:%d\nn,count);fclose(f);)11、將字符串1的第1,3,5,7,9,......位置的字符復(fù)制到字符串2并輸出。例如,當(dāng)字符串1為"ThisIsacProgram"則字符串2為"hsl rga"源文件:#include<conio.h>#include<stdio.h>voidfiin(charstr1[],charstr2[])/***********begin***********/intij=0;fbr(i=l;strl用!=へ(T;i+=2){str2[j]=strl[i]u++;}str2U]=W;main(){charstrl[8O]=nThisIsacProgram0,str2[80];printffStringis:%s\n",strl);fun(strl,str2);printfi(HResultis:%s\nH,str2);nono(str2);nono(charstrl[]){FILE*f;f=fbpen(Houtl.datM,HwM);fprintf(f,H%s\nH,strl);fclose(f);}12、將字符串2連接到字符串1的后面并輸出。例如,當(dāng)字符串1為“ThisIsa”,字符串2為“cProgram”則輸出:"ThisIsacProgram0源文件:#include<conio.h>#include<stdio.h>voidfun(charstr1[],charstr2[])/***********begin***********/inti=0j=0;fbr(i=O;strl[i]!=W;i-H-);fbrg=O;str2[j]!=,\O,y++){strl[i]=str2[j];i++;strl[i]=W;/************end************/main(){charstrl[80]=nThisIsa”,str2[80]=”cProgram11;prir!氓"Stringlis:%s\n",strl);printf(wString2is:%s\nH,str2);fun(strl,str2);printfl"Resultis:%s\n”,strl);nono(strl);)nono(charstrl[]){FILE*f;4fbpen(”〇utl.daロ”w”);fprintf(f,H%s\nM,strl);fclose(f);)13、求字符串的長度并輸出。例如,當(dāng)字符串1為"ThisIsacProgram"則應(yīng)輸出:Resultis:19源文件:#include<conio.h>#include<stdio.h>intfiin(charstrl[])inti,n;fbr(i=O;strl[i]!=ヘ〇”)n=i+l;retum(n);main(){charstrl[8O]-*ThisIsacProgram";intcount;printff'Stringis:%s\n",strl);count=fun(strl);printf(nResultis:%d\n*',count);nono(count);}nono(intcount){FILE*f;f=fbpen(Houtl.datM,"wH);fprintf(f,nThesumis:%d\nn,count);fclose(f);)14、求指定字符在字符串中第一次出現(xiàn)的位置并輸出。例如,當(dāng)字符串為"ThisIsacProgram”,指定字符為宜時則應(yīng)輸出:Resultis:8源文件:#include<conio.h>#include<stdio.h>intfiin(charstrl[],charch)/***********begin***********/inti,n=0;for(i=0;strl[i]!=,\0,;i+4-){if(strl[i]=ch)n=i;if(n!=O)break;}retum(n);/************end************/main(){charstrl[8O]=nThisIsacProgramn,ch-a';intposi;printf(ttStrmgis:%s\nH,strl);printf(Mcharis:%c\nH,ch);posi=fun(strl,ch);prin氓"Resultis:%d\nH,posi);nono(posi);nono(intposi){FILE*f;f=fopen(MoutLdatM,"wM);fprintf(f,nThesumis:%d\nu,posi);fclose(f);}15、將字符串中的所有字符言替換成公,,其余的不變;并輸出。例如,當(dāng)字符串為"ThisIsacProgram”,則輸出:"ThisIsAcProgrAm"源文件:#include<conio.h>#include<stdio.h>voidfun(charstrl[])/***********beg]n***********/inti;fbr(i=O;strl[i]!=M)';i++){i心trl[i]=E)strl[i]-=32;}main(){charstrl[80]="ThisIsacProgram";printf(wStringis:%s\n",strl);fun(strl);printfi("Resultis:%s\n",strl);nono(strl);}nono(charstrl[]){FILE*f;f=fbpen("outl.dat","w");fprintf(f,"%s\n",strl);fclose(f);)17、將一個4位的整數(shù)m拆開,然后按相反順序輸出,每輸出一位數(shù)其后留2個空格。例如,如果m=1234,則程序的輸出結(jié)果應(yīng)為:m=1234,432I〇cc源文件:#includeMstdio.hM#include"math.h"#include"conio.h”#include“stdlib.h”main(){intm=1234,a,b,c,d,i;a=m%10;b=(m/10)%10;c=(m/100)%10;d=m/1000;printffm=%d,%d%d%d%d\n”,m,a,b,c,d);NONO(m,a,b,c,d);NONO(x,a,b,c,d)intx,a,b,c,d;{FILE*f;MbpenCoutl.dat,7lww);fprintfi(f,nm=%d,%d%d%d%d\n",x,a,b,c,d);fclose(f);,否則使變量f值為0。18、判斷m是否為素?cái)?shù)。如果,否則使變量f值為0。源文件:#include"stdio.h”#include"math.h"#include"conio.h”#includenstdlib.hnmain(){intm=123,f=l,i;/***********beg]n***********/fbr(i=2;i<m;i++){if(m%i=0)M);}if(f)printf(H%disaprime\nn,m);elseprintff'%disnotaprime\nH,m);NONO(f,m);NONO(intk,intm){FILE*f;f=fopen(noutl.dafV,wH);if(k==l)fprintfitf/^disapri\nH,m);

elsefprintfi(f,"%disnotapri\nH,m);fclose(f);19.求一維數(shù)組a中的值為偶數(shù)的元素之和。例如,當(dāng)ー維數(shù)組a中的元素為:10,4,2,7,3,12,5,34,5,9,程序的輸出應(yīng)為: Theresultis:62#include<conio.h>#include<stdio.h>voidmain(){inta[10]={10,4,2,7,3,12,5,34,5,9},i,s;s=0;for(i=0;i<10;i++)if(i%2==0)s=s+if(i%2==0)s=s+a[i];if(a[i]%2==0)/************8und************/print,Theresultis:%d\n",/************8und************/print,Theresultis:%d\n",s); printff'Theresultis:%d\n",s);}20.若用函數(shù)調(diào)用來求呢?#include<stdio.h>intsum(intarr[],intn){inti,s;s=0;for(i=0;i<n;i++)if(arr[i]%2=0)/************************/s=s+i;s=s+arr[i];return(s);voidmain(){inta[10]={l0,427,3,12534,5,9},i,s;/************Cund************/s=s=sum(a,2);~,s=sum(a,10);printff'Theresultis:%d\n”,s);printff'Theresultis:%d\n”,s);21求一維數(shù)組a中值為奇數(shù)的元素之和。例如,當(dāng)ー維數(shù)組10,4,2,7,3,12,5,34,5,9,21,19程序的輸出應(yīng)為:Theresultis:69?#include<stdio.h>intsum(intb[],intn){inti,s=0;for(i=0;i<n;i-H-)if(b[i]%2=1)/************f^ound************/中的元素為:s=s+b[i];return(s);main(){inta[12]={l0,4,2,7,342,5,34,5,9,2l,19},n;n=sum(a,12);printffTheresultis:%d\n”,n);22求二維數(shù)組a中的最大值。 例如,當(dāng)二維數(shù)組a中的元素為:34125 程序的輸出應(yīng)為:Themaxis:34〇#include<stdio.h>intarrmax(intarr[3][3]){inti,j,max;max=arr[0][0];/************ d************/for(i=l;i<3; -?for(i=0;i<3;i-H-)for(j=0;j<3;j++)if(max<arr[i][j]) max=arr[i][j];return(max);}voidmain(){inta[3][3]={4,4,34,7,3,12,5,6,5},ij;/************治und************/arrmax(a)printff'Themaxis:%d\nn,arrmax(a[0][0]));}23.若用函數(shù)調(diào)用呢?arrmax(a)#include<stdio.h>intmax;maxarr(intarr[]){intpos,i;/************f^ound************/max=0;?ー?max=arr[0];pos=0;fbr(i=l;i<10;i++)if(max<arr[i]){max=arr[i];pos=i; }/************Cund************/return(i); retum(pos);voidmain(){inta[10]={34,4,2,7,3,12,5,8,5,9};printff'Themaxis:%d,posis:%d\n",max,maxarr(a));24求二維數(shù)組a中的最小值。例如,當(dāng)二維數(shù)組a中的元素為:34125程序的輸出應(yīng)為:Theminis:3〇#include<stdio.h>intamnin(intarr[3][3]){inti,j,min;min=arr[0][0];fbr(i=0;i<3;i++)for(j=O;j<3;j++)if(min>arr[i][j])min=arr[i][j];return(min);voidmain(){inta[3][3]={4,4,34,7,3,12,5,6,5},n;n=arrmin(a);printffTheminis:%d\n”,n);26.將長整型數(shù)中每一位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在髙位,低位仍在低位。例如,當(dāng)s中的數(shù)為:87653142時,t中的數(shù)為:8642。#include<stdio.h>voidmain(){longs,t,sl=l;intd;printf(n\nPleaseenters:M);scanf(M%ldn,&s);t=0;while(s>0){d=s%10;/************ほund************/if(d%2=0)???if(d%2==0){t=d*si+1;si*=10; }/************飴und************/s\=10; } s/=10;printf("Theresultis:%ld\n",t);}27.從低位開始取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。例如,當(dāng)s中的數(shù)為:7654321時,t中的數(shù)為:642〇#include<stdio.h>main(){longs,t,sl=10;printfif^XnPleaseenters:H);scanff%ld",&s);s/=10;t=s%10;/************f^ound************/while(s>0){s=s/100;t=s%10*sl+t;/************^und************/si=si*10;)printffTheresultis:%ld\n”,t);.求出a所指數(shù)組中最大數(shù)(規(guī)定最大數(shù)不在a[〇]中),最大值和a[〇]中的數(shù)對調(diào)。例如數(shù)組中原有的數(shù)為:7、10、12、0、3、6、9、11、5、8,輸出的結(jié)果為:12、10、7、〇、3、6、9、11、5、8。#include<stdio.h>#defineN10voidmain(){inta[N]={7,10,12,0,3,6,9,l1,5,8},n=10,i,k,m,max,t;for(i=0;i<N;i++)printグ%d",a[i]);printfi(,'\nM);max=a[〇];m=0;for(k=l;k<N;k++)/***********

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論