现在的位置: 首页 > 综合 > 正文

黑马程序员-C语言的SWITCH 和case问题

2018年05月10日 ⁄ 综合 ⁄ 共 1142字 ⁄ 字号 评论关闭

------- IOS培训IOS培训、期待与您交流! ----------

</pre><pre name="code" class="cpp">#include<stdio.h>
#include<string.h>
int main()
{
    char a[100];
    printf("请输入一串字符:");
    scanf("%s",a);
    printf("%s",a);
    int l=strlen(a);
    int j,k,n,m;
    for (int i; i<l; i++)
    {    printf("%d",j);
        switch (a[i]) {
            case 'a':
                j++;
               
                break;
            case 'b':
                k++;
                break;
            case 'c':
                m++;
                break;
            case 'd':
                n++;
                break;
                
        }
    }
    
    printf("输入的字符串里含有的a的个数%d, b的个数:%d,c的个数:%d,d的个数:%d",j,k,m,n );
}


在做基础测试题,犯了一个低级错误,就是case 的内容不能使变量,要是常量,而且在排序的过程中也没有把ABCD字符跟着个数改变到时输出的字母和个数不一致,后来把程序改成以下所示,成功实现功能le ~

而且这个开始i,j,k,l,m 变量没有赋初值,导致个数出现一串数字,后来赋值为0之后成功实现~

#include <stdio.h>
#include<string.h>
int main()
{
    char ch[100];
    int i,n,j=0,k=0,l=0,m=0;
    printf("请输入字符串:\n");
    gets(ch);
    n=strlen(ch);
    for(i=0;i<n;i++)
    {
        switch (ch[i]) {
            case 65:
                j++;
                break;
            case 66:
                k++;
                break;
            case 67:
                l++;
                break;
            case 68:
                m++;
                break;
        }
        
    }//计算A,B,C,D的个数
    
    int temp,z,q;
    char tempp=' ';
    int count[4]={j,k,l,m};
    char a[4]={'A','B','C','D'};
    for (z=3; z>=0; z--) {
        for(q=0;q<=z;q++)
        {
            if(count[q+1]<count[q])
            {
                temp=count[q];
                count[q]=count[q+1];
                count[q+1]=temp;
                
                tempp=a[q];
                a[q]=a[q+1];
                a[q+1]=tempp;
            }
        }
    }//排序
    
    for (int t=3; t>=0; t--) {
        printf("出现 %c 的次数为:%d\n",a[t],count[t]);
    }//输出
    
    return 0;
    
}

----------------------
IOS开发
IOS、期待与您交流! ----------------------详细请查看:www.itheima.com

抱歉!评论已关闭.