初学C++的小菜鸟,(统计字符串中各个数字出现的个数)感觉没问题啊,为什么统计输出是全零???

m0_45673538 2019-10-31 11:45:29
#include<iostream> using namespace std; int main() { int i,j; int n=0; int m[10]={0}; char s[50]; cin>>s; for(i=0;i<50;i++) if(s[i]>='0'&&s[i]<='9') { n++; j=s[i]; m[j]=m[j]+1; } cout<<"Number's amount is:"<<n<<endl; cout<<"'0...9'amount is:"; for(i=0;i<10;i++) cout<<m[i]<<" "; return 0; }
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
打断点有时觉得麻烦,那就把写好才打印屏幕随意复制到任何想要查看的地方,觉得还是比较方便.
datoulaile123 2019-11-01
  • 打赏
  • 举报
回复
自己打好断点一步步调试看数据的变化,然后看看是哪步代码没有按照自己设定的走再进行修改,直接拿别人给你写好的代码永远不会进步,光标定位的那行按F9可打断点和取消断点
  • 打赏
  • 举报
回复
laoxu9824 2019-10-31
  • 打赏
  • 举报
回复
laoxu9824 2019-10-31
  • 打赏
  • 举报
回复
#include "stdafx.h"; #include <iostream>; using namespace std; int count_str() { int i, j; int n = 0; int m[10] = { 0 }; char s[50]; cin >> s; cout << "input: " << s << "\n"; for (i = 0; i<strlen(s); i++) if (s[i] >= '0'&&s[i] <= '9') { n++; j = s[i] - '0'; m[j] = m[j] + 1; } else { cout << "Invalid char at pos: " << i << ", with value, " << s[i] << "\n"; }; cout << "Number's amount is:" << n << endl; cout << "'0...9'amount is:"; for (i = 0; i<10; i++) cout << m[i] << " "; return 0; }
  • 打赏
  • 举报
回复

	int i=0, j=0;
	int n = 0;
	int m[10] = { 0 };
	char s[50];
	cin >> s; 
	for (i = 0; i<50; i++)
		if (s[i] >= '0'&&s[i] <= '9')
		{
			n++; cout << (j=s[i])<<"\t"<<(s[i]-'0')<<endl;
			j = (s[i]-'0');
			m[j] = m[j] + 1;
		}
	cout << "Number's amount is:" << n << endl;
	cout << "'0...9'amount is:";
	for (i = 0; i<10; i++)
		cout << m[i] << " ";
  • 打赏
  • 举报
回复
j = (s[i]-'0');

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