第15周报告2 操作字符

本文详细介绍了如何在C++中操作字符数组,并实现字符计数和频率统计的功能。通过实例展示了字符数组的基本应用,包括字符串长度计算和字符出现次数的统计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

第15周报告2
实验目的:学会操作字符数组
实验内容:完成对字符数组的操作

/*
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:操作字符
* 作 者: 姜雅明
* 完成日期: 2011 年 12 月 03 日
* 版本号: 1.2

* 对任务及求解方法的描述部分
* 输入描述:要处理的字符串在程序中通过赋初值完成
* 问题描述:求出字符数组中字符的个数及计算句子中各字符出现的频数
* 程序输出:字符数组中字符的个数和句子中各字符出现的频数
*/

#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 count = 0, i = 0;
	
	while(str[i] != '\0')
	{
		i++;
		
		count++;
	} 
	return count;
}

void output_frequency(char str[])
{
	int i = 0, j = 0, count, lengh;
	
	lengh = length(str);
	
	for(i = 0; i < lengh; i++)
	{ 
		count = 0;
		
		for(int j = 0; j < lengh; j++) //进入循环后开始计数
		{ 
			if(str[j] == str[i]) 
			{
				if(i > j) //避免重复计数
					break;
				else
					count++;
			} 
		}
		if(count != 0)
		{
			cout << str[i] << "-" << count << ";"; 
			
		}
	}
	return;
}




运行结果:





经验积累:
1. 逐步求解

上机感言:
刚开始一点思路也没有,在计数时完全没有办法。后来想到循环,逐个向前找,排除。但是后来发现套用的

循环太多了···还有就是最初的大循环,i的值始终保持在1···只好改换思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值