| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 446 人关注过本帖
标题:第四个问题,一维数组和字符串!
只看楼主 加入收藏
半片叶zick
Rank: 2
等 级:论坛游民
帖 子:53
专家分:44
注 册:2010-11-30
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
第四个问题,一维数组和字符串!
#include<stdio.h>
#include<math.h>
main()
{
    char a[254],b[50],c[50],d[50],e[50];
    int n,i,j,k,m,p;
    int x,y,z,q;
    j=0;k=0;m=0;p=0;
    printf("输入以及字符串:\n");
    scanf("%s",&a);
    n=strlen(a);
    for(i=0;i<n;i++)
    {
        if(a[i]>'0'&&a[i]<'9') {b[j]=a[i];j++;}
        else if(a[i]>'a'&&a[i]<'z') {c[k]=a[i];k++;}
        else if(a[i]>'A'&&a[i]<'Z') {d[m]=a[i];m++;}
        else {e[p]=a[i];p++;}
    }
    printf("数字个数=%d 小写字母个数=%d 大写字母个数%d 其他字符个数=%d\n",j,k,m,p);
    printf("字符串中的数字分别是:\n");
    for(x=0;x<j;x++) printf("%s",b[x]);printf("\n");
    printf("字符串中的小写字母分别是:\n");
    for(y=0;y<k;y++) printf("%s",c[y]);printf("\n");
    printf("字符串中的大写字母分别是:\n");
    for(z=0;z<m;z++) printf("%s",d[z]);printf("\n");
    printf("字符串中的其他字符分别是:\n");
    for(q=0;q<p;q++) printf("%s",e[q]);printf("\n");

}
题目:键盘输入字符串,要求输出数字、小写字母、大写字母和其他字符的个数。(现在我想分别输出数字、小写字母、大写字母和其他字符
,用for输出数组的形式将其输出)
问题:问什么我得不出结果,提示是:应用程序错误。我找不出错误!
谁能帮我下,解决分别输出数字、小写字母、大写字母和其他字符的问题?(看上面我写的程序,可能变量有些多,初学C,无办法,大家谅解,将就看下,给我个答案,先谢谢了)
搜索更多相关主题的帖子: 字符 
2010-12-06 23:27
flyingcat
Rank: 4
来 自:HDU
等 级:业余侠客
威 望:2
帖 子:55
专家分:230
注 册:2010-7-18
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<math.h>
main()
{
    char a[254],b[50],c[50],d[50],e[50];
    int n,i,j,k,m,p;
    int x,y,z,q;
    j=0;k=0;m=0;p=0;
    printf("输入以及字符串:\n");
    scanf("%s",&a);
    n=strlen(a);
    for(i=0;i<n;i++)
    {
        if(a[i]>'0'&&a[i]<'9') {b[j]=a[i];j++;}
        else if(a[i]>'a'&&a[i]<'z') {c[k]=a[i];k++;}
        else if(a[i]>'A'&&a[i]<'Z') {d[m]=a[i];m++;}
        else {e[p]=a[i];p++;}
    }
    printf("数字个数=%d 小写字母个数=%d 大写字母个数%d 其他字符个数=%d\n",j,k,m,p);
    printf("字符串中的数字分别是:\n");
    for(x=0;x<j;x++) printf("%s",b[x]);printf("\n");     //在这里,你的b[x]定义是b[50],你这里按循环输出的应该是单个字符,而不是字符串
                                                           //for(x=0;x<j;x++) printf("%c",b[x]);printf("\n"); %s改成%c即可
    printf("字符串中的小写字母分别是:\n");
    for(y=0;y<k;y++) printf("%s",c[y]);printf("\n");
    printf("字符串中的大写字母分别是:\n");
    for(z=0;z<m;z++) printf("%s",d[z]);printf("\n");
    printf("字符串中的其他字符分别是:\n");
    for(q=0;q<p;q++) printf("%s",e[q]);printf("\n");
}
2010-12-06 23:37
半片叶zick
Rank: 2
等 级:论坛游民
帖 子:53
专家分:44
注 册:2010-11-30
收藏
得分:0 
回复 2楼 flyingcat
谢谢了,很满意。我的宗旨是:速度提问!速度结贴!速度提升!
2010-12-06 23:45
flyingcat
Rank: 4
来 自:HDU
等 级:业余侠客
威 望:2
帖 子:55
专家分:230
注 册:2010-7-18
收藏
得分:0 
以下是引用半片叶zick在2010-12-6 23:45:08的发言:

谢谢了,很满意。我的宗旨是:速度提问!速度结贴!速度提升!


2010-12-06 23:56
快速回复:第四个问题,一维数组和字符串!
数据加载中...
 
   



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

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