c语言从键盘输入两个字符串a和b,并在a串中的最大元素后边插入字符串b!有图 就程序 【C语言】输入两个字符串a和b,将b串中的最大字符插入到a串...

\u7528C\u8bed\u8a00\uff1a\u4ece\u952e\u76d8\u8f93\u5165\u4e00\u4e2a\u5b57\u7b26\u4e32a\uff0c\u5e76\u5728a\u4e32\u4e2d\u7684\u6700\u5927\u5143\u7d20\u540e\u9762\u63d2\u5165\u5b57\u7b26\u4e32b\uff08\u201cab\u201d\uff09 \u6c42\u89e3

\u4ee3\u7801\uff1a
#include
#include
#define N 356
void main(){
char a[N]={\u2019\0\u2019},b[N]={\u2019\0\u2019},ch,max;
int i,j,k,c;
/\u8f93\u5165\u5b57\u7b26\u4e32/
printf(\u201c\u8bf7\u8f93\u5165\u5b57\u7b26\u4e32\u201d);
gets(a);
/\u8f93\u5165ch\u7684\u503c/
printf(\u201cInput ch:\u201d);
scanf("%c",&ch);
/\u6c42\u51fa\u6700\u5927\u5b57\u7b26/
i=1;
max=a[0];
while(a[i]!=\u2019\0\u2019){
if(a[i]>max)
max=a[i];
i++;}
printf("%c\n",max);
/\u6c42\u51fa\u6700\u5927\u5b57\u7b26\u4f4d\u7f6e/
i=0;
while(a[i]!=\u2019\0\u2019){
if(a[i]==max)
break;
i++;
}
i++;
c=i;
/\u628a\u6700\u5927\u7684\u5b57\u7b26\u540e\u9762\u7684\u5b57\u7b26\u653e\u5728\u5b57\u7b26\u4e32b\u91cc/
j=0;
while(a[i]!=0){
b[j]=a[i];
j++;
i++;
}
/\u628ach\u8d4b\u503c\u7ed9\u6700\u5927\u503c\u540e\u9762\u7684\u4f4d\u7f6e/
a[c]=ch;
c++;
/\u628a\u5b57\u7b26\u4e32b\u7684\u6570\u8fd4\u56de\u7ed9a/
i=0;
while(b[i]!=\u2019\0\u2019){
a[c]=b[i];
c++;
i++;}
/\u8f93\u51fa\u7ed3\u679c/
printf("%s\n",a);
}

\u6269\u5c55\u8d44\u6599\uff1ainclude\u7528\u6cd5\uff1a
#include\u547d\u4ee4\u9884\u5904\u7406\u547d\u4ee4\u7684\u4e00\u79cd\uff0c\u9884\u5904\u7406\u547d\u4ee4\u53ef\u4ee5\u5c06\u522b\u7684\u6e90\u4ee3\u7801\u5185\u5bb9\u63d2\u5165\u5230\u6240\u6307\u5b9a\u7684\u4f4d\u7f6e\uff1b\u53ef\u4ee5\u6807\u8bc6\u51fa\u53ea\u6709\u5728\u7279\u5b9a\u6761\u4ef6\u4e0b\u624d\u4f1a\u88ab\u7f16\u8bd1\u7684\u67d0\u4e00\u6bb5\u7a0b\u5e8f\u4ee3\u7801\uff1b\u53ef\u4ee5\u5b9a\u4e49\u7c7b\u4f3c\u6807\u8bc6\u7b26\u529f\u80fd\u7684\u5b8f\uff0c\u5728\u7f16\u8bd1\u65f6\uff0c\u9884\u5904\u7406\u5668\u4f1a\u7528\u522b\u7684\u6587\u672c\u53d6\u4ee3\u8be5\u5b8f\u3002
\u63d2\u5165\u5934\u6587\u4ef6\u7684\u5185\u5bb9
#include\u547d\u4ee4\u544a\u8bc9\u9884\u5904\u7406\u5668\u5c06\u6307\u5b9a\u5934\u6587\u4ef6\u7684\u5185\u5bb9\u63d2\u5165\u5230\u9884\u5904\u7406\u5668\u547d\u4ee4\u7684\u76f8\u5e94\u4f4d\u7f6e\u3002\u6709\u4e24\u79cd\u65b9\u5f0f\u53ef\u4ee5\u6307\u5b9a\u63d2\u5165\u5934\u6587\u4ef6\uff1a
1\u3001#include;
2\u3001#include"\u6587\u4ef6\u540d"

