概述
------- 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 的次数为:%dn",a[t],count[t]);
}//输出
return 0;
}
最后
以上就是奋斗犀牛为你收集整理的黑马程序员-C语言的SWITCH 和case问题的全部内容,希望文章能够帮你解决黑马程序员-C语言的SWITCH 和case问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复