ACM代码格式

来源:互联网 发布:淘宝列表调成大图 编辑:程序博客网 时间:2024/06/01 20:02


1. 题目没有说明有多少组测试数据

#include<stdio.h>

int main()

{

while (scanf("/*输入格式*/") !=EOF)

{

//代码

}

}

#include<stdio.h>

int main()

{

while (~scanf("/*输入格式*/"))

{

//代码

}

}

scanf()在读取到文件尾是会返回EOF-1

~-1 = 0;(‘~’位运算符取反)

 

hdu1000

#include<stdio.h>int main()

{

    int a,b;

    while(scanf("%d%d",&a,&b)!=EOF)

    {

        printf("%d\n",a+b);

    }

    return 0;

}

 

 

 

 

 

 

 

2. 题目说明有多少组测试数据

#include<stdio.h>

int main()

{

int t;//测试数据组数

scanf("%d", &t);

while (t--)

{

//代码

if (t)

{

printf("\n");//最有一个测试数据没有空行,一些题目的需求

}

}

}

hdu1002

#include<stdio.h>

#include<string>

#include<algorithm>

#include<iostream>

int main()

{

    int t;

    scanf("%d", &t);

    for (int T = 1; T <= t; T++)

    {

        std::string a, b, sum;

        std::cin >> a >> b;

        int j = 0;

        int l = std::max(a.length(), b.length());

        for (int i = 1; i <= l; i++)

        {

            int la, lb, sa, sb;

            la = a.length();

            lb = b.length();

            if (la - i >= 0)

                sa = a[la - i];

            else

                sa = '0';

            if (lb - i >= 0)

                sb = b[lb - i];

            else

                sb = '0';

            int s = sa + sb - 2 * '0' + j;

            j = s / 10;

            s = s % 10;

            sum.push_back(s + '0');

        }

        std::reverse(sum.begin(), sum.end());

        printf("Case %d:\n", T);

        std::cout << a << " + " << b << " = " << sum << std::endl;

        if (T != t)

            printf("\n");

    }

    return 0;

}

3. 当输入某个特殊符号结束

#include<stdio.h>

int main()

{

int n;

while (scanf("%d", &n)!=EOF&&n!=0)

{

//代码

}

return 0;

}

#include<stdio.h>

int main()

{

int n;

while (scanf("%d", &n)!=EOF,n!=0)

{

//代码

}

return 0;

}

hdu1092

#include<stdio.h>

int main()

{

int n;

while (scanf("%d", &n)!=EOF,n!=0)

{

int sum = 0;

int a;

while (n--)

{

scanf("%d", &a);

sum += a;

}

printf("%d\n", sum);

}

return 0;

}