中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
一个简单C练习题,郁闷了很久
作者:未知 时间:2005-07-27 23:31 出处:CSDN 责编:chinaitpower
              摘要:一个简单C练习题,郁闷了很久

题目如下:
输入十个字符串,长度在20--50之间。检查每个字串,若遇到字母A,就在其后插入一个空格,最后打印全部处理后的字串,并统计26个安母各出现多少次。

以下是我编写的代码,编译通过,但是得不出正确结果。谁给点建议

#include <stdio.h>

typedef char* string;
void Arrange(string *str,string *arr)
{
    int i,j;
    int pos;

    for(i=0;i<10;i++)
    {
        j=0;pos=0;
        while(str[i][j])
        {
            if(str[i][j]=='A')
                arr[i][pos++]=' ';
            arr[i][pos++]=str[i][j];
            j++;
        }
    }
}

void count(string *str,int *cnt)
{
    char ch;
    int i,j;
    int dif;

    for(i=0;i<10;i++)
    {
        j=0;
        while(str[i][j])
        {
            dif=-1;
            if((str[i][j]<='Z'&&str[i][j]>='A'))
            {
                dif=str[i][j]-'A';
            }
            else
                if((str[i][j]>='a'&&str[i][j]<='z'))
            {
                dif=str[i][j]-'a';
            }
            if(dif!=-1)
                cnt[dif]++;
            j++;
        }
    }
}

void print(string *arr)
{
    int i;

    for(i=0;i<10;i++)
    {
        printf("%s\n",arr[i]);
    }
}


void main()
{
    string str[10];
    int cnt[26];
    char arrange[10][80];
    int i;
    char ch;
   
    for(i=0;i<26;i++)
    {
        cnt[i]=0;
    }

    for(i=0;i<2;i++)
    {
        scanf("%s",str[i]);
    }
    Arrange(str,arrange);
    count(str,cnt);
    print(arrange);
    printf("\n");
    ch='A';
    for(i=0;i<10;i++)
    {
        printf("%s\n",str[i]);
    }
    for(i=0;i<26;i++)
    {
        printf("%c ",ch++);
    }
    printf("\n");
    for(i=0;i<26;i++)
    {
        printf("%d ",cnt[i]);
    }
    getch();

}


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有