| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖
标题:求大神改代码,acm的题,提交时报错怎么改,菜鸟一个
只看楼主 加入收藏
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:11 
求大神改代码,acm的题,提交时报错怎么改,菜鸟一个
1515377.cpp: 在函数‘int main()’中:
1515377.cpp:13:19: 错误:‘strlen’在此作用域中尚未声明

下边是代码
天大acm第4003题
源码
#include <iostream>
#include <stdio.h>
#define N 100005  
using namespace std;
char x[N];
int num[N];
int main() {
    int t,sum,ans,i;
    scanf("%d",&t);
    while(t--){
        sum=0;
        scanf("%s",x);
        int len=strlen(x);
        for(i=0;i<len;i++){
            num[i]=x[i]-'0';
            sum+=num[i];
        }
        ans=sum%10;
        bool bn=true;
        for(i=0;i<len;i++){
            if(num[i]!=9){
                bn=false;
            }
        }
        int gh=len-1;
        if(len-1==0){
            num[len-1]=10;
            bn=false;
        }
        if(bn==true){   
            num[gh]=9;
            num[0]=10;
            for(i=1;i<len-1;i++){
                num[i]=0;
            }
        }
        if(bn==false){
            if(num[len-1]+10-ans>=10){
                int bit=0;
                bool f=true;
                int u=len-1;
                if(len-1==0){
                    num[len-1]=19;
                    f=false;
                }
                bool hu=true;
                while(f){
                    if(hu){                        
                        if(num[u-1]+1==10){                    
                            bit++;
                        }else{                    
                            sum=sum-num[len-1]+1;               
                            int lk=10-sum%10;
                            num[len-1]=lk;
                            num[u-1]+=1;
                            f=false;
                        }
                        u=u-1;
                        ans=1;
                        hu=false;
                    }else{        
                        if(num[u]+1==10){                        
                            bit++;
                            num[u]=0;
                            u--;
                            ans=1;
                        }else{                    
                            num[u]=num[u]+1;                        
                            sum=sum-(bit-1)*9+1-num[len-1];                        
                            int jh=sum%10;
                            num[len-1]=10-jh;
                            f=false;
                        }                    
                    }

                }

            }else{
                num[len-1] +=10-ans;

            }
        }
        for(int i=0;i<len;i++)  
            printf("%d",num[i]);

        printf("\n");
    }
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: include 
2015-04-08 22:11
wyw19880809
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:178
专家分:738
注 册:2013-3-14
收藏
得分:10 
加个#include <string>看看
2015-04-08 22:26
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
回复 2楼 wyw19880809
不行呀
2015-04-08 23:08
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:10 
你到底要写c还是c++?

一片落叶掉进了回忆的流年。
2015-04-08 23:10
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
加string.h
2015-04-08 23:11
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
你还是指出杭电acm哪一题吧,程序看不懂。

能编个毛线衣吗?
2015-04-08 23:13
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
回复 6楼 wmf2014
天大acm 第4003题,答案有错,提交了的,估计那儿出了问题
2015-04-08 23:18
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
收藏
得分:0 
The I-number of x is defined to be an integer y, which satisfied the the conditions below:

1. y>x;

2. the sum of each digit of y(under base 10) is the multiple of 10;

3. among all integers that satisfy the two conditions above, y shouble be the minimum.

Given x, you're required to calculate the I-number of x.

Input
An integer T(T≤100) will exist in the first line of input, indicating the number of test cases.

The following T lines describe all the queries, each with a positive integer x. The length of x will not exceed 105.

Output
Output the I-number of x for each query.

Sample Input

1
202



Sample Output

208
2015-04-08 23:19
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
有点长,就不看了。需要指出你结尾处的system("pause");希望是你调试时用的,如果提交的代码里也有这句肯定不行。

送一段我的AC代码。
程序代码:
#include <stdio.h>

int main()
{
    char s[100002];
    int t, n, c, i;

    for(scanf("%d", &t); t-- && scanf("%s", s + 1); puts(s[0] - '0' ? s : s + 1))
    {
        for(s[0] = '0', c = 0, n = 1; s[n]; c += s[n++] - '0');
        if(10 - c % 10 + s[--n] > '9')
        {
            c -= s[n] - '0' - 1;
            for(s[n] = '0', i = n - 1; s[i] == '9'; c -= s[i] - '0', s[i--] = '0');
            s[i]++;
        }
        if(c %= 10) s[n] += 10 - c;
    }
    return 0;
}
收到的鲜花
  • lowrie2015-04-09 11:39 送鲜花  3朵   附言:多谢,我回去看看

重剑无锋,大巧不工
2015-04-09 00:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用beyondyf在2015-4-9 00:52:51的发言:

有点长,就不看了。需要指出你结尾处的system("pause");
}



不知道哪位大侠带的头   都喜欢在代码中加这个东东

DO IT YOURSELF !
2015-04-09 08:17
快速回复:求大神改代码,acm的题,提交时报错怎么改,菜鸟一个
数据加载中...
 
   



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

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