初学者,主要想知道如何输出成这样(3+5+8=16)

写程序,从键盘输入任意一个三位数,求各位数字之和。(注意是任意一个三位数,不是只输出如下的两个)

输入输出样例:

输入:358,输出:3+5+8=16 (后面无空格、无换行)

输入:123,输出:1+2+3=6(后面无空格、无换行)


#include<iostream>
using namespace std;
int data[3];

void fun(int n){
    int tmp;
    int cnt=2;
    while(n){
        data[cnt--] = n%10;
        n/=10;
    }
}

int main()
{
    
    int num;
    cin>>num;
    fun(num);
    cout <<data[0]<<'+'<<data[1]<<'+'<<data[2]<<'=';
    cout <<data[0]+data[1]+data[2];
    return 0;
}

先定义3个变量 scanf输入3个值 printf输出合

358对10取余可以得到他的个位8,358对100取余可以得到58,减去个位8,再除10得到十位,358除100得到百位