天梯赛 L1_33 出生年

  在这一题中主要考虑到字符串与整数之间的相互转换

  字符串转换为整数   

        string s="123456";

   int n=atoi(s.c_str());  //string头文件下

  整数转换字符串

       int n=123;

       string s;

       stringstream ss;

       ss<<n;

       ss>>s;  //在stringstream头文件下

 一下为源代码

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<string>
 4 #include<sstream>
 5 using namespace std;
 6 int main()
 7 {
 8     bool A[10];
 9     string s;
10     int n,num,num1;
11     cin>>s>>n;
12     num=atoi(s.c_str());
13     num1=num;
14     for(;; num1++)
15     {
16         stringstream ss;
17         ss << num1;
18         ss >> s;
19         while(s.length()!=4)
20         {
21             s='0'+s;
22         }
23         for(int i=0; i<10; i++)
24         {
25             A[i]=false;
26         }
27         int flag=0;
28         for(int i=0; i<s.length(); i++)
29         {
30             int m=s[i]-'0';
31             for(int j=0; j<10; j++)
32             {
33                 if(!A[m])
34                 {
35                     flag++;
36                     A[m]=true;
37                 }
38             }
39         }
40         if(flag==n)
41         {
42             break;
43         }
44     }
45     cout<<(num1-num)<<" "<<s<<endl;
46 }

 

posted @ 2018-03-05 18:41  奋斗の小白  阅读(188)  评论(0编辑  收藏  举报