文章目录

  • 031 查找字符并删除
  • 032 查找字符并删除
  • 033 将字符串中的前导 * 号全部删除
  • 035 把分数最高的学生数据放在h所指的数组中
  • 035 删除字符串中的所有空格
  • 036 将字符串中的前导 * 号全部移到字符串的尾部。
  • 037 求出该学生的平均分放在记录的ave成员中
  • 038 求出ss所指字符串中指定字符的个数,并返回此值。
  • 039 移动一维数组中的内容
  • 040 移动字符串中内容

031 查找字符并删除

【题目】请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。

【代码】

#include <stdio.h>
#include <string.h> void fun(char *s, char t[]) {int i, j = 0, n = strlen(s);for (i = 0; i < n; i++) {if (i % 2 == 0 && s[i] % 2 == 0) {t[j++] = s[i];}}t[j] = '\0';
}
//测试
int main() {char s[100];char t[100];gets(s);fun(s, t);puts(t);return 0;
}

032 查找字符并删除

【题目】请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。

【代码】

#include <stdio.h>
#include <string.h> void fun(char *s, char t[]) {int i, j = 0, n = strlen(s);for (i = 0; i < n; i++) {if (i % 2 != 0 && s[i] % 2 != 0) {t[j++] = s[i];}}t[j] = '\0';
} int main() {char s[100];char t[100];gets(s);fun(s, t);puts(t);return 0;
}

033 将字符串中的前导 * 号全部删除

【题目】假定输入的字符串中只包含字母和 * 号。请编写函数 fun(),它的功能是:将字符串中的前导 * 号全部删除,中间和后面的 * 号不删除。

【代码】

#include <stdio.h>
#include <string.h> void fun(char *a) {char *p=a;while (*p== '*') {p++;}strcpy (a,p);
} int main() {char a[100];gets(a);fun(a);puts(a);return 0;
}

035 把分数最高的学生数据放在h所指的数组中

【题目】学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

【代码】

#include <stdio.h>
#include <stdlib.h>
#define N 3typedef struct student {int id;double score;
} Student;int fun(Student s[], Student t[] ) {double max;int i, j = 0;max = s[0].score;for (i = 1; i < N; i++) {if (s[i].score > max) {max = s[i].score;}}for (i = 0; i < N; i++) {if (s[i].score == max) {t[j].score = s[i].score;t[j].id = s[i].id;j++;}}return j;
}int main() {Student s[N];double score;int id;int i;for (i = 0; i < N; i++) { scanf("%d %lf", &id, &score);s[i].score = score;s[i].id = id;}Student t[100];printf("%d", fun(s, t));return 0;
}

035 删除字符串中的所有空格

【题目】请编写一个函数,用来删除字符串中的所有空格。

【代码】

#include <stdio.h>void fun(char *str) {int i = 0;char *p = str;while (*p) {if (*p != ' ') {str[i++] = *p;}p++;}str[i] = '\0';
}int main() {char a[100];gets(a);fun(a);puts(a);return 0;
}

036 将字符串中的前导 * 号全部移到字符串的尾部。

【题目】假定输入的字符串中只包含字母和 * 号。请编写函数fun,它的功能是:将字符串中的前导 * 号全部移到字符串的尾部。

【代码】

有点重了,就不写了…

037 求出该学生的平均分放在记录的ave成员中

【题目】某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。

【代码】

思路看 35 题

038 求出ss所指字符串中指定字符的个数,并返回此值。

【题目】请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

【代码】

#include <stdio.h>int fun(char *a, char c) {int n = 0;while (*a) {if (*a == c) {n++;}a++;}return n;
}int main() {char a[100];gets(a);int num = fun(a, 'c');printf("%d", num);return 0;
}

039 移动一维数组中的内容

【题目】请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p(p小于等于n-1)的数组元素平移到数组的最后。

【代码】

和 40 题差不多

040 移动字符串中内容

【题目】请编写函数fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

【代码】

#include <stdio.h>
#include <string.h>
#define N 100void fun(char *w, int m) {char b[N];int n = strlen(w);int i, j = 0;for (i = 0; i < m; i++) {b[j] = w[i];j++;}for (i = 0; i < n - m; i++) {w[i] = w[i + m];}for (j = 0; j < m; j++) {w[i++] = b[j];}w[i] = '\0';
}int main() {char a[N];gets(a);fun(a, 3);puts(a);return 0;
}

