#include"stdio.h"
void main()
{
char s[] ="12134211";
int v[4]={0,0,0,0},k,i;
for( k=0;s[k];k++)
{
switch(s[k])
{
case '1' :i=0;
case '2' :i=1;
case '3' :i=2;
case '4' :i=3;
}
v[i]++;
}
for(k=0;k<4;k++)
printf("%d",v[k]);
}
------解决方案--------------------------------------------------------
这题目怎么分析结果
------解决方案--------------------------------------------------------
没有break???
------解决方案--------------------------------------------------------
统计字符串中各数字的个数,存储在v[4]数组中;
------解决方案--------------------------------------------------------
没有break程序根本就是错的。
switch(s[k])
{
case '1' :i=0;
case '2' :i=1;
case '3' :i=2;
case '4' :i=3;
}
v[i]++;
这个用一行就搞定了:
v[s[k]-'0']++;
------解决方案--------------------------------------------------------
笔试考题?
谁要是工作这么写,绝对被灭了!
不理解的话,自己调试下程序不就知道了?