编写一个c语言程序,输入字符串1和字符串2,如果字符串1包含字符串2,则返回值1,不包含则返回值0
#include#includeint main(){char s1[200],s2[200],s3[200]; int a,b,c,n=0; gets(s1); gets(s2); a=strlen(s1); b=strlen(s2); while(a-n>=b) {strcpy(s3,s1+n); s3[b]='\0'; if(strcmp(s2,s3)==0) {printf("%d
",n); return 0; } n++; } printf("Not found! %d
",n); return 0;}
说白了就是strcat
char *strcat(char *strDest, const char *strSrc) //将源字符串加const,表明其为输入参数
{
char *address = strDest; //该语句若放在assert之后,编译出错
assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的地址加非0断言
while(*strDest) //是while(*strDest!=’\0’)的简化形式
{ //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,那么strDest
strDest++; //将指向'\0'的下一个位置。/所以要在循环体内++;因为要是*strDest最后指
} //向该字符串的结束标志’\0’。
while(*strDest++ = *strSrc++)
{
*p++等价于*(p++)。至于为什么会等价呢?根据c语言的优先级。*与++的优先级同处在第二级别上。他们的优先级是一样的,又因为处在第二级别的优先级运算符是结合方向是从右到左,所以当出现*p++这样的表达式的时候,根据优先级别相同,并且结合方向是从右到左,所以就等价于*(p++)了。那么也就是,先将p指针移动到下个p指针所指向元素的地址的下一个地址,然后再对那个地址取值。(*p)++是取p所指向地址的值,然后再将这个值+1
NULL; //该循环条件内可以用++,
} //此处可以加语句*strDest=’\0’;无必要
//你的程序不说了,什么时候实现扫描每一个字符了?
#include "stdafx.h"
int fun(char str[20],char ch[20])
{
int i,j,k;
for(i=0;str[i]!=0;i++)
{
if(str[i]==ch[0])
{
k=1;
for(j=0;ch[j]!=0;j++)
{
if(str[i+j]!=ch[j])
{
k=0;
break;
}
}
}
if(k==1)
return 1;
}
return 0;
}
int main()
{
char str[20],ch[20];
int s;
printf("enter a string :");
gets(str);
printf("enter you want delete letter : ");
gets(ch);
s=fun(str,ch);
printf("%d",s);
return 0;
}
#include<iostream>
#include <cstdio>
using namespace std;
char fun(char str[20],char ch[20])
{ int i,j=0;
for(i=0;str[i]!='\0'&&ch[i]!='\0';i++)
if(str[i]==ch[i])j++;//我想让字符串1与字符串2作比较,然后相同时j就+1,这里貌似j从来不加.返回值永远都是0
if(j>=1)return 1;
if(j<=0)return 0;
}
int main()
{ char str[20],ch[20];
int s;
printf("enter a string :");
cin>>(str);
printf("enter you want delete letter : ");
cin>>(ch);
s=fun(str,ch);
printf("%d",s);
}
fun(str,ch)里面,str和ch表示的是你定义的字符串的首字母地址,是常数。你可以尝试用指针试试。还有for语句里面的"和关系"是“&&”,一楼给出了。。
你一直在判断两个字符串的相同位置,是有问题的。
另外,系统有自带的strstr函数
开发一个c语言程序要经过哪四个步骤
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、预处理:输入源程序并保存(.C文件)。2、编译:将源程序翻译为目标文件(.OBJ文件)。...
用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗?_百 ...
\/\/先使用编辑工具如windows的记事本或vc++环境,或linux的vim编辑器创建一个hello.c文件 \/\/打开文件后,如下 步骤写程序 include <stdio.h>\/\/首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数 \/\/接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,...
vs怎么创建c语言项目
在Visual Studio中创建C语言项目,可以按照以下步骤进行: 1.打开Visual Studio程序,点击“创建新项目”。 2.在新弹出的界面中,选择“C++”选项,因为C语言是基于C++的。 3.进入Visual Studio主界面后,在右边的“解决方案管理器”中找到“源文件”,右键点击并选择"添加”,然后选择“新建项”。 4.在弹出的窗口中,...
简述开发一个c语言程序的步骤
直到没有错误为止。3 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。4 运行。这个是最后一步,也是C语言的最终目的。在运行结果与期望不符时,需要检查原因,修改代码,重新执行1,2,3直到程序没有问题。
c语言的开发步骤有哪些
C语言程序开发的六个步骤,包括问题定义、算法设计、编码、调试、测试和维护。1、问题定义 在开始编写C语言程序之前,首先需要明确问题的定义和要求。这包括确定程序的输入和输出,分析问题的特点和约束条件,理解所需实现的功能。问题定义阶段还需要对问题进行分析和设计,确定解决问题所需的算法和数据结构。
如何用c语言写一个程序输入班级学号的内容?
下面是一个用C语言编写的程序,可以输入班级和学号的内容,并打印出来:c include <stdio.h> int main() { char class[20]; \/\/ 定义班级字符串,长度为20 int number; \/\/ 定义学号整数 printf("请输入班级:");scanf("%s", class); \/\/ 输入班级字符串 printf("请输入学号:");scanf("%d...
在计算机上运行一个C语言编写的程序,要经过怎样的处理过程
开发一个C语言程序需要经过的四个步骤:编辑、编译、连接、运行。C语言程序可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。1、编辑:输入源程序并保存(。C文件)。2、编译:将源程序翻译成目标文件(。OBJ文件)...
求一个c语言程序,将输入多少秒转化为几时几分几秒
include <stdio.h>int main(void){int a, b, c, d;printf("输入多少秒");scanf("%d", &a);b = a\/3600;a = a%3600; \/\/剩下秒数c = a\/60;d = a%60; \/\/剩下秒数printf("%d时%d分%d秒\\n", b, c, d);return 0;} ...
用C语言编写一个程序输出3到100间的素数
2013-04-27 编写一个程序,输出3~100之间的全部素数。 7 2013-04-18 C语言求解!3. 编写一个程序,输出100到500之间的所有... 3 2013-05-14 写一个C语言程序,输出3~100之间的全部素数,每行显示6个... 2012-06-25 c语言:请编程统计3到100之间所有素数的和,并输出。 1 2011-04-24 C语言编程:...
简述开发一个c语言程序的步骤是什么样的?
5 在运行结果与期望不符时,需要检查原因,修改代码,重新执行一二三直到程序没有问题。(1)语言简洁、紧凑灵活。二十八个关键字、九种控制语句,程序形式自由,运算符丰富。三十四种运算符。(2)数据类型丰富,具有现代语言的各种数据结构。(3)C程序的主要结构是函数,是完全模块化和结构化的语言。(4)允许...
月初施华: 说白了就是strcatchar *strcat(char *strDest, const char *strSrc) //将源字符串加const,表明其为输入参数{char *address = strDest; //该语句若放在assert之后,编译出错assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的...
淳化县18598832093: 编写一个C程序.输入一个字符串和一个字符.并从字符串中删除这个字符. - ?
月初施华: 咱又是这个?好的,相信我,这么简单的我不会错的,这次不用strchr()函数: #include#includeint main() { char str[256],new[256],ch; int i,j=0; printf("Input a string:"); gets(str); printf("Input a character:"); scanf("%c",&ch); for(i=0;i
淳化县18598832093: 输入一个字符串,计算其中所有数字字符所代表数字的和.(编C程序) - ?
月初施华: #include<stdio.h> #define SIZE 80int main() {char str[SIZE];int index, sum = 0;printf("Input a string:\n");scanf("%s", str); for( index = 0; str[index] != '\0'; ++index ){if ( str[index] >= '0' && str[index] <= '9' )sum += ( str[index] - '0' );} printf("The result is %d", sum);return 0; }
淳化县18598832093: C语言:编写程序从键盘上输入一个字符串和一个字符,实现从字符串中删除该字符. - ?
月初施华: void delchar(char *src,char *dst,char c) { while(*src!='\0') { if (*src!=c) *dst++=*src++; else src++; } *dst='\0'; } void main() { char *s = new char[20]; char *d = new char[20]; char c; scanf("%s %c",s,&c); printf("src:%s\n",s); delchar(s,d,c); printf("dst:%s\n",d); }
淳化县18598832093: C语言编程 由键盘任意输入一个字符串和任一个字符,要求从该字符串中删除所指定的字符 - ?
月初施华: #include <stdio.h>int main(void) {int i, j = 0;char ch;char str[100]; printf("请输入字符串:\n");scanf("%s", str); printf("请输入一个字符:\n");scanf(" %c", &ch); for (i=0; str[i]!='\0'; i++){if (str[i] != ch){str[j++] = str[i];}}str[j] = '\0'; printf("%s\n", str); return 0; }
淳化县18598832093: 用c语言编写程序,输入任意一串字符,再输入一个字符和一个位置,将此字符插入到此串字符的这个位置上. - ?
月初施华: #include <stdio.h>#include <string.h>#include <stdlib.h> int main(void) { int l, len; char ch, a[100]; printf("请输入原始字符串:\n"); gets(a); printf("输入字符:\n"); scanf("%c", &ch); char temp; while((temp=getchar()) != '\n' && temp != ...
淳化县18598832093: 编程问题:用户输入一个字符串,获得字符串中数字的和 - ?
月初施华: #include<stdio.h> #include<conio.h> #include<dos.h> int main() { char ss[100]={0,}; int i; int t=0; scanf("%s",ss); for (i=0; ss[i] !=0;i++) { if (ss[i]>='0' && ss[i] <='9') t += ss[i]-'0'; } printf("\nt=%d",t); getch(); return 0; }
淳化县18598832093: C语言上中怎么样直接输入输出一个字符串 - ?
月初施华: C语言中字符串的输入和输出主要有两种方式: 输入使用:scanf("%s",a);对应的输出使用:printf("%s\n",a); 输入使用:gets(b);对应的输出使用:puts(b);字符串或串(String)是由数字、字母、下划线组成的一串字符.一般记为 s=...
淳化县18598832093: 编一个C程序 - ?
月初施华: #include <string.h>#include <stdio.h> void main() { char s1[100],s2[100],s[100]; int i=0,k=0; printf("输入第一个字符串");gets(s1); printf("输入第一个字符串");gets(s2); while(i<strlen(s1) && i<strlen(s2)) { if(s1[i]>=s2[i]) { s[k]=s1[i]; k++; } i++; } s[k]='\0';printf("%s\n",s); }
淳化县18598832093: 用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)); ...