指针函数
小猪261
在线大学生,发布在校的一些习题比赛的试题分享和分析。
展开
-
PTA 6-7(附加) 二分查找
本题要求实现一个函数,该函数采用二分查找法从一个已经升序排序的数组中,查找某个数k。如果找到k, 输出k所在的数组下标(0~n-1)及比较次数。若k不存在,输出-1和比较次数。函数接口定义:int Search(int *p, int n, int k,int *Count);void Sort(int *,int n);其中 p为数组首地址,n为数组长度,k为待查找的数, *Count为比较次数。函数返回值:如果k在数组中返回其下标值,没找到返回-1。裁判测试程序样例:#i原创 2022-01-09 13:14:18 · 3552 阅读 · 0 评论 -
PTA 6-5 判断回文字符串
本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXN 20typedef enu原创 2022-01-09 13:13:30 · 601 阅读 · 0 评论 -
PTA 6-4 移动字母
本题要求编写函数,将输入字符串的前3个字符移到最后。函数接口定义:void Shift( char s[] );其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数Shift须将按照要求变换后的字符串仍然存在s[]里。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10void Shift( char s[] );void GetString( char s[原创 2022-01-09 13:12:43 · 525 阅读 · 0 评论 -
PTA 6-3 求一组数中的平均值及最大值
本题要求实现一个函数,求一组数的平均值、最大值。函数接口定义:float Fun( int *p, int n,int *max);其中 p、n、max 都是用户传入的参数。函数求数组中n个元素的平均值、最大值。最大值通过max带回,函数返回平均值 。裁判测试程序样例:#include <stdio.h>#define N 5float Fun( int *p, int n,int *max);int main(){ int a[10],i,max原创 2022-01-09 13:11:55 · 2605 阅读 · 3 评论 -
PTA 6-2 给数组排序,使数组从小到大排列
应用选择排序,使数组中的元素从小到大排列。函数接口定义:void sort(int *p, int n);在这里解释接口参数。例如:其中p和n都是用户传入的参数。n是数组长度;p指向数组元素首地址。裁判测试程序样例:#include<stdio.h>void sort(int *p, int n);int main(){ int a[5]; int *p = a; for (int i = 0; i < 5; i++)...原创 2022-01-09 13:11:21 · 2819 阅读 · 1 评论 -
PTA 6-1 指针——数据交换
定义函数交换两个外部变量的值函数接口定义:void fun(int *a,int *b);a,b接收两个变量的地址,函数完成变量值的互换。裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <stdio.h>void fun(int *a,int *b);int main(){int a,b; scanf("%d,%d",&a,&b); fun(&a,&b); printf("%d,原创 2022-01-09 13:10:32 · 2094 阅读 · 0 评论 -
PTA 6-5 使用函数实现字符串部分复制
本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。函数接口定义:void strmcpy( char *t, int m, char *s );函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。裁判测试程序样例:#include <stdio.h>#define MAXN 20void strmcpy( char *t, int m, c原创 2022-01-09 13:09:51 · 920 阅读 · 0 评论 -
PTA 6-4 查找星期
本题要求实现函数,可以根据下表查找到星期,返回对应的序号。序号 星期 0 Sunday 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 函数接口定义:int getindex( char *s );函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。裁判测试程序样例:#include &原创 2022-01-09 13:08:37 · 630 阅读 · 0 评论 -
PTA 6-3 拆分实数的整数与小数部分
本题要求实现一个拆分实数的整数与小数部分的简单函数。函数接口定义:void splitfloat( float x, int *intpart, float *fracpart );其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。裁判测试程序样例:#include <stdio.h>void splitfloat( float x, int *intpart, float *fracp原创 2022-01-09 13:07:55 · 291 阅读 · 0 评论 -
PTA 6-2 在数组中查找指定元素
本题要求实现一个在数组中查找指定元素的简单函数。函数接口定义:int search( int list[], int n, int x );其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。裁判测试程序样例:#include <stdio.h>#define MAXN 10int search( int list[], int n, int x原创 2022-01-09 13:06:51 · 350 阅读 · 0 评论 -
PTA 6-1 使用函数找出数组中的最大值
本题要求实现一个找出整型数组中最大值的函数。函数接口定义:int FindArrayMax( int a[], int n );其中a是用户传入的数组,n是数组a中元素的个数。函数返回数组a中的最大值。裁判测试程序样例:#include <stdio.h>#define MAXN 10int FindArrayMax( int a[], int n );int main(){ int i, n; int a[MAXN]; scanf(原创 2022-01-07 12:46:43 · 5183 阅读 · 0 评论