pengpengniuniu 发表于 2022-11-20 21:51:42

C语言求一个二维数组里面的各元素的个数

怎么样才能实现显示这个二维数组中大写字母,小写字母,空格,数字 和其它字符的个数呀,我的这个程序有什么问题呀。求大佬指导()

#include<stdio.h>
int main()
{
    char t;
    int i = 0, j = 0, y = 0, x = 0, num = 0;
    int capital = 0, lowercase = 0, space = 0, other = 0;
    for (i = 0; i < 3; ++i) {
      for (j = 0; j < 40; x++) {
            t = getchar();
            if (t == '\n') break;
      }
    }

    for (x = 0; x < 3; x++) {
      y = 0;
      while (t != '\n') {
            if (t >= 'A' && t <= 'Z') {
                capital++;y++;
            }
            else if (t >= 'a' && t <= 'z') {
                lowercase++; y++;
            }
            else if (t == ' ') {
                space++; y++;
            }
            else if (t >= '0' && t < '9') {
                num++; y++;
            }
            else {
                other++; y++;
            }
      }
    }
    printf("大写字母有%d个,小写字母有%d个,空格有%d个,数字有%d个,其他字符有%d个", capital,lowercase,space,num,other);
    return 0;
}

jackz007 发表于 2022-11-20 22:07:42

#include <stdio.h>

int main(void)
{
      char c , s                                                                                             ;
      int d , i , j , k , m , n                                                                                 ;
      for(i = 0 ; i < 3 ;) {
                for(j = 0 ; (c = getchar()) != '\n' ; j ++) s = c                                                ;
                if(j) {
                        s = '\0'                                                                                 ;
                        i ++                                                                                           ;
                }
      }
      for(i = 0 ; i < 5 ; i ++) d = 0                                                                           ;
      for(i = 0 ; i < 3 ; i ++) {
                for(j = 0 ; s ; j ++) {
                        if(s == ' ')                        d ++                                              ;
                        else if(s >= '0' && s <= '9') d ++                                              ;
                        else if(s >= 'A' && s <= 'Z') d ++                                              ;
                        else if(s >= 'a' && s <= 'z') d ++                                              ;
                        else                                    d ++                                              ;
                }
      }
      printf("大写字母有%d个,小写字母有%d个,空格有%d个,数字有%d个,其他字符有%d个", d , d , d , d , d) ;
}

pengpengniuniu 发表于 2022-11-20 23:25:30

jackz007 发表于 2022-11-20 22:07


可以问一下我这个程序有什么问题吗,主要不知道这样为什么实习不了这个功能()大佬救我

jackz007 发表于 2022-11-20 23:45:04

pengpengniuniu 发表于 2022-11-20 23:25
可以问一下我这个程序有什么问题吗,主要不知道这样为什么实习不了这个功能()大佬救我

    for (i = 0; i < 3; ++i) {
      for (j = 0; j < 40; x++) {   // x ++ 应该是 j ++

pengpengniuniu 发表于 2022-11-20 23:50:07

jackz007 发表于 2022-11-20 23:45


呜呜呜呜,好滴好滴,蟹蟹梨
页: [1]
查看完整版本: C语言求一个二维数组里面的各元素的个数