输入一行字符串,统计并输出每个数字字符的出现次数,用C++编的,帮我看看哪里错了,为什么没结果?
#include<iostream>#include<cstring>usingnamespacestd;intmain(){intcount=0;chars[100];...
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int count=0;
char s[100];
cout<<"请输入一行字符串:"<<endl;
cin>>s;
int n=strlen(s);
for(int i=0;i<=9;i++)
{ for(int k=0;k<n;k++)
{if(s[k]==i) count++;}
if(count!=0)
cout<<i<<":"<<count<<endl;
}
return 0;
} 展开
#include<cstring>
using namespace std;
int main()
{
int count=0;
char s[100];
cout<<"请输入一行字符串:"<<endl;
cin>>s;
int n=strlen(s);
for(int i=0;i<=9;i++)
{ for(int k=0;k<n;k++)
{if(s[k]==i) count++;}
if(count!=0)
cout<<i<<":"<<count<<endl;
}
return 0;
} 展开
展开全部
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int count=0;
char s[100];
cout<<"请输入一行字符串:"<<endl;
cin>>s;
int n=strlen(s);
for(int i=0;i<=9;i++)
{ count=0; //初始化
for(int k=0;k<n;k++)
{if(s[k]-'0'==i) count++;} //s[k]-'0'
if(count!=0)
cout<<i<<":"<<count<<endl;
}
return 0;
}
#include<cstring>
using namespace std;
int main()
{
int count=0;
char s[100];
cout<<"请输入一行字符串:"<<endl;
cin>>s;
int n=strlen(s);
for(int i=0;i<=9;i++)
{ count=0; //初始化
for(int k=0;k<n;k++)
{if(s[k]-'0'==i) count++;} //s[k]-'0'
if(count!=0)
cout<<i<<":"<<count<<endl;
}
return 0;
}
追问
多谢多谢啦,但有个地方不懂,那个数组里的数和数字比较的时候为什么不能直接用是s[k]==i,而要改成s[k]-'0'==i。
追答
s[k] 是字符 '0' 的ASCII值为 48
那要是 {if(s[k]==i+48) count++;} 也可以了
展开全部
改如下,自己看!
void main(void){
int count=0;
char s[100];
cout << "请输入一行字符串:" << endl;
cin >> s;
int n=strlen(s);
for(int i=0;i<=9;i++){
count=0; //加这一句
for(int k=0;k<n;k++){
if(s[k]==i+'0') count++;//这里有改动
}
if(count!=0)
cout << i << ":" << count << endl;
}
}
void main(void){
int count=0;
char s[100];
cout << "请输入一行字符串:" << endl;
cin >> s;
int n=strlen(s);
for(int i=0;i<=9;i++){
count=0; //加这一句
for(int k=0;k<n;k++){
if(s[k]==i+'0') count++;//这里有改动
}
if(count!=0)
cout << i << ":" << count << endl;
}
}
追问
谢谢.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询