及时获取更多资源请关注微信公众号:

南开100题C语言(031-040)相关推荐

  1. 全国计算机等级考试汇编,2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试题汇编)...

    <2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试题汇编)>由会员分享,可在线阅读,更多相关<2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试 ...

  2. C语言必考100题,C语言必考100题.doc

    C语言必考100题 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果. 输入两个整形数并打印,如果用户不慎输入了非法 ...

  3. c语言程序填空100题,C语言基础练习100题.PDF

    C语言基础练习100题.PDF C 语言基础练习 100 题 1. 输入-处理-输出 01. 从键盘上输入两个整数,求出它们的和. 02. 已知三角形的底和高,求出三角形的面积. 03. 从键盘上输入 ...

  4. 南开100题计算机三级网络技术,计算机三级网络技术上机南开100题T46-50 -.pdf

    T46-50 1题目: 题目46:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一 函数jsVal(),其功能是: 依次从数组a中取出 ...

  5. c语言编程经典实例利润,C语言经典编程实例100题解答

    C语言经典编程实例100题 答案+答案 C语言经典编程实例100题C语言程序实例100个(一) [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序 ...

  6. c语言 swap交换函数_C语言经典100题(14)

    1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(13)中第三部分编程题的答案: #includeint main(){ int i,x,y,z; for(i=100;i<1000; ...

  7. c语言三个数从小到大排序/输出_C语言经典100题(6)

    1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(5)中第三部分编程题的答案: #include int main(){ int x,y,z,t; printf("\n请输入三个 ...

  8. 完数c++语言程序_C语言经典100题(19)

    1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(18)中第三部分编程题的答案: #includeint main(){ int s=0,a,n,t; printf("请输入 a ...

  9. arrays中copyof复制两个数组_C语言100题集合026-使用指针交换两个数组中的最大值

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  10. c++ 经典代码_C语言经典100题(31)

    1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(30)中第三部分编程题的答案: #include int main( ){ long ge,shi,qian,wan,x; printf( ...

最新文章

  1. delphi dbgrideh 遍历每一个单元格_用Python解数独[1]:求每个单元格的行值域
  2. 【.net部署】Server Error in ‘/‘ Application.错误解决方案
  3. DOS网络命令 之 ping
  4. 像素纵横比基础知识(正方形像素,非正方形像素)
  5. 1万块钱如何理财可以获得最高收益?
  6. object转字符串
  7. dw怎么打开html模板,Dreamweaver中如何使用模板
  8. 饥荒联机版服务器显示错误,小白求问 搭服务器出现这种情况是怎么回事
  9. Oracle(三):视图、序列、同义词、索引
  10. 微波网络插入反射系数与输入反射系数
  11. 线性同余法求伪随机数序列
  12. js—封装原生AJAX
  13. MCSAMCP认证证书
  14. OkHttp3 源码解读
  15. 服务端(Win server2012)+IIS管理器配置PHP服务器并部署网站讲解
  16. 相对湿度与绝对湿度转换表包含负温度
  17. Git Git用户ssh公钥管理
  18. RocketMQ延迟消息的代码实战及原理分析
  19. 100道经典Hadoop常见面试/笔试题及答案解析
  20. c oracle udt,Oracle OCI操作UDT相关学习

热门文章

  1. c语言所有逻辑符号大全,C语言中的逻辑取反是“~”符号吗逻辑或是“|”符号吗?...
  2. 人工智能中文视频教程
  3. 代码审查工具 FindBugs
  4. 批量 材质 调整_3dmax怎么批量修改材质
  5. Oracle VM VirtualBox虚拟机安装Windows XP系统,在xp中多核cpu不识别问题
  6. 2016PHP开发者大会
  7. LaTeX编写IEEE会议论文字体报错、且参考文献中会议/期刊的名字没有斜体的问题解决
  8. 做短视频自媒体,新手一个月6000多,全靠这些工具,抓紧收藏
  9. 虚拟机体验NAS私人云(第四篇):虚拟机安装群晖DSM7.01系统(附赠新版DS918+和DS3615xs启动映像)
  10. IDEA 使用mybatis插件Free Mybatis plugin