实验目的:学会操作字符数组
实验内容:完成对字符数组的操作
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 学会操作字符数组
* 作 者: 刘 江波
* 完成日期: 2011 年 12 月 2 日
* 版本号: v12.02
* 对任务及求解方法的描述部分
* 输入描述:要处理的字符串在程序中通过赋初值完成
* 问题描述:求出字符数组中字符的个数及计算句子中各字符出现的频数
* 程序输出:字符数组中字符的个数和句子中各字符出现的频数
* 程序头部的注释结束
实验内容:完成对字符数组的操作
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作
* 完成日期:
* 版本号:
* 对任务及求解方法的描述部分
* 输入描述:要处理的字符串在程序中通过赋初值完成
* 问题描述:求出字符数组中字符的个数及计算句子中各字符出现的频数
* 程序输出:字符数组中字符的个数和句子中各字符出现的频数
* 程序头部的注释结束
#include<iostream>
using namespace std;
int length(char str[]);
int 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;
int i = 0;
while(true)
{
if(str[i] != '\0') //字符串最后默认字符为'\0'
count++;
else
break;
i++;
}
return count;
}
int output_frequency(char str[])
{
int i,sum,j;
for (i=0;i<length(str);i++)//把第一个字母与后边的比较
{
sum=0;
for (j=0;j<=length(str);j++)
{
if(str[i]==str[j])
{
if (j<i)//避免重复比较
break;
else
sum++;//计算相同字母的数量
}
}
if (sum != 0)
cout<<str[i]<<"-"<<sum<<'\t';
}
return 0;
}
运行结果