- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PTA所有答案
工业gc1601学习小组
、判断题
、选择题
三、函数题
4-3求m到n之和(10 分) 答案:
int sum(i nt m, int n){ int s=0,i; for(i=m;i=n ;i++) s+=i;
return s;
} 4-34简单输出整数 (10 分) 答案:
void PrintN ( int N ){ int i;
for(i=1;i=N;i++) prin tf(%d\n,i);
}
4-36简单求和 (10 分) 答案:
int Sum ( int List[], int N ){ int i,s=0;
for(i=0;iN;i++)s+=List[i];
return s;
}
4-40简单阶乘计算 (10 分)
答案:
int Factorial( const int N ){
int i, 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-43找两个数中最大者 (10 分) 答案:
int max( int a, int b ){ int ma x;
if(a = b)
max = a; else
max = b; return ma x;
}
4-44数字金字塔 (15 分) 答案:
void pyramid(i nt n){
int i, j, space;
for(i=1; i = n; i++){ space = n - i;
for(j=0; j space; j++) printf();
for(j=0; j i; j++)
prin tf(%-2d, i); prin tf(\n ”);
}
}
4-45判断奇偶性 (10 分)
答案:
int even( int n ){ if( n%2==0 ) return 1;
else
return 0;
}
4-46使用函数求奇数和 (15 分) 答案:
int even( int n ){
if( n%2==0 ) return 1;
else
return 0;
}
int OddSum( int List[], int N ){
int i;
int oddsum = 0;
for(i=0; iN; i++) if(eve n( List[i])==O) oddsum += List[i]; retur n oddsum;
}
4-47使用函数计算两点间的距离 (10 分) 答案:
double dist(double x1, double y1, double x2, double y2){ double d;
d = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2)); return d;
} 4-48使用函数求素数和 (20 分) 答案:
int prime( int p ){
int i,j,co unt =0;
for(j=2;jp;j++) if(p%j==O) coun t++;
if(cou nt==0p0p!=1)
return 1;
else
return 0;
}
int PrimeSum( int m, int n ){
int i,sum=O;
for(i=m;i=n ;i++)
if(prime(i)==1) sum=sum+i;
return sum;
}
4-20使用函数输出水仙花数 (20 分)
答案:
int n arcissistic(i nt nu mber){
int i, j, digit, power, powerSum, integer, count, flag; count = 0;
in teger = nu mber;
while (in teger 0){
in teger = in teger / 10;
coun t++;
}
powerSum = 0;
in teger = nu mber;
for (i = 0; i count; i++){
digit = in teger % 10;
in teger = in teger / 10;
power = 1;
for (j = 0; j coun t; j++)
power = power*digit;
powerSum = powerSum + power;
}
if (powerSum == nu mber)
flag = 1;
else
flag = 0;
retur n flag;
}
void Prin tN(i nt m, i nt n){
int i;
for (i = m +
原创力文档


文档评论(0)