三道跟string有關的題
阿新 • • 發佈:2018-12-04
這道題我卡在不知道怎麼儲存多個字串,後面學習到了…
一般我使用string字串的輸入,都是這樣 :
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a;
/*不讀人空格
cin >> a;
cout << a << endl;
*/
/*讀入空格
getline( cin , a );
cout << a << endl;
*/
return 0;
}
因此,我認為string是不可以寫出 string a【i】的形式的。所以,不知道怎麼儲存多個字串。
但是那道題改變了我的想法 , string也是可以用 a【i】的 。
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string a[7];
for( int i = 0 ; i < 7 ; i ++)
{
cin >> a[i];
}
for( int i = 0 ; i < 7 ; i ++)
{
cout << a[i] << endl;
}
return 0;
}
哎。。。。。。。。。。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
string a[150];
int x,y,z,j,k ;
int i = 0 , s = 0;
char ar[1000];
char ae[1000];
for( x = 0; x < n ; x ++)
cin >> a[x];
for( x = 0 ; x < n ; x ++)
for( y = x + 1; y < n; y ++)
if( a[x] == a[y])
s ++;
for( x = 0 ; x < n ; x ++)
{
int len = a[x].length();
ar[x] = a[x][len-1];//第 i 個 字串的 第 len - 1 個字元。
ae[x] = a[x][0];
}
for( x=0 ; x < n - 1 ; x ++)
{
if( ae[x+1] != ar[x])
i++;
}
if( i == 0 && s == 0)
cout<<"Yes";
else cout<<"No";
return 0;
}
哎。。。。。。。。。。。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t , i;
string a;
while(cin >> a)
{
t = a.find(".");//找到 小數點 在字串中的位子。
if( t == -1)//返回-1,說明沒找到
{
a = a + ".00";
}
else
{
if( a[t + 1] == '\0')//小數點後第一位是不是空 , 如果是則為 X.00
{
a = a + "00";
}
if( a[t + 2] == '\0' )//小數點後第二位是不是空 , 如果是則為 X.X0
{
a = a + '0';
}
if( a[t + 3] != '\0' )//小數點後第三位是不是空 ,不是則判斷四捨五入。
{
if( a[t+3] >= '5' && a[t+3] <= '9')
{
a[t+2]++;
a[t+3] = '\0';
if( a[t+2] == ':')
{
a[t+2] = '0';
a[t+1]++;
if( a[t+1] == ':' )
{
a[t+1] = '0';
a[t-1]++;
for( i = t - 1 ; i > 0 ; i --)
{
if( a[i] == ':' )
{
a[i] = '0';
if( i == 1 && a[i-1] == '-')
{
a[0] = '1';
a = "-" + a;
}
else a[i - 1] ++;
}
}
if( a[0] == ':' )
{
a[0] = '0';
a = "1" + a;
}
}
}
}
else a[t + 3] = '\0';
}
}
t = a.find(".");
int s = 0;
for( i = 0 ; i < t ; i ++)
{
if( a[i] == '0')
{
s ++;
}
}
if( a[0] != '-' && s == t)
{
a.replace( 0 , t , "0");
}
else if( a[0] == '-' && s == t - 1)
{
a.replace( 1 , s , "0");
}
else if( a[0] == '-')
{
while( a[1] == '0')
{
a.erase(1,1);//第二個字元是0,則刪除第三個字元。
}
}
else if( a[0] != '-')
{
while( a[0] == '0')
{
a.erase(0,1);//第二個字元是0,則刪除第二個字元。
}
}
t = a.find(".");
if( a[0] != '-')
{
for( i = t - 1 ; i > 2 ; )
{
a.insert( i - 2 ,",");
t = a.find(",");
i = t - 1;
}
}
else
{
for( i = t - 1 ; i > 3 ; )
{
a.insert( i - 2 , "," );
t = a.find(",");
i = t - 1;
}
}
if(a[0]=='-')
{
a.erase(0,1);
cout << "(" << a.c_str() << ")" << endl;
}
else
cout << a.c_str() << endl;
}
return 0;
}
/*
c_str 是c++ 中 string類 (class) 的 函式,
它能把 string類 的物件裡的字串
轉換成 C 中 char 型變數 的 字串。
*/
NICE ! ! !