第15周报告2之操作字符数组
来源:互联网 发布:我的世界手机版天堂js 编辑:程序博客网 时间:2024/06/18 07:58
第15周报告2
实验目的:学会操作字符数组
实验内容:完成对字符数组的操作
/* 程序头部注释开始* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称:函数的递归 * 作 者: 2011级 114-3 张宗佳 * 完成日期:2011年12月4日* 版 本 号: vc.1 * 对任务及求解方法的描述部分* 输入描述:要处理的字符串在程序中通过赋初值完成* 问题描述:求出字符数组中字符的个数及计算句子中各字符出现的频数* 程序输出:字符数组中字符的个数和句子中各字符出现的频数*/#include<iostream>using namespace std;//函数声明int length(char str[]);void output_frequency(char str[]);int main(void) //不要对main函数有任何改动{char str[] = "he threw three free throws"; cout << "要处理的字符串为:" << str << endl; cout << "字符串长度为:" << length(str) << endl; cout << "字符串中各字符出现的频数为:"; output_frequency(str); cout << endl;return 0;}int length(char str[]){int i = 1;do{i++;}while(str[i] != '\0');return i;}void output_frequency(char str[]){int i = 0, f, n, j;char c;//l = length(str);//for(i = 0; i <= length(str); i++)while(i < length(str)){while(i >= 1){do //这里的do while循环是判断再此字母出现之前有没有重复的,如果重复便不再统计{j = (i - 1);while(j >= 0){if(str[j] != str[i]){j--;}else{i++;break;}}}while(j > 0);if(j < 0) break;}c = str[i];n = 0; for (f = i;f < length(str); f++) //这里的循环用来判断此字母出现的次数{if (c == str[f]) {n = n + 1;}}cout << c << "-" << n << " ";i++;}return ;}
经验积累:
1.本程序中运用了字符串数组,调用了两个函数,字符串数组要定义为char
2.计算字符串数组的长度,只要让str[j]不等于'\0',再定义一个累加变量就可以了
3.第二个计算频数的函数要注意避免重复计算,要判断此字母是否是第一次出现,利用循环判断,再设一个变量,判断前i-1个数内是否有相等的,如果没有,说明是第一次出现,可以计算
上机感言:
这个任务有难度啊..主要是第二个函数的定义,需要好多循环,容易搞晕,在不断调试之后,终于发现了错误,其实主要就是各个循环的嵌套,把这一点弄明白了,就好多了...终于舒了口气..
- 第15周报告2之操作字符数组
- 第15周报告2: 操作字符数组
- 第15周报告2--学会操作字符数组
- 第15周报告2: 学会操作字符数组
- 第15周报告2 操作字符
- 第15周报告2--学会操作字符数组(改进版)
- C++ 第十五周报告2--《字符数组的操作》
- 第18周报告2之二维数组
- 第15周报告3之ASCII文件的操作
- 第15周报告2
- 第15周报告2
- 第15周报告2
- 第15周报告2
- 第18周报告2:二维数组
- 第18周报告2 二维数组
- 第18周报告2:二维数组
- 第18周报告2:二维数组
- 第18周报告2:二维数组
- android高通刷机方法Windows环境
- 堆和栈的区别
- OGNL —— 数据运转的催化剂 (及在Struts2中使用OGNL)
- Java命名规范
- 测试环境MangoDB安装笔记
- 第15周报告2之操作字符数组
- Ubuntu下安装Android Eclipse开发环境
- 如何安装Ruby(Windows)
- 运行WRF模型的real,需要哪些字段,如何测试获取必要字段?
- The New C++ -- 基本数据类型和字面值常量 (8. 字符串字面值常量)
- Android GridView 异步加载图片
- 转载只为记录经典之<Telnet、SSH(SSH1和SSH2)之间的区别 >
- VM8下ubuntu10.04下修改mac地址和配置静态ip
- 创建用户组,然后创建30个用户个用户目录,并赋予相应权限