您的位置:首页 > 编程语言 > C语言/C++

C++ 第十五周报告2--《字符数组的操作》

2011-12-20 22:14 211 查看
实验目的:学会操作字符数组

实验内容:完成对字符数组的操作

* 程序头部注释开始

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称: 学会操作字符数组

* 作 者: 刘江波

* 完成日期: 2011 年 12 月 2 日

* 版本号: v12.02

* 对任务及求解方法的描述部分

* 输入描述:要处理的字符串在程序中通过赋初值完成

* 问题描述:求出字符数组中字符的个数及计算句子中各字符出现的频数

* 程序输出:字符数组中字符的个数和句子中各字符出现的频数

* 程序头部的注释结束

#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;
}


运行结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: