南开100题C语言(031-040)
文章目录
- 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)相关推荐
- 全国计算机等级考试汇编,2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试题汇编)...
<2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试题汇编)>由会员分享,可在线阅读,更多相关<2011年3月汇编全国计算机等级考试(南开100题三级网络技术上机试 ...
- C语言必考100题,C语言必考100题.doc
C语言必考100题 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果. 输入两个整形数并打印,如果用户不慎输入了非法 ...
- c语言程序填空100题,C语言基础练习100题.PDF
C语言基础练习100题.PDF C 语言基础练习 100 题 1. 输入-处理-输出 01. 从键盘上输入两个整数,求出它们的和. 02. 已知三角形的底和高,求出三角形的面积. 03. 从键盘上输入 ...
- 南开100题计算机三级网络技术,计算机三级网络技术上机南开100题T46-50 -.pdf
T46-50 1题目: 题目46:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一 函数jsVal(),其功能是: 依次从数组a中取出 ...
- c语言编程经典实例利润,C语言经典编程实例100题解答
C语言经典编程实例100题 答案+答案 C语言经典编程实例100题C语言程序实例100个(一) [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序 ...
- c语言 swap交换函数_C语言经典100题(14)
1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(13)中第三部分编程题的答案: #includeint main(){ int i,x,y,z; for(i=100;i<1000; ...
- c语言三个数从小到大排序/输出_C语言经典100题(6)
1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(5)中第三部分编程题的答案: #include int main(){ int x,y,z,t; printf("\n请输入三个 ...
- 完数c++语言程序_C语言经典100题(19)
1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(18)中第三部分编程题的答案: #includeint main(){ int s=0,a,n,t; printf("请输入 a ...
- arrays中copyof复制两个数组_C语言100题集合026-使用指针交换两个数组中的最大值
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
- c++ 经典代码_C语言经典100题(31)
1 上期答案揭晓 首先给大家看看上一篇文章C语言经典100题(30)中第三部分编程题的答案: #include int main( ){ long ge,shi,qian,wan,x; printf( ...
最新文章
- delphi dbgrideh 遍历每一个单元格_用Python解数独[1]:求每个单元格的行值域
- 【.net部署】Server Error in ‘/‘ Application.错误解决方案
- DOS网络命令 之 ping
- 像素纵横比基础知识(正方形像素,非正方形像素)
- 1万块钱如何理财可以获得最高收益?
- object转字符串
- dw怎么打开html模板,Dreamweaver中如何使用模板
- 饥荒联机版服务器显示错误,小白求问 搭服务器出现这种情况是怎么回事
- Oracle(三):视图、序列、同义词、索引
- 微波网络插入反射系数与输入反射系数
- 线性同余法求伪随机数序列
- js—封装原生AJAX
- MCSAMCP认证证书
- OkHttp3 源码解读
- 服务端(Win server2012)+IIS管理器配置PHP服务器并部署网站讲解
- 相对湿度与绝对湿度转换表包含负温度
- Git Git用户ssh公钥管理
- RocketMQ延迟消息的代码实战及原理分析
- 100道经典Hadoop常见面试/笔试题及答案解析
- c oracle udt,Oracle OCI操作UDT相关学习
热门文章
- c语言所有逻辑符号大全,C语言中的逻辑取反是“~”符号吗逻辑或是“|”符号吗?...
- 人工智能中文视频教程
- 代码审查工具 FindBugs
- 批量 材质 调整_3dmax怎么批量修改材质
- Oracle VM VirtualBox虚拟机安装Windows XP系统,在xp中多核cpu不识别问题
- 2016PHP开发者大会
- LaTeX编写IEEE会议论文字体报错、且参考文献中会议/期刊的名字没有斜体的问题解决
- 做短视频自媒体,新手一个月6000多,全靠这些工具,抓紧收藏
- 虚拟机体验NAS私人云(第四篇):虚拟机安装群晖DSM7.01系统(附赠新版DS918+和DS3615xs启动映像)
- IDEA 使用mybatis插件Free Mybatis plugin