#include#includeint main(){ char a[101], b[100]; int i = 0, j = 0, min, max, x, y; min = 0;//min\u5728\u4e0b\u9762\uff08if (a[i]b[max]) max = j; } for (i = x; i >min; i--)//for\u5faa\u73af\u6ce8\u610f\u5176\u8bed\u53e5\u6267\u884c\u5148\u540e\u987a\u5e8f\uff0c\u5224\u65ad\u6761\u4ef6\u8bed\u53e5(i >min)\uff0c { //\u6ee1\u8db3\u4e4b\u540e\u5148\u6267\u884cfor\u5faa\u73af\u4f53\u8bed\u53e5(a[i] = a[i-1];)\uff0c\u518d\u6267\u884ci--\u3002 a[i] = a[i-1]; } if (min == x) a[i] = b[max];//\u8fd9\u91cc\u539f\u7a0b\u5e8f\u76f4\u63a5\u628a\u6574\u6570max\u8d4b\u7ed9\u4e86a[i] else { a[i +1] = b[max]; } a[x + 1] = '\0';//\u5728\u5b57\u7b26\u4e32\u6700\u540e\u6dfb\u52a0\u5b57\u7b26\u4e32\u7ed3\u675f\u7b26 puts(a); while (1);}\u6839\u636e\u4f60\u7684\u601d\u8def\uff0c\u6539\u597d\u7a0b\u5e8f\u540e\u5e2e\u4f60\u628a\u6839\u672c\u4e0a\u7684\u9519\u8bef\u6ce8\u91ca\u4e0a\u4e86

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

const char *max(const char *x);

