C语言指针和字符串练习

阅读: 评论:0

C语言指针和字符串练习

C语言指针和字符串练习

Problem A:【函数的指针参数】数组排序

题目描述
使用自定义函数void sort(int *a, int n); 对数组a中的整数进行排序(升序)
函数的参数:a为数组(指针),n为数组中元素的个数。
裁判程序如下:

输入

一组整数(不超过10个),每个整数的绝对值不超过1000,读取到输入结束

输出

按升序输出,每行一个

样例输入

3 1 4 1 5 9

样例输出

1
1
3
4
5
9

答案

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

Problem B:【函数的指针参数】自定义字符串长度函数 my_strlen

题目描述
编写自定义函数int my_strlen(char* s); 检测字符串s的长度
特别提示:不允许使用“string.h”中的strlen函数。
裁判程序如下:

输入

一行字符串(长度不超过100)。

输出

字符串的长度。

样例输入

abc
how are you?

样例输出

3
12

答案

int my_strlen(char*s){int count = 0;while (*s != ''){count++;s++;}return count;
}

Problem C:【字符串函数】ispalindrome

题目描述
编写自定义函数int ispalindrome(char* s); 检测字符串s是否为回文(所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的)。
如果s为回文,函数返回值为1,否则返回值为0
输入abc,输出no
输入rotator,输出yes
裁判测试程序如下:

输入

一行字符串(长度不超过100)

输出

如果输入字符串为回文,则输出yes
否则输出no

样例输入

rotator

样例输出

yes

答案

int ispalindrome(char*s){int i,j;for(i=0,j=(int)strlen(s)-1;i<(int)strlen(s);i++,j--){if(*(s+i)!=*(s+j))return 0;}return 1;
}

Problem D:【函数的指针参数】编写函数,实现字符串的部分复制

题目描述
本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。
函数接口定义:
void strmcpy( char *t, int m, char *s );
函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。
裁判测试程序样例:

输入

输入m和字符串t,字符串长度不超过20个字符

输出

输出复制后的字符串

样例输入

7
happy new year

样例输出

new year

答案

void strmcpy( char *t, int m, char *s ){   int i,j;for(i=0,j=0;i<MAXN;

本文发布于:2024-02-01 12:12:13,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170676073336507.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字符串   指针   语言
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23