ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:20.29KB ,
资源ID:28640694      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28640694.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PTA函数答案.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PTA函数答案.docx

1、PTA函数答案三、程序填空题3-32程序阅读:下列程序将输出 (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;四、函数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简单输出整数(10分)void Prin

2、tN ( int N ) int i; for(i=1; i=N; i+) printf(%dn, i);4-36简单求和(10分)int Sum ( int List, int N ) int k; int sum=0; for(k=0; kN; k+) sum += Listk; return sum;4-40简单阶乘计算(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-

3、41统计个位数字(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找两个数中最大者(10分)int max( int a, int b ) int max; if(a = b) max = a; else max = b; return max;4-44数字金字塔(15分)void pyramid(int n) int i, j, space; for(i=1; i = n; i+) space = n - i; for(j=

4、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; else return 0;4-46使用函数求奇数和(15分)int even( int n ) if( n0 ) n = -n; if( n%2=0 ) return 1; else return 0;int OddSum( int List, int N ) int k; int oddsum = 0;

5、 for(k=0; kN; k+) if(even(Listk)=0) oddsum += Listk; return oddsum;4-47使用函数计算两点间的距离(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使用函数求素数和(20分)int prime( int p ) int i,j; int count =0; for(j=2;j0&p!=1) retur

6、n 1; else return 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使用函数统计指定数字的个数(15分)int CountDigit( int number, int digit ) int count,temp,x; x=number; if(x0); return count; 4-20使用函数输出水仙花数(20分)int narcissistic(int number) int i, j, digit, power,

7、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;

8、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分类统计字符个数(15分)

9、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使用函数求特殊a串数列和(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;

10、 k+) sum = sum + fn( a , k ); return sum;4-22使用函数输出指定范围内的完数(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使用函数输出一个整

11、数的逆序数(20分)int reverse( int number ) int m=0; if(number 0) m = m*10 + number%10; number=number/10; return m; 4-50移动字母(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在数组中查找指定元素(15分)int search(int list, i

12、nt 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+; else other+; printf(%d %d %d %d %d,bletter,sletter,blank,digit,other);4-26使用递归函数计算1到n之和(10分)int sum( int n ) int i; int Sum=0; if(n=0) return 0; else for(i=1; i=n; i+) S

13、um += i; return Sum;4-28递归求阶乘和(15分)double fact( int n ) int i; double m=1; if(n=0) return m; else for(i=1; i0) for(j=1; j=n; j+) sum += fact(j); return sum;4-29递归实现指数函数(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); yush

14、u = n - shang * pow(10 , i); n = yushu; printf(%dn, shang); 4-9统计各位数字之和是5的数(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_S

15、um=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简单实现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使用函数求1到10的阶乘和(10分)double fact( int n ) int k; int s=1; for(k=1;k=n; k+) s

16、= s * k; return s;4-14使用函数求最大公约数(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使用函数的选择法排序(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

17、 *q = p; while(*p != 0) p+; return p-q; 4-17递归计算P函数(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计算存款利息-genlib(10分)int main(void) int money, year; double interest, rate; scanf(%d, &money); scanf(%d, &year); scanf(%lf, &rate); interest = money * pow(1+rate,year) - money; printf(interest = %.2fn, interest); return 0;4-2弹球距离(15分)double dist( double h, double p ) double d=h; while(p!=0) h=p*h; if(hTOL) break; d=d+2*h; return (d);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1