int main(void)
{
    char string1[1024] = {0};  //字符串1; 
    char string2[1024] = {0};  //字符串2; 
    
    printf("Input string1:"); 
    gets(string1);  //输入串1; 
    printf("Input string2:"); 
    gets(string2);  //输入串2; 

    char *newstr = (char*)calloc(strlen(string1) + strlen(string2) + 1, sizeof(char));  //创建一个刚好容纳两个串的新串; 
    
    if(!newstr)  //检查是否创建成功; 
    {
        printf("内存不足,程序结束!
");
        exit(1);    
    } 
    
    const char *m = max(string1);  //调用max函数取串1内最大元素的地址; 
    int i = 0;
    
    for(; &string1[i] != m; ++i)  //串1最大元素之前的内容放入新串; 
        newstr[i] = string1[i];
    
    newstr[i] = string1[i];  //串1最大元素放入新串; 
    strcat(newstr, string2);  //串2接入新串; 
    strcat(newstr, m + 1);    //串1最大元素之后的内容接入新串;    
    printf("The new string is %s
", newstr);  //输出新串; 
    free(newstr);  //释放内存; 
    newstr = NULL;    //放空指针; 
    return 0;
}

const char *max(const char *x)  //返回串中最大元素地址; 
{
    const char *m = &x[0];  //指向第一个元素; 
    
    for(int i = 1; x[i] != '\0'; ++i)  //循环到'\0'; 
        if(x[i] > *m)  //若比m当前指向的元素大, 
            m = &x[i];  //让m指向该元素地址; 
            
    return m;  //返回最大元素地址; 
}


//这么试试,我只大概写下思路:
char str1[250] = {0};
char str2[250] = {0};
int p=0;
int pos = 0;
while(1){
scanf("%s %s", str1, str2);
p=0;
while(str1[p]){
if(str1[pos]<str1[p]){
pos = p;
}
p++;
}
strcat(str2, str1+pos);
str1[pos] = 0;
strcat(str1,str2);
printf("%s\n", str1);
}

  • C璇█:浠庨敭鐩樿緭鍏ュ瓧绗︿覆A銆丅鍜屾暣鏁皀,灏咮鎻掑叆鍒癆鐨勪笅鏍噉澶;n>A闀垮害...
    绛旓細浠g爜鏂囨湰锛歩nclude "stdio.h"int main(int argc,char *argv[]){ char A[201],B[101],t[101];int i,j,k,n;printf("Please enter the two strings and integers n...\n");scanf("%100s%100s%d",A,B,&n);for(k=0;A[k];k++);//姹侫闀垮害 n = n<0 ? 0 : n>=k ? k ...
  • c璇█:杈撳叆涓や釜瀛楃涓,杈撳嚭杈冨ぇ鑰
    绛旓細char str1[100], str2[100];int result;printf("璇疯緭鍏ョ涓涓瓧绗︿覆锛");gets(str1);printf("璇杈撳叆绗簩涓瓧绗︿覆锛");gets(str2);result = strcmp(str1, str2);if (result > 0) { printf("杈冨ぇ鑰呮槸锛%s", str1);} else if (result == 0) { printf("涓や釜瀛楃涓茬浉绛");} ...
  • (C璇█),杈撳叆涓や釜瀛楃涓,灏嗙浜屼釜瀛楃涓叉彃鍒扮涓涓瓧绗︿覆涓,鎻掑叆浣嶇疆...
    绛旓細鐢ㄨ浜嬫湰鍐欑殑锛屼笉鐭ラ亾瀵瑰惁锛屾偍璇曡瘯锛乮nclude"stdio"#include"string.h"main(){char a[100],b[100];int i,n,m,k;printf("璇杈撳叆绗竴涓瓧绗︿覆(a):");gets(a);n=strlen(a);printf("鍦ㄨ緭鍏ヨ鎻掑叆鐨勫瓧绗︿覆(b):");gets(b);m=strlen(b);printf("璇疯緭鍏ヨ鎻掑叆鐨勪綅缃(k涓嶈兘瓒呭嚭瀛楃涓...
  • 浠庨敭鐩樿緭鍏ヤ袱涓瓧绗︿覆,灏嗗畠浠繛鎺ヤ负涓涓瓧绗︿覆,涓嶈兘鐢ㄧ郴缁熷嚱鏁皊trcat...
    绛旓細cout<<endl;cout<<"杈撳叆绗簩涓瓧绗︿覆:"<<endl;cin>>b;cout<<"绗簩涓瓧绗︿覆:"<<endl;for(int j=0;j<11;j++)cout<<b[j];cout<<endl;cout<<"杩炴帴涔嬪悗鐨勫瓧绗︿覆:"<<endl;for(int p=0;p<11;p++)cout<<a[p];for(int q=0;q<11;q++)cout<<b[q];cout<<endl;} 鎴戠敤C++鍋...
  • C璇█缂栧啓涓涓▼搴杈撳叆涓や釜瀛楃涓1鍜屽瓧绗︿覆2(涓や釜瀛楃涓查暱搴︿笉瓒呰繃20...
    绛旓細strDest++; //灏嗘寚鍚'\0'鐨勪笅涓涓綅缃/鎵浠ヨ鍦ㄥ惊鐜綋鍐++锛涘洜涓鸿鏄*strDest鏈鍚庢寚 } //鍚戣瀛楃涓鐨勭粨鏉熸爣蹇椻橽0鈥欍倃hile(*strDest++ = *strSrc++){ p++绛変环浜*(p++)銆傝嚦浜庝负浠涔堜細绛変环鍛紵鏍规嵁c璇█鐨勪紭鍏堢骇銆*涓++鐨勪紭鍏堢骇鍚屽鍦绗簩绾у埆涓娿備粬浠殑浼樺厛绾ф槸涓鏍风殑锛屽張鍥犱负澶勫湪...
  • 鐢c璇█鏉ュ啓!姹傚姪姹傚姪!1銆浠庨敭鐩樿緭鍏鍜b涓や釜鍊,鍐嶈緭鍏モ+鈥濇垨鑰呪*...
    绛旓細1.#include<stdio.h>int main(){int a,b,k;char c;printf("璇杈撳叆涓や釜鏁板瓧锛");scanf("%d %d",&a,&b);printf("璇疯緭鍏ヨ繍绠楃鍙凤細");scanf(" %c",&c);switch(c){case '+': k = a + b;printf("a+b鐨勫间负锛%d",k);break;case '*': k = a * b;printf("a*b鐨勫间负...
  • c璇█:缂栫▼瀹炵幇杈撳叆涓や釜瀛楃涓,杈撳嚭鍏朵腑杈冨皬鑰
    绛旓細input 2 string:\n"); scanf("%s%s",a,b); comp=strcmp(a,b); if(comp>0) printf("The bigger is %s\n",a); else if(comp<0) printf("The bigger is %s\n",b); else printf("%s=%s\n",a,b); getch();} ...
  • C璇█绋嬪簭浠庨敭鐩涓杈撳叆涓や釜瀛楃涓鑻ヤ笉鐩哥瓑灏嗙煭鐨勫瓧绗︿覆杩炴帴鍒伴暱鐨勫瓧绗...
    绛旓細*/ printf("new string : %s\n", str2);} else { strcat(str1, str2);printf("new string : %s\n", str1);} } 鎶 for(k=0;a[k]!=0;k++){ printf("%s",a[k]);} 鏀规垚 for(k=0;a[k]!=0;k++){ printf("%c",a[k]);} ...
  • c璇█浠庨敭鐩樿緭鍏ヤ袱涓瓧绗︿覆,灏嗙浜屼釜瀛楃涓茶繛鎺ュ埌绗竴涓瓧绗︿覆鐨勫悗闈...
    绛旓細1銆佹柊寤轰竴涓伐绋嬪拰.c鏂囦欢 锛杈撳叆澶存枃浠跺拰涓诲嚱鏁般2銆佸畾涔夊彉閲忕被鍨嬨3銆佽皟鐢╟py鍑芥暟銆4銆佸畾涔変竴涓嚱鏁帮紝骞跺畾涔夊彉閲忕被鍨嬨5銆佺敤涓涓狥or 璇彞鍜宨f璇彞鍒ゆ柇鏄惁涓哄厓闊炽6銆佹渶鍚庡姞涓涓瓧绗︿覆缁撴潫绗︼紝骞跺湪涓诲嚱鏁颁腑杈撳嚭銆7銆佺紪璇戙傝繍琛屽緱鍒版渶鍚庣粨鏋溿
  • 杈撳叆浜屼釜瀛楃涓瞐鍜b,鍒ゆ柇瀛楃涓瞓鏄惁鏄瓧绗︿覆a鐨勫瓙涓,鏄垯杈撳嚭b涓插湪a...
    绛旓細include<stdio.h> int p(char a[],char b[]){ int i=0,j=0,k=0;for(i=0;a[i];i++){ j=i;for(k=0;a[j]==b[k]&&b[k]&&a[j];j++,k++);if(!b[k])return ++i;} return -1;} int main(void){ char a[100],b[100];gets(a);gets(b);printf("%d\n",p(a...
  • 扩展阅读:c语言键盘输入字母 ... c语言两个字符串连接 ... 任意输入两个字符串 ... c语言怎么输入单词 ... c语言请输入一个字符 ... c怎么输入一串字符 ... c语言怎么从键盘输入 ... c语言基本输入与输出 ... c语言输入两个字符串比较大小 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网