c程序 1 设计一个程序,输入123,返回1+2+3也就是三个数的和6,输入-123 也还是三个数的和,是6.

问题描述:

c程序 1 设计一个程序,输入123,返回1+2+3也就是三个数的和6,输入-123 也还是三个数的和,是6.
2 设计程序,输入123 ,返回321.输入-123,返回321 .我就这么点分数了,希望能有人帮我解决这两个问题.
1个回答 分类:综合 2014-10-09

问题解答:

我来补答
//1 设计一个程序,输入123,返回1+2+3也就是三个数的和6,输入-123 也还是三个数的和,是6.
#include <stdio.h>
int add(int n)
{
    int sum=0;
    if(n<0) n=-n; //如果n为负数则取相反数
    while(n)
    {
        sum+=n%10;//分离出n的最后一位,将其加到sum中,如123则分离出3加到sum中,sum=3
        n=n/10;//将n的最后一位去掉,如123则此时n=12,回到循环继续判断
    }
    return sum;
}
int main(void)
{
    int n,sum;
    printf("请输入一个数:\n");
    scanf("%d",&n);
    sum=add(n);
    printf("该数各位的和为:%d\n",sum);
    return 0;
}//2  设计程序,输入123  ,返回321.  输入-123,  返回321  
#include <stdio.h>
int reverse(int n)
{
    int m=0;
    if(n<0) n=-n;
    while(n)
    {
        m=m*10+n%10;
        n=n/10;
    }
    return m;
}
int main(void)
{
    int n,m;
    printf("请输入一个数:\n");
    scanf("%d",&n);
    m=reverse(n);
    printf("该数反转后为:%d\n",m);
    return 0;
}
 
 
展开全文阅读
剩余:2000
下一页:数学函数值域