| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1471 人关注过本帖, 1 人收藏
标题:这道题可以用字符串做吗?
取消只看楼主 加入收藏
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
结帖率:89.47%
收藏(1)
已结贴  问题点数:20 回复次数:5 
这道题可以用字符串做吗?
Details
In the first line of the input is a number n (1 <= n <= 10) representing the number of the test cases.
Each of the following n lines consists of two integers a and b (1 <= a, b <= 10000000), where a is the one to be reversed, and b is the divisor to be used to get the remainder.
5
12345 10
2345 32
43245 98
83929 231
1 2
In this input:
There are five test cases.
In the first test case, output the reversed number of 12345, namely 54321, and then output the remainder of 54321 / 10, namely 1.
In the second test case, output the reversed number of 2345, namely 5432, and then output the remainder of 5432 / 32, namely 24
...
And the corresponding output would be:
54321 1
5432 24
54234 40
92938 76
1 1
Note: the reversed number of 500 would be 005. Numbers beginning with 0 such as 005 will not be given in the input for simplicity.
2017-01-02 15:38
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
下面是我写的代码,但是最后求模哪里不知道怎么算?(不知道能不能将字符串转换成为数字)
帮我指正一下吧,谢谢啦!
程序代码:
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    int n; 
    scanf("%d",&n);
    char s[101],ch;
    int a,input;
    int i,j,length,l,x=0;
    for(i=1;i<=n;i++)
    {
        scanf("%s%d",s,&a);//输入第一个数和第二个数 
    length=strlen(s);//求第一个数的长度 
        for(j=0;j<length/2;j++)//将第一个数的顺序交换 
        {
            ch=s[j];
            s[j]=s[length-j-1];
            s[length-j-1]=ch;
        }
        printf("%s ",s);
        l=length-1;
        for(j=0;j<length;j++)
        {
            x+=s[j]*pow(10,l);printf("%d ",x);
            l--;
        }
        input=x%a;//求模,即最后输出的那个数 
        printf("%d\n",input);
        
    }
    return 0;
}
2017-01-02 15:42
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
回复 3楼 九转星河
但是我觉得用int的话,调换顺序好像会很麻烦。所以我想如果用字符串可能会简洁一点。
2017-01-02 15:48
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
回复 6楼 吹水佬
理解了,谢谢!
在这道题目里,它还有一个要求,就是,
比如输入12345000,
那么需要输出00054321.
这里面如果只是用int类型的话,输出时前面的0会掉了,
我想,如果是用依次加上去的话,这个应该无法避免的。
所以应该如何解决?(如果不使用字符串的话)
2017-01-02 17:39
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
回复 7楼 yangfrancis
理解了,谢谢!
在这道题目里,它还有一个要求,就是,
比如输入12345000,
那么需要输出00054321.
这里面如果只是用int类型的话,输出时前面的0会掉了,
我想,如果是用依次加上去的话,这个应该无法避免的。
所以应该如何解决?(如果不使用字符串的话)
2017-01-02 17:40
ClearningC
Rank: 2
等 级:论坛游民
帖 子:98
专家分:43
注 册:2016-10-26
收藏
得分:0 
回复 11楼 吹水佬
是的。
我看了十楼说的那个方法后,想过应该这么做,但是对指针这一方面的知识还不能熟练掌握,所以不太知道该怎么写。
看了你的代码,真的有种豁然开朗的感觉。
谢谢你啦!
2017-01-02 21:58
快速回复:这道题可以用字符串做吗?
数据加载中...
 
   



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

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