| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:帮帮忙吧!不知道从哪改起的程序,对指针无能无力了
只看楼主 加入收藏
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
结帖率:50%
收藏
 问题点数:0 回复次数:1 
帮帮忙吧!不知道从哪改起的程序,对指针无能无力了

统计一个字符串中各个字母出现的个数
#include "stdio.h"
#define n 500


void test8(char *p1,int *p2)
{
    int k=0;
    while(*(p1+k)!='\0'&&*(p1+k)>='a'&&*(p1+k)<='z')
    {*(p2+*(p1+k))+=1;
    k++;}
   
}

void main()
{
    char str[n],*p1=str;
    int pp[128]={0},*p2=pp;char ch;
    printf("please input letters:\n");
    gets(str);
    test8(p1,p2);
    p2=pp;
    for(ch='a';ch<='z';ch++) {printf("%c:%3d\n",ch,*p2);p2++;}
               
   
}

感觉的确是有很多错,不知道怎么改
搜索更多相关主题的帖子: 统计 include 字符串 
2012-05-28 21:05
the_27th
Rank: 2
等 级:论坛游民
帖 子:29
专家分:29
注 册:2012-7-10
收藏
得分:0 
void test8(char *p1,int *p2)
{
    int k=0,count=0;
    char ch;
    ch=getch();
    for(;*(p1+k)!='\0';k++)//p1串中的元素不为"\0",那么继续循环;如果这样的话(*(p1+k)!='\0'&&*(p1+k)>='a'&&*(p1+k)<='z'),那么一旦字符串中出现了非小写字母元素,则会跳出循环。
    {
           if(&&*(p1+k)>='a'&&*(p1+k)<='z')  
                  *p2=*p1;                       //先将字符串中的小写字母存到p2中;如果还要考虑大写字母,在自己改吧
    }
    for(int i;*(p1+k)!='\0';k++)
    {
             if(*(p1+k)==ch)
             count++;    //统计字符串中某个字母的个数;
    }
    printf("字符串中有%d个%c字母\n",count,ch);
    for(int i;*(p1+k)!='\0';k++)
    {
          if(ch<'a'&&ch>'z')
          printf("请重新输入\n");
          break;   //退出循环

     }        
}

如果要分别统计每个字母的个数,建议你使用switch函数吧
2012-07-12 00:57
快速回复:帮帮忙吧!不知道从哪改起的程序,对指针无能无力了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022602 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved