PTA函數(shù)答案.doc_第1頁(yè)
PTA函數(shù)答案.doc_第2頁(yè)
PTA函數(shù)答案.doc_第3頁(yè)
PTA函數(shù)答案.doc_第4頁(yè)
PTA函數(shù)答案.doc_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

三、程序填空題3-32程序閱讀:下列程序?qū)⑤敵?5分)。# include int s;int f(int m) static int k=0; for(; k=m; k+) s+; return s;int main(void ) int s=1; s=f(2)+f(2); printf(%d#%d#, s, f(20); return 0;四、函數(shù)4-3求m到n之和(10分)int sum(int m, int n)int i;int s=0;for(i=m; i=n; i+)s= s + i;return (s);4-34簡(jiǎn)單輸出整數(shù)(10分)void PrintN ( int N )int i;for(i=1; i=N; i+)printf(%dn, i);4-36簡(jiǎn)單求和(10分)int Sum ( int List, int N )int k;int sum=0;for(k=0; kN; k+)sum += Listk;return sum;4-40簡(jiǎn)單階乘計(jì)算(10分)int Factorial( const int N )int i;int s=1;if( N 0 )return 0;else if( N = 0)return 1;else for(i=1; i=N; i+)s*=i;return s;4-41統(tǒng)計(jì)個(gè)位數(shù)字(15分)int Count_Digit(const int N, const int D) int x; int count=0; int temp=0; x=N; if(x0); return count; 4-43找兩個(gè)數(shù)中最大者(10分)int max( int a, int b )int max;if(a = b)max = a;elsemax = b;return max;4-44數(shù)字金字塔(15分)void pyramid(int n)int i, j, space;for(i=1; i = n; i+)space = n - i;for(j=0; j space; j+)putchar( );for(j=0; j i; j+)printf(%-2d, i); putchar(n);4-45判斷奇偶性(10分)int even( int n )if( n0 )n = -n;if( n%2=0 )return 1;elsereturn 0;4-46使用函數(shù)求奇數(shù)和(15分)int even( int n )if( n0 )n = -n;if( n%2=0 )return 1;elsereturn 0;int OddSum( int List, int N )int k;int oddsum = 0;for(k=0; kN; k+)if(even(Listk)=0)oddsum += Listk;return oddsum;4-47使用函數(shù)計(jì)算兩點(diǎn)間的距離(10分)double dist( double x1, double y1, double x2, double y2 )double Dist;Dist = sqrt(x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );return Dist;4-48使用函數(shù)求素?cái)?shù)和(20分)int prime( int p )int i,j;int count =0;for(j=2;j0&p!=1)return 1; elsereturn 0;int PrimeSum( int m, int n ) int i,sum=0; for(i=m;i=n;i+)if(prime(i)=1)sum=sum+i;return sum;4-19使用函數(shù)統(tǒng)計(jì)指定數(shù)字的個(gè)數(shù)(15分)int CountDigit( int number, int digit ) int count,temp,x; x=number; if(x0); return count; 4-20使用函數(shù)輸出水仙花數(shù)(20分)int narcissistic(int number) int i, j, digit, power, powerSum, integer, count, flag; count = 0; integer = number; while (integer 0) integer = integer / 10; count+; powerSum = 0; integer = number; for (i = 0; i count; i+) digit = integer % 10; integer = integer / 10; power = 1; for (j = 0; j count; j+) power = power*digit; powerSum = powerSum + power; if (powerSum = number) flag = 1; else flag = 0; return flag;void PrintN(int m, int n) int i; for (i = m + 1; i e)count+;if(count%2!=0) cj=1;for(j=1; j=i; j+) cj=cj*j;d=pow(x,i)/cj;sum=sum+d;i+=2; else cj=1;for(j=1; j=i; j+)cj=cj*j;d=pow(x,i)/cj;sum=sum-d;i+=2;return sum;4-49分類(lèi)統(tǒng)計(jì)字符個(gè)數(shù)(15分)void f( long int x, char *p ) char q; static int i=0,j=0; if(x0) x=-x; *p=-; p+; q=x%16; if(q0) f(x, p); *(p+(i-j)=q; j-; 4-7使用函數(shù)求特殊a串?dāng)?shù)列和(20分)int fn( int a, int n )int x;int p=0;int i;for(i=0; in; i+)x= a * pow(10,i);p = p + x;return p;int SumA( int a, int n )int k;int sum=0;for(k=0; kn+1; k+)sum = sum + fn( a , k );return sum;4-22使用函數(shù)輸出指定范圍內(nèi)的完數(shù)(20分)void PrintPN( int m, int n )int k;int t;int found = 0;for(k=m; k=n; k+)if (factorsum( k ) = k)found = 1;printf(%d = 1,k); for(t=1; t1 & k%t = 0)printf( + %d, t);printf(n);if (found = 0)printf(No perfect number); 4-25使用函數(shù)輸出一個(gè)整數(shù)的逆序數(shù)(20分)int reverse( int number )int m=0;if(number 0)m = m*10 + number%10;number=number/10;return m;4-50移動(dòng)字母(10分)void Shift( char s )int i;int n;char a3;n = strlen(s);for(i=0; i3 )for(i=3; in; i+)si-3 = si;for(i=0; i3; i+)sn-3+i=ai;return s;4-51在數(shù)組中查找指定元素(15分)int search(int list, int n, int x) int i, result; for (i=0; i=n)m=m%n;if(m!=0)for(i=n-m; i=0; i-)ai+m=ai;for(i=0; i=A & si=a & si=0 & si=9)digit+;elseother+;printf(%d %d %d %d %d,bletter,sletter,blank,digit,other);4-26使用遞歸函數(shù)計(jì)算1到n之和(10分)int sum( int n )int i;int Sum=0;if(n=0)return 0;else for(i=1; i=n; i+)Sum += i;return Sum;4-28遞歸求階乘和(15分)double fact( int n )int i;double m=1;if(n=0)return m;elsefor(i=1; i0)for(j=1; j=n; j+)sum += fact(j);return sum;4-29遞歸實(shí)現(xiàn)指數(shù)函數(shù)(15分)double calc_pow( double x, int n )int i;double m=1;for(i=1; i9)N+; m=m/10;for(i=N-1; i=0; i-)shang = n * pow(10,-i);yushu = n - shang * pow(10 , i);n = yushu;printf(%dn, shang);4-9統(tǒng)計(jì)各位數(shù)字之和是5的數(shù)(20分)int is( int number )int s=0;int yushu = number;while(number 0)yushu = number % 10;s = yushu + s;number = number / 10;if(s = 5)return 1;else return 0;void count_sum( int a, int b )int i;int count=0;int count_Sum=0;for(i=a; i=b; i+)if( is(i) )count+;count_Sum = count_Sum + i;printf(count = %d, sum = %d, count, count_Sum);4-10簡(jiǎn)單實(shí)現(xiàn)x的n次方(10分)double mypow( double x, int n )int i;double s=1;for(i=0; in; i+)s = s*x;return s;4-13使用函數(shù)求1到10的階乘和(10分)double fact( int n )int k;int s=1;for(k=1;k=n; k+)s = s * k;return s;4-14使用函數(shù)求最大公約數(shù)(10分)int gcd( int x, int y )int i,t;if(x=1;i-)if(x%i=0 & y%i=0)break;return i;4-15使用函數(shù)的選擇法排序(25分)void sort( int a, int n )int temp,k,min,i;for(k=0;kn-1;k+)min=k;for(i=k+1;in;i+)if(ai p) temp = *p; *p = *end; *end = temp; -end; +p; int my_strlen(char *p) char *q = p; while(*p != 0) p+; return p-q; 4-17遞歸計(jì)算P函數(shù)(15分)double P( int n, double x )double z;if(n = 0)z = 1;else if(n = 1)z=x;else if(n 1)z = (2*n-1)*P(n-1,x) - (n-1)*P(n-2,x)/n;return z;4-1計(jì)算存款利息-genlib(10分)int main(void) int money, year;double interest,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論