欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

与第二次作业相似的题目

程序员文章站 2022-07-12 15:00:07
...

Problem Description

乐乐今天刚学减法,老师布置了好多关于减法的家庭作业题。乐乐可不想把时间都浪费在这重复机械的题目上。你能帮帮她吗?
Input

输入数据由多组数据组成。每组数据只有一行,包含两个整数,用空格分开。
Output

对于每组数据,输出一行,包含两个整数的差。如果数字超过3位,应从最低位起,按每三位分组。 题目所有输入输出保证在[-2^31, 2^31-1]范围内。
Sample Input

2000 1000
Sample Output

1,000

#include <stdio.h>
int main()
{
    int a,b,c,t1,t2,flag=0;
    scanf("%d %d",&a,&b);
    c=a-b;
    
    if(c<0){
        c=-c;
        flag=1;
    }
    if(c<1000)
    {
        if(flag==1){
            printf("-");
        }
        printf("%d\n",c);

    }
    else if (c>=1000&&c<1000000)
    {
        if(flag==1){
            printf("-");
        }
        t1=c/1000;
        printf("%d",t1);
        printf(",");
        t2=c%1000;
        printf("%03d\n",t2);
    }
    else if (c>=1000000&&c<1000000000)
    {
        if(flag==1){
            printf("-");
        }
        t1=c/1000000;
        printf("%d,",t1);
        c%=1000000;
        t1=c/1000;
        printf("%03d,",t1);
        t1%1000;
        printf("%03d\n",t1);

    }
    else
    {
        if(flag==1){
            printf("-");
        }
        t1=c/1000000000;
        printf("%d,",t1);
        c%=1000000000;
        t1=c/1000000;
        printf("%03d,",t1);
        c%=1000000;
        t1=c/1000;
        printf("%03d,",t1);
        c%=1000;
        printf("%03d\n",c);
    }
    return 0;
}

更简便的方法!!!

#include <stdio.h>
#include <string.h>
int main()
{
    int a,b,c,flag=0,i,t;
    char arr[20];
    while (scanf("%d %d",&a,&b)!=EOF)
    {
        c=a-b;
        if (c==0)
        {
            printf("0\n");
        }
        else{
            if (c<0)
            {
                c=-c;
                flag=1;
            }
            for (i=0;c>0;i++)
            {
                arr[i]=c%10+'0';
                c/=10;
            }
            arr[i]='\0';
            t=i;
            if (flag==1)
            {
                printf("-");
            }
            for (i=t-1;i>=0;i--)
            {

                printf("%c",arr[i]);
                if(i%3==0&&i!=0){
                    printf(",");
                }
            }
            printf("\n");
            flag=0;
        }
        
    }
    return 0;
}