注册 登录
编程论坛 C++教室

新手上路,求大神指教

庄子小五 发布于 2016-10-23 10:20, 2367 次点击
老师上课给了我们这样一个问题:
如果输入两个三位数,那么输出三个值分别是, 百位两个数的和,十位两个数的和,个位两个数的和。
我尝试着写了一下,发现很多问题。
所以请教大神老司机指教。
(附送我写的程序一枚,顺便指教吧,多谢)

#include <stdio.h>
int a,b,c,e,f,g;
{
    int x,y;
    scanf("%d,%d",&x,&y);
    if(x>100,y>100)
        x=100a+10b+c;
        y=100e+10f+g;
        printf("%d,%d,%d",a+e,b+f,c+g);
        else
            printf("you are wrong");
        return 0
}


我知道错误百出,希望大神老司机不吝赐教~~
7 回复
#2
yangfrancis2016-10-23 21:21
如果你想把x的百位,十位,个位分别给a,b,c的话,要用整除或取模才办得到,a=x/100;b=(x/10)%10;c=x%10;当然你这种c程序还得放在一个主函数中才能执行。
#3
庄子小五2016-10-23 21:58
回复 2楼 yangfrancis
嗯,原来是除法来做,那我知道了,多谢了(^~^)
#4
rjsp2016-10-24 08:22
那你现在做对了吗?
看你的代码有好多语法错误
程序代码:
#include <stdio.h>

int main( void )
{
    int x,y;
    if( scanf("%d%d",&x,&y)==2 && x>=100 && x<=1000 && y>=100 && y<1000 )
        printf( "%d, %d, %d\n", x/100+y/100, x/10%10+y/10%10, x%10+y%10 );
    else
        puts( "you are wrong" );

    return 0;
}

#5
starlz2016-10-24 22:37
//新手。。用cout写一下楼上的。
#include<iostream>
using namespace std;
void main()
{
    int x, y;
    cin >> x >> y;
    cout << x / 100 + y / 100 << endl;
    cout << (x / 10) % 10 + (y / 10) % 10 << endl;
    cout << x % 10 + y % 10 << endl;   
}
#6
庄子小五2016-10-25 21:32
回复 3楼 庄子小五
嗯,我有了两种方法~
#include <stdio.h>
int main()
{
   int a,b,c,t,sum;
    scanf("%d",&t)
     a=t%100;
     b=t%10;
     c=t/100;
     a=a/10;
     sum=a+b+c;
     printf("各位数的和为:/d",sum)
     return 0
}
#7
庄子小五2016-10-25 21:34
回复 3楼 庄子小五
还有一个是比较复杂的,用t减去各个位数的值然后计算的程序~那个估计就是大部分人写的呢~~
#8
笨笨笨A梦2016-10-26 10:48
我要好好学习,天天向上
1