PTA实验九函数进阶 编写函数求倒数编写对两个数排序的函数 求一批数平均值编写函数求一批数中的最大数最小数编写函数求字符串长度编写一批数排序的函数编写字符串复制函数编写字符串倒置函数

答案如下,解析可能考完试会写一下吧,我也不太确定,感觉事情有点多。

在这里插入图片描述

1.以下程序的功能是:首先在main函数中输入一个数,然后在被调函数rev中求出这个数的倒数,最后在主函数中输出结果。要求写出函数rev。

void rev(double *p)
{
double q;
q=1/(*p);
*p=q;
}

以下程序的功能是:首先在main函数中输入两个整数,然后在被调函数sort中将这两个整数按升序排序,最后在main函数中输出排序结果。要求写出函数sort。

void sort(int *p,int *q)
{
int t;
if(*p>*q)
{
t=*p;
*p=*q;
*q=t;
}
}

3.以下程序的功能是:首先在main函数中输入10个数,然后在被调函数ave中求出这10个数的平均值,最后在main函数中输出结果。要求写出函数ave。

double ave(double a[],int n)
{
int i;
double sum=0,ave;
for(i=0;i<10;i++)
sum+=a[i];
ave=sum/n;
return ave;
}

4.以下程序的功能是:首先在main函数中输入10个整数,然后在被调函数max_min中求出这批数中的最大数及最小数,最后在main函数中输出结果。要求写出函数max_min。

int max_min(int a[],int n,int *pmin)
{
int i,t,max;
for(i=0;i<n-1;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=n-1;i>=1;i--)
if(a[i]<a[i-1])
{
t=a[i];
a[i]=a[i-1];
a[i-1]=t;
}
*pmin=a[0];
max=a[n-1];
return max;
}

5.以下程序的功能是:首先在main函数中输入一个字符串,然后在被调函数slen中求出其长度,最后在main函数中输出结果。要求写出函数slen,限定不能调用库函数strlen。

int slen(char s[])
{
int i,count=0;
for(i=0;s[i]!='\0';i++)
count++;
return count;
}

6.以下程序的功能是:首先在main函数中输入10个整数,然后在被调函数sort中对这些整数按降序排序,最后在main函数中输出结果。要求写出函数sort。

void sort(int a[],int n)
{
int i,j,t;
for(i=n;i>=2;i--)
for(j=0;j<=i-2;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
return;
}

7.以下程序的功能是:首先在main函数中输入一个字符串(长度不超过254个字符),然后在被调函数scopy中将其复制到目标数组中,最后在main函数中输出结果。要求写出函数scopy,限定不能调用库函数strcpy。

void scopy(char t[],char s[])
{
int i;
char c;
for(i=0;s[i]!='\0';i++)
{
t[i]=s[i];
}
return;
}

8.以下程序的功能是:首先在main函数中输入一个字符串(长度不超过254个字符),然后在被调函数reverse中将其前后倒置,最后在main函数中输出结果。要求写出函数reverse。

void reverse(char a[])
{
int i,j,n;
char c;
n=strlen(a);
for(i=0,j=n-1;i<j;i++,j--)
{
c=a[i];
a[i]=a[j];
a[j]=c;
}
}
  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值