12.29
题目内容:
从键盘输入一个字符串,并在串中的第一次出现的最大元素后边插入字符串”ab”。
输入格式:
任意输入一个字符串
输出格式:
在串中的最大元素后边插入字符串”ab”
输入样例:
123csCUMT
输出样例:
123csabCUMT
#include<iostream>
using namespace std;
int main()
{
char a[500];
cin>>a;
int i,max='\1',number;
for(i=0;a[i]!='\0';i++)
{
if((int)a[i]>max)
{
max=a[i];
}
}
for(;i>0;i--)
{
if((int)a[i]==max)
{
number=i;
}
}
for(i=0;i<number+1;i++)
cout<<a[i];
cout<<"ab";
for(i=number+1;a[i]!='\0';i++)
cout<<a[i];
要点:字符串的输入 字符型向整型的转化
题目内容:
输入一个字符串,其包括数字和非数字字符,如:a123x456 17935? 098tab,将其中连续的数字作为一个整数,依次存放到数组a中,统计共有多少个整数,并输出这些数。
输入格式:
数字和非数字字符的字符串
输出格式:
1)整数个数2)分别输出整数
输入样例:
a123x456 17935? 098tab583【注意需要保留带有空格的字符串,请不要使用gets,cin,练习使用cin.getline(char *str, int maxnum)】
输出样例:
5
123
456
17935
98
583
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str,a;
getline(cin, str);
int i,number=1,j=0,time=0;
for(i=0;i<str.size();i++)
{
if(str[i]<='9'&&str[i]>'0')
{
a[j]=str[i]; j++;
if(str[i+1]>'9'||str[i+1]<'0')
{
a[j]='k';j++;time++;
}
}
}
cout<<time<<endl;
for(i=0;i<j;i++)
{
if(a[i]!='k') cout<<a[i];
else cout<<endl;
}
}
要点:string类和getline函数的使用

浙公网安备 33010602011771号