从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b的C语言 c++编程问题 从键盘上输入字符串a和字符串b,并在a串的最...
\u4ece\u952e\u76d8\u8f93\u5165\u5b57\u7b26\u4e32a\u548c\u5b57\u7b26\u4e32b\uff0c\u5e76\u5728a\u4e32\u4e2d\u7684\u6700\u5c0f\u5143\u7d20\u540e\u9762\u63d2\u5165\u5b57\u7b26\u4e32b.#include
#include
void main( )
{char a[50],b[20];
int i=0,min=0,lena,lenb;
printf("please input string a:");
gets(a);
printf("please input string b:");
gets(b);
while(a[i]!='\0')// \u904d\u5386a[]\u4e00\u904d\uff0c\u627e\u51fa\u6700\u5c0f\u7684\u90a3\u4e2a\u4e0b\u6807
{ if(a[i]<a[min])
min=i;//\u7528min\u5b58\u50a8\u6700\u5c0f\u7684\u90a3\u4e2a
i++;}
lena=string(a);
lenb=string(b);
for (i=lena;i>min;i--)//\u8fd9\u4e2a\u5faa\u73af\u662f\u5c06a[]\u4e2d\u4ecemin\u5f00\u59cb\u5230\u6700\u540e\u7684\u5143\u7d20\u90fd\u540e\u79fblenb\u4e2a\u4f4d
// \u5b50\uff0c \u56e0\u4e3a\u4f60\u8981\u5728\u6700\u5c0f\u5143\u7d20\u540e\u63d2\u5165\u6570\u7ec4b[],\u6240\u4ee5\u4f60\u8981\u4e3a\u6570\u7ec4b[]\u4f9b
// lenb\u4e2a\u4f4d\u5b50\uff0c
a[i+lenb]=a[i];
for (i=0;i<lenb;i++) //\u8fd9\u4e2a\u5faa\u73af\u662f\u4ecea[min]\u5230a[min+lenb]\u6765\u5b58\u50a8\u63d2\u5165\u7684\u6570\u7ec4b[],\u6bd4\u5982\u4f60
//\u662f\u5728\u7b2c5\u4e2a\u4f4d\u5b50\u5f00\u59cb\u63d2\u5165\uff0c\u5c31\u662fa[5+0+1]=b[0] ,a[5+1+1]=b[1]
a[min+i+1]=b[i];
puts(a);
}
\u6211\u91cd\u65b0\u4fee\u6539\u4e00\u4e0b\u3002
#include
#include
#include
using namespace std;
void main( )
{char a[50],b[20];
int i=0,j=0,min=0,lena,lenb;
printf("please input string a:");
gets(a);
printf("please input string b:");
gets(b);
while(a[i]!='\0')// \u904d\u5386a[]\u4e00\u904d\uff0c\u627e\u51fa\u6700\u5c0f\u7684\u90a3\u4e2a\u4e0b\u6807
{ if(a[i]<a[min])
min=i;//\u7528min\u5b58\u50a8\u6700\u5c0f\u7684\u90a3\u4e2a
i++;}//i\u7528\u6765\u8868\u793a\u6570\u7ec4a\u4e2d\u6709\u591a\u5c11\u4e2a\u5143\u7d20
while(b[j]!='\0')// \u904d\u5386a[]\u4e00\u904d\uff0c\u627e\u51fa\u6700\u5c0f\u7684\u90a3\u4e2a\u4e0b\u6807
{
j++;}//j\u7528\u6765\u8868\u793a\u6570\u7ec4b\u4e2d\u6709\u591a\u5c11\u4e2a\u5143\u7d20
lena=i;
lenb=j;
for (i=lena;i>min;i--)//\u8fd9\u4e2a\u5faa\u73af\u662f\u5c06a[]\u4e2d\u4ecemin\u5f00\u59cb\u5230\u6700\u540e\u7684\u5143\u7d20\u90fd\u540e\u79fblenb\u4e2a\u4f4d
// \u5b50\uff0c \u56e0\u4e3a\u4f60\u8981\u5728\u6700\u5c0f\u5143\u7d20\u540e\u63d2\u5165\u6570\u7ec4b[],\u6240\u4ee5\u4f60\u8981\u4e3a\u6570\u7ec4b[]\u4f9b
// lenb\u4e2a\u4f4d\u5b50\uff0c
a[i+lenb]=a[i];
for (i=0;i<lenb;i++) //\u8fd9\u4e2a\u5faa\u73af\u662f\u4ecea[min]\u5230a[min+lenb]\u6765\u5b58\u50a8\u63d2\u5165\u7684\u6570\u7ec4b[],\u6bd4\u5982\u4f60
//\u662f\u5728\u7b2c5\u4e2a\u4f4d\u5b50\u5f00\u59cb\u63d2\u5165\uff0c\u5c31\u662fa[5+0+1]=b[0] ,a[5+1+1]=b[1]
a[min+i+1]=b[i];
puts(a);
system("pause");
}
//\u8fd9\u6837\u5e94\u8be5\u53ef\u4ee5\u4e86
#include#includeusing namespace std;int main(){ string s,t; cin>>s; cin>>t; int pos=0; for(int i=1;i<s.size();i++) pos=s[pos]<s[i]?pos:i; s.insert(pos+1,t); cout<<s<<endl; return 0;}
#include<stdio.h>
#include<string.h>
#define size 100
void insert(char *s1,const char *source);
int main(int argc,char *argv[])//主函数
{
char s1[size]={0};
char source[size]={0};
puts("enter s1
s1:");
fgets(s1,size,stdin);//从键盘获取字符串s1
puts("enter source
s2:");
fgets(source,size,stdin);//从键盘获取字符串s2
int len_source=strlen(source);//删除S2最后的回车
if ( source[len_source-1] == '
')
{
source[len_source-1]='\0';
}
insert(s1,source);
puts(s1);//打印新的s1
return 0;
}
void insert(char *s1,const char *source)
{
int len = strlen(s1),i,flg;
char min=s1[0];
for(i=0;i<len-1;i++)//求最小的元素
{
if ( min > s1[i])
{
min = s1[i];
flg = i+1;
}
}
char tmp_str[size]={0};
strcpy(tmp_str,s1+flg);//先把最小元素之后的字符拷贝到临时数组
strcpy(s1+flg,source);//从最小元素的位置把s2拷贝到s1
strcpy(s1+strlen(s1),tmp_str);//最后把s1最开始最小元素之前的字符(包括pos)重新拷到s1
}
最小元素 是指的什么? 输入的都是0 - 9的数?
还是ASCII码中最小值的字符?
什么叫做“最小”呢?是以字符的ascii码来衡量么?
绛旓細lena=string(a);lenb=string(b);for (i=lena;i>min;i--)//杩欎釜寰幆鏄皢a[]涓粠min寮濮嬪埌鏈鍚庣殑鍏冪礌閮藉悗绉籰enb涓綅 // 瀛愶紝 鍥犱负浣犺鍦ㄦ渶灏忓厓绱犲悗鎻掑叆鏁扮粍b[],鎵浠ヤ綘瑕佷负鏁扮粍b[]渚 // lenb涓綅瀛愶紝a[i+lenb]=a[i];for (i=0;i<lenb;i++) //杩欎釜寰幆鏄粠a[min]鍒癮[min...
绛旓細include<string.h> int main(){char s1[200],s2[200],*p,*q;int a;gets(s1);gets(s2);for(p=q=s1;*p;p++)if(*p<*q)q=p;a=strlen(s2);for(p=s1+strlen(s1);p>q;p--)(p+a)=*p;for(p=s2;*p;)*(++q)=*p++;printf("%s",s1);return 0;} ...
绛旓細b = InputBox("b")i = "z": k = 0 For j = 1 To Len(a)If (i > Mid(a, j, 1)) Then i = Mid(a, j, 1)k = j End If Next j Label1.Caption = Mid(a, 1, k) & b & Mid(a, k + 1, Len(a) - k)End Sub ...
绛旓細include<stdio.h>#include<string.h>#define size 100void insert(char *s1,const char *source);int main(int argc,char *argv[])//涓诲嚱鏁皗char s1[size]={0};char source[size]={0};puts("enter s1\ns1:");fgets(s1,size,stdin);//浠庨敭鐩鑾峰彇瀛楃涓s1puts("enter source\ns2:");f...
绛旓細void main(){ char a[80], b[20];int i, j;cout << "杈撳叆鏁扮粍a鐨勫厓绱";cin >> a[80];cout << "杈撳叆鏁扮粍b鐨勫厓绱";cin >> b[20];i = 0;while (a[i] != '\0')i++;j = 0;while (b[j] != '\0 '&& j < 5){ a[i + j] = b[j];j++;} a[i + j] = ...
绛旓細T_mp3++;if(T_mp3==25000)T_mp3=0;//5s
绛旓細include<iostream>#include<string>using namespace std;int main(){ string s,t; cin>>s; cin>>t; int pos=0; for(int i=1;i<s.size();i++) pos=s[pos]<s[i]?pos:i; s.insert(pos+1,t); cout<<s<<endl; return 0;} ...
绛旓細Private Sub Command1_Click()a = InputBox("杈撳叆A瀛椾覆")b = InputBox("杈撳叆B瀛椾覆")k = 1 For i = 1 To Len(a)If Mid(a, k, 1) > Mid(a, i, 1) Then k = i Next i a = Left(a, k) & b & Mid(a, k + 1)Print a Print b End Sub ...
绛旓細// 娴瀛楃涓闀垮害 绫讳技strlen int length(char *s){int n=0;while (s[n] != 0) n++;return n;} // 姣旇緝 绫讳技strcmp int cmp(char *a, char *b){ int i,la,lb,L,r=0;la = length(a); lb = length(b);L=la; if (lb<L) L=lb;for (i=0;i<L;i++) if (a[i] ...
绛旓細";char* str2="world!";printf("鍒濆2涓瀛楃涓鍒嗗埆涓猴細\n");printf("%s\n",str1);printf("%s\n",str2);printf("\n");printf ("===\n\n");printf("鍚堝苟鍚庣殑瀛楃涓蹭负锛歕n");mergeString(str1,