國產資料庫人大金倉 KingbaseES V8 R2 在 x86_64 Linux 安裝過程
阿新 • • 發佈:2020-12-17
技術標籤:慕課課後作業
1插入字串(30分)
題目內容:
從鍵盤輸入一個字串,並在串中的第一次出現的最大元素後邊插入字串”ab”。
輸入格式:
任意輸入一個字串
輸出格式:
在串中的最大元素後邊插入字串”ab”
輸入樣例:
123csCUMT
輸出樣例:
123csabCUMT
想法
- 用一個字元陣列過渡。
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
char a[1000];
cin>>a;
int i;
int maxx=0;
for(i=0;a[i]!= '\0';i++)
{
if(a[maxx]<a[i]) maxx=i;
}
char b[1002]="\0";
for(i=0;i<=maxx;i++)
b[i]=a[i];
b[i]='a';
b[i+1]='b';
for(i;a[i]!='\0';i++)
{
b[i+2]=a[i];
}
for(i=0;b[i]!='\0';i++)
{
cout<<b[i];
}
return 0;
}
2統計整數個數(40分)
題目內容:
輸入一個字串,其包括數字和非數字字元,如: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.h>
using namespace std;
int main(int argc, char** argv) {
char a[100]="\0";
cin.getline(a,100,'\n');
int i;
for(i=0;a[i]!='\0';i++)
{
}
i--;
int temp[100]={0};
int l=0;
for(i;a[i]!='\0';i--)
{
if((a[i]>='0'&&a[i]<='9')&&(a[i-1]>='0'&&a[i-1]<='9'))
{
int sum=0;int p=1;
for(i;a[i]>='0'&&a[i]<='9';i--)
{
sum+=(int(a[i]-'0'))*p;
p*=10;
}
temp[l++]=sum;
}
else if((a[i]>='0'&&a[i]<='9')&&!(a[i-1]>='0'&&a[i-1]<='9'))
{
temp[l++]=a[i]-'0';
}
}
cout<<l<<endl;
l--;
for(l;l>=0;l--)
{
cout<<temp[l]<<endl;
}
return 0;
}
3字串排序(30分)
題目內容:
有5個字串,首先將它們按照字串中字元個數由小到大排序,再分別取出每個字串的第三個字母合併成一個新的字串輸出(若少於三個字元的輸出空格)。要求:利用字串指標和指標陣列實現。
輸入格式:
5個字串,用回車分隔
輸出格式:
輸出一個字串:按5個字串中字元個數由小到大排序,每個字串後面有一個空格;再分別取出每個字串的第三個字母合併成一個新的字串輸出,若少於三個字元的輸出空格
輸入樣例:
test1234
123test
cumt
think
apples
輸出樣例:
cumt think apples 123test test1234
concatenate string:mip3s
#include <iostream>
#include <string.h>
using namespace std;
int main(){
char *a[5];
for(int i=0;i<5;i++)
{
a[i]=new char[100];
cin>>a[i];
}
for(int i=0;i<4;i++)
for(int j=0;j<5-i-1;j++)
{
if(strlen(a[j])>strlen(a[j+1]))
{
char *temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(int i=0;i<5;i++)
{
cout<<a[i]<<' ';
}
cout<<endl;
cout<<"concatenate string:";
for(int i=0;i<5;i++)
{
if(strlen(a[i])<3)
cout<<" ";
else
cout<<a[i][2];
delete a[i];
}
return 0;
}