这几天写了这几道题目。
总结一下:题目不难,简单几下就能搞定。问题是自己居然一次都没有写出来。
反思一番:不会处理字符串。。。 什么string类型呀,都不熟悉。还有debug也不会。要加紧学哦
现在列上别人的代码,争取早日写出!
1001:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
int c=a+b;
if(c<0) cout<<'-';
c=abs(c);
char s[20];
sprintf(s,"%d",c);
int len=strlen(s);
//if(len<=3) {cout<<s;return 0;}
int m=len/3,n=len%3,start=0;
//cout<<"m="<<m<<' '<<"n="<<n<<endl;
if(n==0) {cout<<s[0]<<s[1]<<s[2];start=3;m--;}
else if(n==1) {cout<<s[0];start=1;}
else if(n==2) {cout<<s[0]<<s[1];start=2;}
while(m!=0){
cout<<',';
cout<<s[start]<<s[start+1]<<s[start+2];
start+=3;
m--;
}
return 0;
}
pat1005
#include<iostream>
#include<stdio.h>
#include<vector>
#include<map>
#include<set>
#include<algorithm>
using namespace std;
int main(){
string a;
cin>>a;
int sum=0;
int i=0;
while(a[i]!='\0')
{
sum+=a[i]-'0';
i++;
//字符串类型转换
}
int temp;
vector <int> v;
do
{
temp = sum % 10;
sum = sum/10;
v.push_back(temp);
}
while (sum);//避免0的问题
for(int i=0;i<v.size();i++){
switch(v[v.size()-i-1]){
case 0:cout << "zero"; break;
case 1:cout << "one"; break;
case 2:cout << "two"; break;
case 3:cout << "three"; break;
case 4:cout << "four"; break;
case 5:cout << "five"; break;
case 6:cout << "six"; break;
case 7:cout << "seven"; break;
case 8:cout << "eight"; break;
case 9:cout << "nine"; break;
default:
break;
}
if(i!=v.size()-1){
cout<<" ";
//if i=v.size()-1 那么就说明所有数字已经录入完毕
}
}
}
1035
#include<iostream>
#include<algorithm>
#include<string.h>
#include<vector>
using namespace std;
struct user
{
char ID[12];
char pwd[12];
}U[1001];
int main()
{
int N;
scanf("%d", &N);
for (int i = 0; i < N; i++)
scanf("%s %s", U[i].ID, U[i].pwd);
vector<user>O_P;
for (int i = 0; i < N; i++)
{
int flag = 0;
for (int j = 0; j < strlen(U[i].pwd); j++)
{
switch (U[i].pwd[j] )
{
case '0':U[i].pwd[j] = '%'; flag = 1; break;
case '1':U[i].pwd[j] = '@'; flag = 1; break;
case 'l':U[i].pwd[j] = 'L'; flag = 1; break;
case 'O':U[i].pwd[j] = 'o'; flag = 1; break;
default:break;
}
}
if (flag == 1)
O_P.push_back(U[i]);
}
if (O_P.size() == 0)
{
if (N == 1)
printf("There is 1 account and no account is modified\n");
else
printf("There are %d accounts and no account is modified\n", N);
}
else
{
printf("%d\n", O_P.size());
for (int k = 0; k <O_P.size(); k++)
printf("%s %s\n", O_P[k].ID, O_P[k].pwd);
// printf("%c\n", O_P[k].ID[0]);
}
system("pause");
return 0;
}
多刷题,多积累经验!!加油!!