PTA 基础编程题目集 函数题 4-1~4-13

938人阅读 评论(0) 收藏 举报

4-1//水题无难点

void PrintN(int N)

{

int i; for(i=1;i<=N;i++)

printf("%d\n",i);

}

4-2//水题无难点

double f( int n, double a[], double x )

{

double sum=0,ans=1;

for(int i=0;i<=n;i++)

{

sum+=a[i]*ans;

ans*=x;

}

return sum;

}

4-3//水题无难点

int Sum ( int List[], int N )

{

int sum=0;

for(int i=0;i<N;i++)

sum+=List[i];

return sum;

}

4-4//水题,精度记得乘一个1.0

ElementType Average( ElementType S[], int N )

{

float ans=0;

for(int i=0;i<N;i++)

ans+=S[i];

ans=ans/(N*1.0);

return ans;

}

4-5//水题,初始定义第一个为最大

ElementType Max( ElementType S[], int N )

{ float max=S[0];

for(int i=1;i<N;i++)

if(max<S[i])max=S[i];

return max;

}

4-6//水题,可以打表或者直接计算

int FactorialSum( List L )

{

int num[13]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600};

int sum=0;

List p=L;

while(p)

{

sum+=num[p->Data];

p=p->Next;

}

return sum;

}

4-7//水题,先判断是否是平方数,再判断有无相同的数

int IsTheNumber ( const int N )

{

int t=sqrt(N);

if(t*t!=N)return 0;

int num[10];

for(int i=0;i<10;i++)num[i]=0;

int x=N,p=0;

while(x)

{

num[x%10]++;

if(num[x%10]==2)return 1;

x=x/10;

}

return 0;

}

4-8//同4-6

int Factorial( const int N ){

int num[13]={1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600};

if(N>=0)return num[N];

return 0;

}

4-9//水题记得判断0,0这个点

int Count_Digit ( const int N, const int D )

{

int ans=0,x=N;

if(x<0)x=-N;

while(x)

{

if(x%10==D)ans++;

x=x/10;

}

if(N==0&&D==0)return 1;

return ans;

}

4-10//大数乘法模仿大数加法

#include <string.h>

void Print_Factorial ( const int N )

{

if(N<0)printf("Invalid input\n");

else if(N>=0&&N<=12)

{

int ans=1;

for(int i=1;i<=N;i++)

ans=ans*i;

printf("%d\n",ans);

}

else

{

char a[3001]="0080207226";

for(int i=14;i<=N;i++)

{

int ans=0,l=strlen(a);

for(int j=0;j<l;j++)

{

int temp=ans;

ans=((a[j]-'0')*i+ans)/10;

a[j]=((a[j]-'0')*i+temp)%10+'0';

}

while(ans)

{

a[strlen(a)]=ans%10+'0';

ans=ans/10;

}

}

for(int i=strlen(a)-1;i>=0;i--)

printf("%c",a[i]);

printf("\n");

}

}

4-11//归并排序,返回A[N/2]

void mer(float A[],float R[],int low,int mid,int hight)

{

int i=low,j=mid+1,k=low;

while(i<=mid&&j<=hight)

{

if(A[i]<=A[j])R[k++]=A[i++];

else R[k++]=A[j++];

}

while(i<=mid)R[k++]=A[i++];

while(j<=hight)R[k++]=A[j++];

for(i=low;i<=hight;i++)

A[i]=R[i];

}

void sort(float A[],float R[],int low,int hight)

{

if(low<hight)

{

int mid=(low+hight)/2;

sort(A,R,low,mid);

sort(A,R,mid+1,hight);

mer(A,R,low,mid,hight);

}

}

ElementType Median(ElementType A[], int N )

{

float R[MAXN];

sort(A,R,0,N-1);

return A[N/2];

}

4-12//水题,判断奇偶,位运算

int even( int n )

{

return !(n&1);

}

4-13//标准二分查找,水题

int binSearch(SeqList T, KeyType k)

{

int i=0,j=k;

while(i<=j)

{

int mid=(i+j)/2;

if(T.data[mid].key==k)return mid;

else if(T.data[mid].key>k)j=mid-1;

else i=mid+1;

}

return 0;

}

查看评论

软件开发,人的管理——书评《最后期限》

软件开发,人的管理——书评《最后期限》Windy.J    记得有一段时间,我迷上了UFO,神秘文明,四维空间等等,走在路上,周围一个人也没有的时候,经常会担心:我会不会一不小心走进四维空间,然后发生...
  • gigix
  • gigix
  • 2003-03-07 15:40:00
  • 1891

PTA 基础编程题目集 -函数12题

 4-1 简单输出整数   (10分) void PrintN(int N) { int i,sum=0; for(i=1; i
  • acmmiao
  • acmmiao
  • 2016-05-08 21:46:06
  • 3488

PTA基础编程题目集 5-17 爬动的蠕虫

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井...
  • qq846294282
  • qq846294282
  • 2016-09-23 23:14:29
  • 907

【java】pta18周练习题

判断题1、java语言中不用区分字母的大写小写。 F2、如果线程死亡,它便不能运行。 T3、静态变量是被同一个类的所有实例所共享的。 T4、在Java中,高优先级的可运行线程会抢占低优先级线程。...
  • chandelierr
  • chandelierr
  • 2016-12-26 17:02:50
  • 1160

【练习】PTA基础编程题目集

6-1 简单输出整数(10 分) 本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。 函数接口定义: void PrintN ( int N ); 其中N是用...
  • sunny_wing
  • sunny_wing
  • 2017-09-08 20:40:23
  • 942

浙大PTA 4-3

int Length( List L ){ int len=0; while(L!=NULL){ len++; L=L->Next; } return len; }
  • qq_32146369
  • qq_32146369
  • 2016-10-07 00:18:47
  • 326

pta基础编程题目集 编程题

题目链接5-7 12-24小时制#include int main(int argc, const char * argv[]) { int hour,minute; scanf("%...
  • bobo1356
  • bobo1356
  • 2017-03-29 18:33:47
  • 4436

PTA数据结构与算法题目集(中文) 函数题 (1)

PTA数据结构与算法题目集(中文) 函数题4-1~4-5
  • Phenixfate
  • Phenixfate
  • 2015-11-27 14:22:59
  • 3915

PTA数据结构与算法题目集(中文) 函数题(2)

4-6 带头结点的链式表操作集 4-7 在一个数组中实现两个堆栈 4-8 求二叉树高度 ......
  • Phenixfate
  • Phenixfate
  • 2015-09-07 13:00:32
  • 2411

【Pta测试6.1】:基础编程题目集

6-1 简单输出整数(10 分) 本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。 函数接口定义: void PrintN ( int N ); 其中N是用户传...
  • Bonstoppo
  • Bonstoppo
  • 2017-11-21 20:05:19
  • 369
    个人资料
    持之以恒
    等级:
    访问量: 9853
    积分: 892
    排名: 5万+
    文章存档
    最新评论