标题:定义数组时必须初始化吗
取消只看楼主
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
结帖率:100%
已结贴  问题点数:20 回复次数:1 
定义数组时必须初始化吗
输入一行字符,分别统计出其中英文字母、空格、 数字和其它字符的个数            都是错的,求解正确的
#include <stdio.h>
int main(){
    int i,j;
    char a[];
    int num=0,num1=0,num2=0,num3=0;
    scanf("%d",&i);
    printf("输入一行字符:\n");
    for(j=0;j<i;j++){
    scanf("%c",&a[j]);
    //for(j=0;j<i;j++){
        if((a[j]>='a'&&a[j]<='z')||(a[j]>='A'&&a[j]<='Z'))
            num++;
        else if(a[j]==' ')
            num1++;
        else if(a[j]>=0&&a[j]<=9)
            num2++;
        else
            num3++;
    }
    printf("英文字母%d个,空格%d个,数字%d个,其他字符%d个\n",num,num1,num2,num3);
return 0;}
搜索更多相关主题的帖子: 英文字母 include 统计 
2016-07-24 13:12
小马不过河
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2016-7-24
得分:0 
回复 楼主 小马不过河
假设数组是10
#include <stdio.h>
int main(){
    int j;
    char a[10];
    int num=0,num1=0,num2=0,num3=0;
    //scanf("%d",&i);
    printf("输入一行字符:\n");
    for(j=0;j<10;j++)
    scanf("%c",&a[j]);
    for(j=0;j<10;j++){
        if((a[j]>='a'&&a[j]<='z')||(a[j]>='A'&&a[j]<='Z'))
            num++;
        else if(a[j]==' ')
            num1++;
        else if(a[j]>=0&&a[j]<=9)
            num2++;
        else
            num3++;
    }
        printf("英文字母%d个,空格%d个,数字%d个,其他字符%d个\n",num,num1,num2,num3);
return 0;


}输出结果是错的
2016-07-24 14:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-467188-1-1.html




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

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