如题所述
include<stdio.h>
void main()
{
int data[2]={'1','2'};
int bata[2]={0};
char cata[]={"asd79sd98da123123"};
for(cata+0;*cata!='\0';cata++)
{
if(*cata=='1')bata[0]++;
if(*cata=='2')bata[1]++;
}
printf("字符1出现次数为%d,字符2出现次数为%d\n",bata[0],bata[1]);
}
这是指针写法
字符好像是单引号不是双引号
使用c写的
只用了1维数组(1维足够了)
void main()
{
int data[2]={'1','2'};
int bata[2]={0};
char cata[]={"asd79sd98da123123"};
for(cata+0;*cata!='\0';cata++)
{
if(*cata=='1')bata[0]++;
if(*cata=='2')bata[1]++;
}
printf("字符1出现次数为%d,字符2出现次数为%d\n",bata[0],bata[1]);
}
这是指针写法
字符好像是单引号不是双引号
使用c写的
只用了1维数组(1维足够了)
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-05-05
#include <iostream>
using namespace std;
void main()
{
int a[2][10]={{0,1,2,3,4,5,6,7,8,9},{0,0,0,0,0,0,0,0,0,0}};
char arr[100];
char *str=arr;
cin>>str;
while(*str!='\0')
{
switch(*str)
{
case '0': a[1][0]++;break;
case '1': a[1][1]++;break;
case '2': a[1][2]++;break;
case '3': a[1][3]++;break;
case '4': a[1][4]++;break;
case '5': a[1][5]++;break;
case '6': a[1][6]++;break;
case '7': a[1][7]++;break;
case '8': a[1][8]++;break;
case '9': a[1][9]++;break;
}
str++;
}
for(int i=0;i<2;++i)
{
for(int j=0;j<10;++j)
{
cout<<" "<<a[i][j];
}
cout<<endl;
}
}
程序输入:liangwenju1987
输出为:0 1 2 3 4 5 6 7 8 9
0 1 0 0 0 0 0 1 1 1
不知道是不是你要的结果。。。
using namespace std;
void main()
{
int a[2][10]={{0,1,2,3,4,5,6,7,8,9},{0,0,0,0,0,0,0,0,0,0}};
char arr[100];
char *str=arr;
cin>>str;
while(*str!='\0')
{
switch(*str)
{
case '0': a[1][0]++;break;
case '1': a[1][1]++;break;
case '2': a[1][2]++;break;
case '3': a[1][3]++;break;
case '4': a[1][4]++;break;
case '5': a[1][5]++;break;
case '6': a[1][6]++;break;
case '7': a[1][7]++;break;
case '8': a[1][8]++;break;
case '9': a[1][9]++;break;
}
str++;
}
for(int i=0;i<2;++i)
{
for(int j=0;j<10;++j)
{
cout<<" "<<a[i][j];
}
cout<<endl;
}
}
程序输入:liangwenju1987
输出为:0 1 2 3 4 5 6 7 8 9
0 1 0 0 0 0 0 1 1 1
不知道是不是你要的结果。。。