超星高级语言程序设计实验作业

实验05 指针及其在程序设计中的应用

注:以下内容仅供交流,代码都是本人自己写的,还请同学们先自己编写再进行交流。

1.字符串长度

题目描述:编写程序实现:使用自编函数int strlen(char *str),求字符串str长度;并在主程序中调用。
输入:从键盘随机输入长度不超过256的字符串,字符串内可能包含若干空白字符。
输出:字符串的长度。
样例1:
输入:123 456
输出:8
样例2:
输入:A
输出:1

#include<stdio.h>
int strlen(char* ch) {int sum,i;for (i = 0; ch[i] != '\0'; i++);sum = i;return sum;
}
int main() {char a[256];int sum;gets_s(a);sum = strlen(a);printf("%d", sum);return 0;
}

很简单的求字符长度,判断结尾的\0就可以了

2.分类统计字符

题目描述:
编写程序实现:使用自编函数void count(char * str, int * upper, int *lower, int *space, int num, intother)统计给定字符串str中的大写字母、小写字母、空格、数组、其他字符的数目,并以指针参数传回主程序中的调用点,并输出。
输入:从键盘随机输入一个长度不超过256的字符串,字符串内可能包含若干空白字符。
输出:大写字母字符个数、小写字母字符个数、空格字符个数、数字字符个数和其他字符个数,数字间以一个西文空格间隔,最后一个数后无字符。
样例:
输入:
123  abc   ABC
输出:
3 3 5 3 0

#include<stdio.h>
//以下是判断行字符串长度的函数,也可以直接调用string.h中的strlen函数
int strlen(char* ch) {int sum, i;for (i = 0; ch[i] != '\0'; i++);sum = i;return sum;}
//以下是计数函数,通过指针将计数传递给main函数中的参数,从而返回多个值
void count(char* str, int* upper, int* lower, int* space, int* num, int* other) {int in; in = strlen(str);//记录该行有多少个字符int i;for ( i = 0; i < in; i++){if (str[i] >= 'A' && str[i] <= 'Z') *upper=*upper+1;if (str[i] >= 'a' && str[i] <= 'z') *lower=*lower+1;if (str[i] == ' ')*space=*space+1;if (str[i] >= '0' && str[i] <= '9')*num=*num+1;}*other = in - *upper - *lower - *space - *num;//计算其他字符
}
int main() {char str[256];gets_s(str);int upper=0, lower=0, space=0, num=0, other=0;count(str, &upper, &lower, &space, &num, &other);printf("%d %d %d %d %d", upper, lower, space, num, other);
}

3.排序二维数组

题目描述:编写程序对输入的二维整型矩阵进行递增排序。
输入:第一行输入两个正整数n和m (n, m<=50)分别对应矩阵的行数和列数。随后n行,每行输入m个整数,每个整数间以空格间隔。
输出:排序后的矩阵:共n行,每行m个整数,之间以一个西文空格间隔,每行最后一个数字后除必要的回车换行符无其它字符。
样例:
输入:
2 3
9 6 5
1 2 3
输出:
1 2 3
5 6 9
这道题可以有两种解法

方法一:
只定义一个一维数组

#include<stdio.h>
//以下是输入函数
void input(int a[], int n, int m) {int i;for (i = 0; i < n*m; i++) {scanf_s("%d", &a[i]);}}
//以下排序函数,我用了冒泡法排序
void putline(int a[],int n,int m) {int i, r, flag = 1;while (flag){flag = 0;for ( i = 0; i < n*m-1; i++){if (a[i]>a[i+1]){r = a[i]; a[i] = a[i + 1]; a[i + 1] = r;flag = 1;}}}
}
//以下是输出函数,控制输出结果使之成矩阵
void output(int a[],int n,int m) {int i, j;for ( i = 0; i < n; i++){for ( j = 0; j < m; j++){printf("%d", a[i * m + j]);if (j != m - 1)printf(" ");}if(i!=n-1)printf("\n");}
}
//主函数
int main() {int m, n,a[2500];scanf_s("%d%d", &n, &m);input(a, n, m);putline(a, n, m);output(a, n, m);return 0;
}

相信大家对一维数组和冒泡排序的使用已经很熟练了,就不多做介绍了

