文章目录

  • 021 字符按ASCII码降序排列
  • 022 带头节点的链表结构求最高分
  • 023 判断字符串是否为回文
  • 024 将一个字符串转换为一个整数
  • 025 函数返回较长的字符串
  • 026 根据公式求值
  • 027 整数放在数组a中,返回数的个数
  • 028 找出一维整型数组元素中最大的值和它所在的下标
  • 029 字符串换字母
  • 030 求二维数组中最大元素

021 字符按ASCII码降序排列

【题目】请编写函数fun,对长度为7个字符的字符串,除首尾字符外,将其余5个字符按ASCII码降序排列。

【代码】

#include <stdio.h>void fun(char *s, int num) {char t;int i, j;for (i = 1; i < num - 2; i++) {for (j = i + 1; j < num - 1; j++) {if (s[i] - s[j] < '0') {t = s[i];s[i] = s[j];s[j] = t;}}}
} int main() {char s[7] = "HelloCC";fun(&s, 7);int i;for (i = 0; i < 7; i++) {printf("%c ", s[i]);}return 0;
}

022 带头节点的链表结构求最高分

【题目】N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。

【代码】

#include <stdio.h>
#include <stdlib.h>typedef struct student {struct student *next;double score;
} Student;double fun(Student *h) {double max;Student *q = h;max = h->score;do {if (q->score > max) {max = q->score;}q = q->next;} while (q);return max;
}Student *Create() {double score;scanf("%lf", &score);Student *student;if (score == -1) {return NULL;} else {student = (Student *)malloc(sizeof(Student));student->score = score;student->next = Create();}return student;
}int main() {Student *h;h = Create();double max = fun(&h);printf("%lf", max);return 0;
}

023 判断字符串是否为回文

【题目】请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都是一样的字符串。

【代码】

#include <stdio.h>int fun(char *str) {int i, n = 0, flag = 1;char *p = str;while (*p) {n++;p++;}for (i = 0; i < n / 2; i++) {if (str[i] != str[n - 1 - i]) {flag = 0;break;}}return flag;
}int main() {char str[100];gets(str);if (fun(&str) == 1) {printf("true"); } else {printf("false");}return 0;
}

024 将一个字符串转换为一个整数

【题目】请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

【代码】

#include <stdio.h>
#include <string.h>long fun(char *p) {long s = 0, t;int i = 0, j, n = strlen(p), k, s1;if (p[0] == '-') {i++;}for (j = i; j < n; j++) {t = p[j] - '0';for (k = j; k < n - 1; k++) {t *= 10;}s += t;}if (p[0] == '-') {return -s;}return s;
}int main() {char a[100];gets(a);printf("%ld", fun(&a));return 0;
}

025 函数返回较长的字符串

【题目】请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

【代码】

#include <stdio.h>char *fun(char *s, char *t) {char *p, *s1 = s, *t1 = t;int n = 0, m = 0;while (*s1) {n++;s1++;}while (*t1) {m++;t1++;}if (n >= m) {p = s;} else {p = t;}//puts(p);return p;
}int main() {char a[100];gets(a);char b[100];gets(b);char *c;   c = fun(a, b);puts(c);return 0;
}

026 根据公式求值

【题目】请编写一个函数fun,它的功能是:根据以下公式求X的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):

X/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)

程序运行后,如果输入精度0.0005,则程序输出为3.14…。

【代码】

#include <stdio.h>double fun(double eps) {double s = 1.0, n = 1.0, x = 0;while (fabs(s) >= eps) {x += s;s *= n / (2 * n + 1);n++;}x = x * 2;return x;
}int main() {printf("%lf", fun(0.0005));return 0;
}

027 整数放在数组a中,返回数的个数

【题目】请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

【代码】

#include <stdio.h>void fun(int m, int *a, int *n) {int i, j = 0;*n = 0;for (i = 1; i <= m; i++) {if (i % 7 == 0 || i % 11 == 0) {a[j] = i;j++;}}*n = j;
}int main() {int a[100];int m = 12;int n;fun(m, a, &n);printf("%d", n);return 0;
}

028 找出一维整型数组元素中最大的值和它所在的下标

【题目】请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

【代码】

#include <stdio.h>void fun(int a[], int n, int *max, int *index) {int i;*max = a[0];*index = 0;for (i = 0; i < n; i++) {if (a[i] > *max) {*max = a[i];*index = i;}}
}int main() {int a[] = {1,2,5,4};int max, index;fun(a, 4, &max, &index);printf("a[%d] = %d", index, max);return 0;
}

029 字符串换字母

【题目】请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

【代码】

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

030 求二维数组中最大元素

【题目】请编写一个函数fun,它的功能是:求出一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。

【代码】

#include <stdio.h>
#define M 2int fun(int a[][M]) {int i, j, max = a[0][0];for (i = 0; i < 2; i++) {for (j = 0; j < M; j++) {if (a[i][j] >max) {max = a[i][j];}}}return max;
}int main() {int a[2][M];int i, j;for (i = 0; i < 2; i++) {for (j = 0; j < M; j++) {scanf("%d", &a[i][j]);}}int max = fun(a);printf("%d", max);return 0;
}

南开100题C语言(021-030)相关推荐

  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. LFSR 和 m序列
  2. python 执行ping命令_Python黑科技:在家远程遥控公司电脑,python+微信一键连接!...
  3. AttributeError: module librosa has no attribute output No module named numba.decorators错误解决
  4. druid seata 配置_五分钟体验分布式事务框架Seata
  5. Android Support v4、v7、v13 介绍
  6. python 如果你的年龄大于18_python基础
  7. 【CyberSecurityLearning 78】DC系列之DC-9渗透测试
  8. 牛客 - Colorful Tree(dfs序+LCA)
  9. css flexbox模型_Flexbox教程:了解如何使用CSS Flexbox编写响应式导航栏
  10. java的jstl的标签库_java_jstl 标签库
  11. paip.;论全文检索实现方式lucene Sphinx solr以及比较
  12. 【Udacity项目】TMDb电影数据集探索分析
  13. 对讲机扫盲的基本常识
  14. ElasticSearch 7.15.2 使用java canal 接入实现灵活化增量数据准实时同步
  15. android手机怎么投屏到电视盒子,手机钉钉怎么投屏到电视上
  16. 小白带你学安卓——Intent
  17. LoRa节点如何以OTAA方式入网TTN服务器?
  18. Chrome插件:请开始你的表演,smartUp手势骚操作
  19. axios 之 post请求参数格式不正确得问题
  20. unicode汉字内码表(转)

热门文章

  1. Spring的事务传播机制(大白话)
  2. RANSAC算法理解
  3. QT之二维码生成以及识别
  4. ArcGIS软件的基本使用
  5. spark编程基础python版 pdf_《Spark编程基础(Scala版)》.PDF
  6. 在web项目中使用MarkDown组件
  7. 将网页转换成PDF文件的N种方式
  8. 医学图像分类_深度学习与医学图像分析
  9. Sentaurus Process Refinement Boxes
  10. MySQL生成随机姓名