fury可 发表于 2018-10-15 15:56:29

忘掉字符怎么用了 大佬简单说一下

#include<stdio.h>

int main()
{
        int i, j, o = 0, p = 0;
        char a, num, n, m;
        printf("input 20 charaters\n");
        for (i = 0; i < 20; i++)
        {
                scanf_s("%c", &a);
        }
        for (j = 0; j < 20; j++)
        {
                if ('0' < a < '9')
                {
                        num = a;
                }
                else if ('a' < a < 'z' || 'A' < a < 'Z')
                {
                        m = a;
                        o++;
                }
                else
                {
                        n = a;
                        p++;
                }

        }
        printf("the numbers is ");
        for (i = 0; i < 20; i++)
        {
                printf("%c", num);
        }
        printf("\n");
        printf("the char is ");
        for (i = 0; i < 20; i++)
        {
                printf("%c", m);
        }
        printf("\n");
        printf("the others is");
                for (i = 0; i < 20; i++)
                {
                        printf("%c", n);
                }
        printf("\n");
        system("pause");
        return 0;
}
这个程序是想统计输入的字符但我得不到想要的结果字符的学习内容忘掉了

ba21 发表于 2018-10-15 16:03:01

统计每个出现多少次
还是
统计总共?

还有更好的办法,就是根据字符的ASCII码值用数组来存储个个字符出现的次数,代码如下。参考
#include <stdio.h>

#define ASC_NUM 256

int main(void)
{
        int cChar = {0}; // 用来存放各个各字符出现的次数
        char str[] = "1118pc.com"; // 待统计的字符串
        int i;

        // 统计
        for(i=0; str!='\0'; i++)
        {
                cChar[(unsigned short int)str]++;
        }

        // 输出
        for(i=0; i<ASC_NUM; i++)
        {
                if(cChar != 0)
                {
                        printf("%c 出现的 %d 次\n", i, cChar);
                }
        }

        return 0;
}

fury可 发表于 2018-10-15 16:12:33

ba21 发表于 2018-10-15 16:03
统计每个出现多少次
还是
统计总共?


感谢 我试一下

ba21 发表于 2018-10-15 17:46:45

fury可 发表于 2018-10-15 16:12
感谢 我试一下

可以请结贴

fury可 发表于 2018-10-15 21:50:32

ba21 发表于 2018-10-15 17:46
可以请结贴

#include <stdio.h>

#include<string.h>

#define N 100

main()

{

        char all, cha;
        int i;
        printf("输入一个字符:");
        gets(all);
        for (i = 0; all; i++)
        {
                if (all > 'a'&&all<'z' || all>'A'&&all < 'Z')

                        cha = all;
        }
        for (i = 0; cha; i++)
        {
                printf("%c", cha);
        }
        system("pause");
}
这里我的cha 怎么总是赋了一些奇怪的值我想赋all

fury可 发表于 2018-10-15 21:51:36

fury可 发表于 2018-10-15 21:50
#include

#include


额排版把 排不见了

fury可 发表于 2018-10-15 21:52:17

【I】排版拍不见了

claws0n 发表于 2018-10-26 09:44:46

fury可 发表于 2018-10-15 21:52
【I】排版拍不见了

发代码用图贴旁边的 <>
页: [1]
查看完整版本: 忘掉字符怎么用了 大佬简单说一下