超星高级语言程序设计实验作业 实验05 指针及其在程序设计中的应用相关推荐

  1. 超星高级语言程序设计实验作业 (实验04 数组及其在程序设计中的应用)(二)

    超星高级语言程序设计实验作业 实验04 数组及其在程序设计中的应用(二) 注:以下内容仅供交流,代码都是本人自己写的,还请同学们先自己编写再进行交流. 7.检验矩阵重复元素 题目描述:编写程序判断任意 ...

  2. 北京电大c语言实验作业二,大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc...

    大学大一c语言程序设计实验室上机题全部代码答案(实验报告).doc C语言实验报告实验1-1:helloworld程序:源代码:#includemain(){printf("hellowor ...

  3. 兰州大学C语言程序设计课程作业,【兰州大学|兰州大学C语言程序设计课程作业( 五 )】语言程序设计|课程|作业-傻大方...

    『易坊知识库摘要_兰州大学|兰州大学C语言程序设计课程作业( 五 )』34.用户未作答标准答案exp04. 以下叙述中正确的是 在程序的一行上可以出现多个有效的预处理命令行使用带参的宏时,参数的类型应 ...

  4. 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验05 指针及其在程序设计中的应用(2021级)

    目录 1.字符串长度 2. 合法标识符 3.分类统计字符 4. 字符串部分删除 5. 排序二维数组 1.字符串长度 题目编号:Exp05-Basic01,GJBook3-07-06 题目名称:字符串长 ...

  5. 吉林大学 超星慕课 高级语言程序设计 实验05 指针及其在程序设计中的应用(2022级)

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. 1.题目名称:字符串长度 题目描述:编写程序实现:使用自编函数int strlen(char *str),求字符串str长度: ...

  6. 吉林大学超星慕课平台——高级语言程序设计 实验05 指针及其在程序设计中的应用(2022级)

    一. 程序题(共5题,100分) 1. (程序题) 题目编号:Exp05-Basic01,GJBook3-07-06 题目名称:字符串长度 题目描述:编写程序实现:使用自编函数int strlen(c ...

  7. 实验05 指针及其在程序设计中的应用(2021级)

    1. (排序二维数组) 题目编号:Exp05-Basic03,GJBook3例-07-01 题目名称:排序二维数组 题目描述:编写程序对输入的二维整型矩阵进行递增排序. 输入:第一行输入两个正整数n和 ...

  8. python代写学生作业_CS1026A留学生作业代做、代写Python实验作业、代做Python程序设计作业、代写Computer Organization作业...

    CS1026A留学生作业代做.代写Python实验作业.代做Python程序设计作业.代写Computer Organization作业 日期:2019-05-31 11:23 University ...

  9. 物联网控制原理与技术--基于Matlab/PID控制仿真的应用(超详细/设计/实验/作业/练习)

    目录 课程名:物联网控制原理与技术 内容/作用:设计/实验/作业/练习 学习:PID控制仿真 一.前言 二.环境与设备 三.原理 四.内容 五.结果与分析 课程名:物联网控制原理与技术 内容/作用:设 ...

最新文章

  1. CentOS7最小化安装配置IP
  2. 红帽虚拟化RHEV-PXE批量安装RHEV-H
  3. java调用支付接口实例_Java 调用支付宝接口
  4. WTL 学习博文地址
  5. 「技术人生」第3篇:解决问题的规律总结
  6. linux纯内核直接用吗,Linux:为啥内核有的变量没有初始化就敢直接使用?
  7. linux文件赋予755权限,Linux文件和目录的777、755、644权限解释
  8. 白皮书丨关于工业互联网,你想知道的都在这儿
  9. python词云分析难吗_Python 词云分析周杰伦《晴天》
  10. SQL Sever — 表的操作
  11. 2019运输科技领域最新SCI期刊影响因子正式发布,附三年IF变化趋势!
  12. MFC使用自带的MSXML6.dll解析xml(开发环境vc2010)
  13. 华为云ECS服务器上安装docker
  14. arm9芯片包括哪些?arm9如何应用?
  15. java+poodle漏洞修复_SSL POODLE漏洞修复
  16. 手机端微信发朋友圈功能测试点总结
  17. 设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树中有m(m0)个叶子结点,那么该二叉树上的结点总数为( )。
  18. 计算机蓝屏幕亮度,电脑屏幕亮度怎么调,电脑屏幕亮度调节方法
  19. 医学影像学考试 计算机,规培影像学的考试.ppt
  20. 一个客户端多服务器系统,一个客户端多服务器系统吗

热门文章

  1. Java学习_Day016
  2. WIFI接入之Authentication和Association流程梳理
  3. 哪家企业邮箱好?免费企业邮箱来一个?邮件服务器谁家好用?
  4. gorm.open mysql_golang gorm 操作mysql
  5. LaTeX快速入门-蔡炎龙
  6. JAVA-把我的第一次给了蔡徐坤
  7. ios备忘录下载安卓版_PanDownload 安卓手机版,解决百度网盘下载速度慢
  8. UG10.0汽车冲压连续模具设计视频教程 AutoForm分析
  9. Python Django POST Forbidden (403) - CSRF cooki...
  10. Jetson nano : 配置虚拟环境virtualenv。