【C/PTA】函数专项练习(三) |
您所在的位置:网站首页 › pta题目以及答案函数 › 【C/PTA】函数专项练习(三) |
本文结合PTA专项练习带领读者掌握函数,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 目录 6-1 使用函数输出指定范围内的完数6-2 递归实现指数函数6-3 十进制转换二进制6-4 空心的数字金字塔 6-1 使用函数输出指定范围内的完数本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0 int sum=0; for(int i=1;i int flag=1; //遍历每一个数 for(int i=m;i flag=0; //先打印一 printf("%d = 1",i); for(int j=2;j double x; int n; scanf("%lf %d", &x, &n); printf("%.0f\n", calc_pow(x, n)); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: 2 3 输出样例: 8 double calc_pow( double x, int n ) { if(n==1) return x; else return x*calc_pow(x,n-1); } 6-3 十进制转换二进制分数 10 作者 C课程组 单位 浙江大学 本题要求实现一个函数,将非负整数n转换为二进制后输出。 函数接口定义: void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include void dectobin( int n ); int main() { int n; scanf("%d", &n); dectobin(n); return 0; } /* 你的代码将被嵌在这里 */输入样例: 10 输出样例: 1010 void dectobin( int n ) { int a; if(n==0)printf("0"); else if(n==1)printf("1"); else { dectobin(n/2); a=n%2; printf("%d",a); } } 6-4 空心的数字金字塔本题要求实现一个函数,输出n行空心的数字金字塔。 函数接口定义: void hollowPyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行空心的数字金字塔,请注意,最后一行的第一个数字前没有空格。 裁判测试程序样例: #include void hollowPyramid ( int n ); int main() { int n; scanf("%d", &n); hollowPyramid ( n ); return 0; } /* 你的代码将被嵌在这里 */输入样例: 5 输出样例: 1 2 2 3 3 4 4 555555555 void hollowPyramid ( int n ) {//对前n-1行处理 for(int i=1;i printf(" "); } printf("%d",i); //i为1不输出空格、i为2输出1个空格 //i为3输出3个空格、i为4输出5个空格 //所以是1为第二项,2为d的等差数列 //故输出2*i-4+1个空格 if(i>=2) { for(int k=2*i-4+1;k>=1;k--) printf(" "); } if(i-1!=0) printf("%d",i); printf("\n"); } //对最后一行处理 for(int i=1;i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |