| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2095 人关注过本帖
标题:快崩溃了,哪错了 ???
只看楼主 加入收藏
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
结帖率:66.67%
收藏
已结贴  问题点数:5 回复次数:14 
快崩溃了,哪错了 ???
Problem Description
小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算.
对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么小明也仅保留计算结果的最后两位.

例如, 对于小明来说:
1) 1234和34是相等的
2) 35+80=15

给定非负整数A和B, 你的任务是代表小明计算出A+B的值.
Input
输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据包含两个非负整数A和B(A和B均在int型可表示的范围内).
Output
对于每组测试数据, 输出小明A+B的结果.
Sample Input
2
35 80
15 1152
Sample Output
15
67





程序代码:
#include<iostream>
using namespace std;
int main()
{
    int n,a,b;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d%d",&a,&b);
        a = a%100,b = b%100;
        if(a+b < 100)
            printf("%d\n",a+b);
        else
        {
            if((a+b)%100 < 10 )
                printf("0%d\n",(a+b)%100);
            else printf("%d\n",(a+b)%100);    
        } 
    }
    return 0;
}
搜索更多相关主题的帖子: 测试 正整数 
2011-11-28 22:32
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:1 
程序代码:
#include<iostream>
using namespace std;
#define N 20
int main()
{
    int n,a[N],b[N],i=0;
    scanf("%d",&n);
    while(i<n)
    {
        scanf("%d%d",&a[i],&b[i]);
        i++;
    }
    i=0;
    while(i<n)
    {
        printf("%d\n",(a[i]+b[i])%100);///////先求出结果,再取后两位数
        i++;
    }
    return 0;
}
2011-11-28 22:49
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 2楼 laznrbfe
难道是我理解错了,如果是135+65输出应该是 00啊!后两位么!!
2011-11-28 22:56
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 2楼 laznrbfe
补充一下哈,是每输入一组数据输出一个值,你的格式有问题
2011-11-28 22:58
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:0 
回复 4楼 cb_1212
没有吧!你上面的不是输入完再输出吗?
2011-11-28 23:23
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 5楼 laznrbfe
题目是每输入一组数输出其和,-------------------对于每组测试数据, 输出小明A+B的结果。

再者,难道是我理解错题意了??

对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100, 那么小明也仅保留计算结果的最后两位.

如果是235+365是不是该这样算:35+65=100>=100,保留计算结果的后两位:00

是这个意思不???

[ 本帖最后由 cb_1212 于 2011-11-28 23:57 编辑 ]
2011-11-28 23:53
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:1 
如果是先输完所以的输入,最好再输出结果,就用上面说的写
如果是输入一次,就得到一个结果,就这样写
程序代码:
#include <stdio.h>

int main()
{
    int n,a,b;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%d%d",&a,&b);
        printf("%d\n",(a+b)%100);    
    }
    return 0;
}
2011-11-29 00:29
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 7楼 luchar
你的错的,你没看清楚题目
2011-11-29 00:49
cb_1212
Rank: 1
等 级:新手上路
帖 子:126
专家分:5
注 册:2011-4-28
收藏
得分:0 
回复 7楼 luchar
我把网址发给你,你自己试试就知道了。。。。
我真不明白是我没搞错题意了还是别的原因。。。。。。。。
http://acm.hdu.
密码是swun
2011-11-29 00:51
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:0 
唉,这个系统好也不好,好的是大家可以在上面做题,直接可以检测,不需要人为来工作。
坏处是,它判断正确与否不太灵活,同一个问题,可以有很多解法,在这个系统里,他的解法肯定是有限的,这样一来,就造成很多问题,可以用a方式来处理,而在它检验的时候却不能通过。
像这儿问题,
方式1,你看数字a和b只能认识100以内的,那么先把a和b的和算出来,再求余;
方式2,先确定a是否小于100,然后处理a,在看b是否在0和100之间,处理b,在把a和b的和算出来,如果和大于100,还要处理一次;有这么多的操作次数;
从程序的效率上来说,肯定方式1处理地快得多啊。反正是同一个问题的可以有不同的算法来解决的
2011-11-29 02:12
快速回复:快崩溃了,哪错了 ???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025489 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved