PTA基础编程题目集
正向指数增长
这个作者很懒,什么都没留下…
展开
-
今天开始刷题
https://pintia.cn/problem-sets/14/problems/733经典水题提交:void PrintN ( int N ){ for(int i=1;i<=N;i++) printf("%d\n",i); }失误:误把N在编程时写成n.以上原创 2018-03-25 17:29:11 · 340 阅读 · 0 评论 -
6-9 统计个位数字(15 分) 本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。
int Count_Digit ( const int N, const int D ){ if(N==D) { return 1; }//考虑N=D=0的情况,但是当N、D同为个位数是返回值仍然是1,所以直接用判断条件N=D int count=0; int n; if(N>=0) n=N; else n=-N; while(n>0){ if(n%10==...原创 2018-03-25 20:03:04 · 11975 阅读 · 2 评论 -
6-8 简单阶乘计算(10 分) 本题要求实现一个计算非负整数阶乘的简单函数。
int Factorial( const int N );其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。int Factorial( const int N ){ int fa=0; if(N>=0) { fa=1; if(N==0||N==1) return fa; else { int n=N; wh...原创 2018-03-25 19:48:09 · 38266 阅读 · 0 评论 -
6-7 统计某类完全平方数(20 分) 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
int IsTheNumber ( const int N ){ int r=sqrt(N); int n=N; int a[10]={}; if(r*r==N){ int d; while(n){ d=n%10; a[d]++; if(a[d]==2){ return 1; break; } n/=10...原创 2018-03-25 19:24:39 · 6674 阅读 · 0 评论 -
6-6 求单链表结点的阶乘和(15 分) 本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。
int FactorialSum( List L ){ int max=0,sum=0; List p,head; head=L; p=head; while(p!=NULL) { if(max<p->Data) max=p->Data; p=p->Next; } int fa[max+1]; fa[1]=1; for(int i=1;...原创 2018-03-25 18:49:25 · 1956 阅读 · 0 评论 -
6-5 求自定类型元素的最大值(10 分) 本题要求实现一个函数,求N个集合元素S[]中的最大值,其中集合元素的类型为自定义的ElementType。
ElementType Max( ElementType S[], int N ){ ElementType max=S[0]; for(int i=0;i<N;i++) if (max<S[i]) max=S[i]; return max;}同上,水题一道,注意输入的大小写就好。...原创 2018-03-25 17:54:06 · 5634 阅读 · 2 评论 -
6-4 求自定类型元素的平均(10 分) 本题要求实现一个函数,求N个集合元素S[]的平均值,其中集合元素的类型为自定义的ElementType。
ElementType Average( ElementType S[], int N ){ ElementType ave,sum=0.0; for(int i=0;i<N;i++) sum+=S[i]; ave=sum/N; return ave;}把返回值自定义了一种类型比较有趣,但是其实就是float类型。...原创 2018-03-25 17:49:14 · 6021 阅读 · 0 评论 -
6-2 多项式求值(15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i ) 在x点的值。
题目链接:https://pintia.cn/problem-sets/14/problems/734提交:double f( int n, double a[], double x ){ double fx=a[0];double x2=1; for(int i=1;i<=n;i++){ x2*=x; fx+=a[i]*x2; } return fx;}失误:1.提交时...原创 2018-03-25 17:34:20 · 9909 阅读 · 0 评论 -
6-3 简单求和(10 分) 本题要求实现一个函数,求给定的N个整数的和。
int Sum ( int List[], int N ){ int sum=0; for(int i=0;i<N;i++) { sum+=List[i]; } return sum;}list的L大写还有N,就酱。原创 2018-03-25 17:41:53 · 25147 阅读 · 3 评论 -
01-复杂度1 最大子列和问题(20 分)
给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列...原创 2018-04-17 23:37:49 · 383 阅读 · 0 评论