关于C语言编写程序存放一串的字符串String.输入字符串1字符串2,将字符串String中的字符串1替换成字符串2
首先要知道字符串二的长度n,并且要确定字符串一里面有(不然删什么。。。),然后遍历字符串一的字符找到字符串二的开始字符在字符串一里面的位置s,然后令结束位置e=s+n;最后从e到字符串一的最后一个字符复制到s后面就行了!
具体怎么找到开始位置可以参照KMP算法
#include int func1(char *d, char *s){ int i; for(i = 0; s[i]; i++) d[i] =s[i]; d[i] = 0; return i;}int func2(char *d, char *s){ char *p = d; while(*s) { *p++=*s++; } *p = 0; return p-d;}int main(){ int i; char s[100],p[100]; while(1) { int l; printf("input a string:"); scanf("%s",s); printf("input select: 1,method 1; 2,method 2; other, quit
"); scanf("%d",&i); if(i == 1) l = func1(p, s); else if(i == 2) l = func2(p, s); else break; printf("%s:%d
", p, l); } return 0;}
#include <string.h>
void main(void)
{
char GetStr[100];
char SendStr[100];
char a_b[100];
char i;
printf("please input the firs str!\n");
gets(GetStr);
printf("please input the second str !\n");
gets(SendStr);
strcpy(a_b,GetStr); //交换两个字符串的数据
strcpy(GetStr,SendStr);
strcpy(SendStr,a_b);
for(i = 0; Getstr != '\0'; i++)
{
printf("str1:%c",GetStr[i]);
}
for(i = 0; Getstr != '\0'; i++)
{
printf("str2:%c",SendStr[i]);
}
}
这是将两个字符串进行交换后输出。
第二个问题则用到了数据结构了,使用一个结构体链表,使用strcmp()或strcmpi()比对你输入的字符串,找到相同的输出对应的中文字符串就好了。
其中:
strcmp() 对两个字符串进行大小写敏感的比较;strcmpi() 对两个字符串进行大小写不敏感的比较;
这点分,回答第一个好了:
char *a="hello" ; char *b="world";
strcpy(a,b);
头文件string.h
C语言编程的内存布局
C语言编程程序的内存如何布局 C语言程序连接过程中的特性和常见错误 C语言程序的运行方式 一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机...
编写好一个C语言程序,如何把数据一直保存下来
用数组保存。定义一个数组。如:int a[6]={1,2,3,4,5,6};然后输出 for(i=0;i<6;i++){ printf("%d",a[i]);} 代码如下:include<stdio.h> int main(){ int a[6]={1,2,3,4,5,6};int i;for(i=0;i<=5;i++)printf("%d\\n",a[i]);} ...
c语言编写程序时的注意事项
1. 编写规范:要遵守C语言的编程规范,如变量命名规范、缩进、注释等。编写规范的代码易于维护和理解,且可以提高代码质量。2. 内存管理:C语言中需要手动管理内存,包括内存分配、释放等。要注意内存泄漏和指针错误等问题,避免程序崩溃或数据损坏等情况。3. 安全性:C语言对数据的边界检查并不严格,容易...
怎么生成exe文件
1. 在C语言开发环境中编写完成程序代码。2. 将程序代码保存为.c文件,保存至本地文件夹中。3. 通过开发环境中的编译器,将程序代码编译成可执行文件exe。4. 编译完成后,在开发环境中查找生成的exe文件,并将其保存至本地文件夹中。5. 若需在其他计算机上运行该程序,则需要将exe文件复制到该计算...
如何用C语言编写程序,将负数转为正数?
用C语言编写程序,将负数转为正数,可以使用函数abs(),当然根据简单的“负负得正”,也可,以下是一个简单的C语言程序:在这个程序中,我们首先定义了一个整型变量num,用于存储用户输入的整数。然后,我们使用scanf函数从用户处获取一个整数,并将其存储在num变量中。接下来,我们检查num的值是否小于0...
用c语言编写的程序被称为
用c语言编写的程序被称为源程序。C语言是一种编程语言,是其中最重要和最基础的语言之一。它是由贝尔实验室的Dennis Ritchie在1970年代初开发的,并于1972年首次应用于UNIX操作系统的开发。C语言具有强大的控制能力,支持面向对象、结构化、指针和动态内存分配等特性。C语言是非常流行的编程语言,被广泛...
怎么编写C语言程序,如:Helloworld的?
1、点击确定即可,创建出一个helloworld.c的小程序,然后我们就可以编写我们的Hello World小程序了。此时就需要我们的VC++ 6.0来编译此程序,编译无错误才运行此程序,编译按钮和运行按钮如下图的红色箭头处:2、或者可以点击组建工具栏下的编译菜单项,然后再点击执行菜单项,也有快捷键,按Ctrl+F7编译...
用C语言编写程序,使得一维整型数组的20个元素保存在10×2的二维数组中...
我是假定20个元素能保证 一半是偶数,一半是奇数 include <stdio.h> int main(){ int a[20] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};int b[10][2];int i,j,k;j = 0;k = 0;for(i=0; i<20; i++){ if(a[i]%2==0) \/\/如果是偶数,存放...
用C语言编写的程序,执行结果是多少?
程序输出的结果为a=11,b=13。程序的执行过程:首先定义了a的值为12,b的值为12,然后执行我们的输出语句,我们输出的不是a和b的值,而是表达式“--a”和表达式“++b”的值,因为前缀的“++”和“--”都是先进行加一或者减一的操作,再输出。所以说“--a”输出的结果为11,“++b”输出的...
用C语言编写程序:将随机生成1到20的50个随机数存在数组中,然后找出最...
include <stdio.h>#include <stdlib.h>#include void sort(int a[],int n) {int i,j,k,t;for(i = 0; i < n - 1; ++i) {k = i;for(j = i + 1; j < n; ++j) {if(a[k] > a[j]) k = j;}if(i != k) {t =a[i];a[i] = a[k];a[k] = t;}}}i...
拱罡永适: //#include<stdio.h> //c里面这个 #include<string.h> #include<stdlib.h> #include<iostream> //c++用这个头文件 using namespace std;//c++ 和c改改好简单.自己改下啊..加这个. void change(char *a) { char *p,*q,temp; int len,i; ...
阳新县13472336112: C语言编程,输入字符串保存进一文件中 - ?
拱罡永适: errno_t fopen_s( FILE** pFile, const char *filename, const char *mode ); FILE * fopen(const char * path, const char * mode); 不多说了 (还是补充吧,errno你应该知道是啥吧, errno.h里面的东西) 你应该判断fp是否为NULL
阳新县13472336112: C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出 - ?
拱罡永适: #include <stdio.h> #include <string.h> void reverse(char* str) {char* p = str + strlen(str)-1;char temp;while(str<p)temp=*p, *p--=*str, *str++=temp; } void main() {char str[1000];gets(str);reverse(str);printf("%s\n", str); }
阳新县13472336112: C语言程序设计:编写程序,将一个字符串存放在数组中,并按逆序输出. - ?
拱罡永适: 反序字符串,只需要将首尾字符依次调换即可.#include <stdio.h>#include <string.h>// 反序字符串x并返回 char* reverse(char *x) { int len = strlen(x); int i, n = len / 2; char tem; for (i = 0; i <= n; i++) { tem = x[i]; x[i] = x[len - 1 - i]; x[len - 1 - i] = tem; } ...
阳新县13472336112: 用C语言编写一个有关字符串的程序程序 - ?
拱罡永适: #include <iostream>#include <fstream>#include <cstring>#include <iomanip> using namespace std; int CountFrequency(const char *Input,const char *Output,double *Frequency){char ch=0; int Set[26],count(0),i=0; memset(Set,0,26*sizeof(int)); ...
阳新县13472336112: C语言编程使得输入的字符串反序存放 - ?
拱罡永适: #include <stdio.h>#include <math.h> int main() {int enter(char str[]); int change(char str[]); int print(char str[]); char str[80]; enter(str); change(str); print(str); return 0; } int enter(char str[80]) {gets(str); return 0; } int change(char str[80]) {char str1[80]; int i; ...
阳新县13472336112: c语言中,输入一串字符,然后分别存放输出数字,字母,其他,怎么用函数表示啊 - ?
拱罡永适: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26/*输入一串字符,然后分别存放输出数字,字母,其他*/ #include<stdio.h> #define N 80 intmain(void) {voidmyString(char*str,char*ch,char*num,char*other);charstr[N],ch[N],...
阳新县13472336112: C语言编程:将字符串中的各字符逆序存放 - ?
拱罡永适: #include int main(void) { char s1[256],s2[256]; int i,j=0; gets(s1); for(i=strlen(s1)-1;i>=0;i--) { s2[j++]=s1[i]; } puts(s2); return 0; } 这样就把字符串s1倒序存放去s2了,输出了s2.
阳新县13472336112: C编程;写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串 - ?
拱罡永适: 第二种方法: #include #include main() {int n=0,i,m; char a[200],temp; gets(a); n=strlen(a); m=(n-1)/2; for(i=0;i
阳新县13472336112: 你好!请问用C语言编写程序,使用指针实现将字符串中字符逆序存放. - ?
拱罡永适: #include#include void reversestr(char *s) { int i,j; char c; j=strlen(s); for(i=0;i { c=s[i]; s[i]=s[j-1-i]; s[j-1-i]=c; } } int main(void) { char s[100]; gets(s); reversestr(s); printf("%s\n",s); return 0; }