C++统计数字个数并求和

 

void 统计数字个数并求和()
{//缘由https://ask.csdn.net/questions/912419
	int i = 0, j = 0, n = 0, m[10] = { 0 };
	char s[100];
	string shuchu = "", hecheng = "";
	cin >> n;
	while (n--)
	{
		cin >> s;
		while (s[i] != '\0')
		if (s[i] >= '0'&& s[i] <= '9')
		{
			j += (s[i] - '0');
			m[(s[i++] - '0')]++;
		}
		i = 10;
		while (i--) if (m[i])hecheng = to_string(i) + ":" + to_string(m[i]) + "\n" + hecheng, m[i] = 0;
		shuchu += hecheng + to_string(j) + "\n";
		j = i = 0; hecheng = "";
	}
	cout << shuchu << endl;
}
void 统计字符串中的数字个数()
{//缘由https://ask.csdn.net/questions/919786
	int n = 0,i = 0,j=0;
	char x[100];
	cin>>n;
	while (n--)
	{
		cin >> x;
		j = i = 0;
		while (x[j] != '\0')if ('0' <= x[j] && x[j++] <= '9')++i;
		printf_s("%d\n", i);
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
源代码: #include #include #include #include #define Smax 200 using namespace std; struct student { string num; string name; float eng; float math; float clang;//定义c++ float gete(){return eng;} float getm(){return math;} float getcl(){return clang;} string getn(){return num;} string getna(){return name;} int rank[3]; int row;//排名 int sinto(string,string,float,float,float);//输入数据 void sshow();//输出数据 float sall();// 求和 float save();//求平均 void objrank();//成绩分类 }; void shows()//普通函数 { cout<<setw(6)<<"排名"<<setw(6)<<"学号"<<setw(10)<<"姓名" <<setw(6)<<"英语"<<setw(6)<<"数学"<<setw(6)<<"c++" <<setw(6)<<"总分"<<setw(10)<<"平均分"<<endl; } int student::sinto(string a1,string a2,float b1,float b2,float b3 ) { num=a1;name=a2; eng=b1;math=b2;clang=b3; return 0; } void student::sshow()//输出 { cout<<setw(6)<<row<<setw(6)<<num<<setw(10)<<name<<setw(6) <<eng<<setw(6)<<math<<setw(6)<<clang<<setw(6)<<sall() <<setw(10)<<setiosflags(ios::fixed)<<setprecision(1)<<save()<<endl; cout<<setiosflags(ios::fixed)<<setprecision(0); } float student::sall()//求总分 { return eng+math+clang; } float student::save()//求平均分 {return sall()/3;} void student::objrank() { int n; rank[0]=(int)eng; rank[1]=(int)math; rank[2]=(int)clang; for(int i=0;i<3;i++) { n=rank[i]/10; switch(n) { case 9:n=1;break; case 8:n=2;break; case 7:n=3;break; case 6:n=4;break; default:n=5;} rank[i]=n; } } //类student结束 //类leo开始 class leo {private: student item[Smax]; int size; public: leo(); void lsize(int);//设置数组大小 void linit();//清空 void linsert();//添加 void ldelet(string);//删除 void lsearch(string);//查找 void lchan(string);//修改 void lpcent();//成绩分类 void lrow();//排序 void obave();//求平均 void lview();//显示全部数据 void lcin();//从磁盘输出 void lcout();//储存到磁盘 }; leo::leo() { student item[Smax]; lsize(0); } void leo::lsize(int i) {size=i; } void leo::linit() { lsize(0); cout<<"学生数据清除成功"<<endl;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值