C语言 将两个字符数组的内容连接后存放到另一个字符数组中 使用gets()输入字符串给字符数组,统计字符数组 35

将两个字符数组的内容连接后存放到另一个字符数组中使用gets()输入字符串给字符数组,统计字符数组中某个字符的个数C语言... 将两个字符数组的内容连接后存放到另一个字符数组中
使用gets()输入字符串给字符数组,统计字符数组中某个字符的个数

C语言
展开
 我来答
451006071
2012-07-12 · TA获得超过1332个赞
知道小有建树答主
回答量:368
采纳率:57%
帮助的人:330万
展开全部
#include <stdio.h>
#include <string.h>
char s1[256];
char s2[256];
char s3[512];//s3=s1+s2
int main()
{
int i,sum=0;
char tmp;//要统计的字符

printf("请输入s1,s2:\n");
gets(s1);//输入字符串s1,s2
gets(s2);
//将s1的字符串复制到s3中
strcpy(s3,s1);
//将s3与s2相连接,可以理解为:s3=s1+s2
strcat(s3,s2);
// printf("s3=\"%s\"\n",s3);
printf("请输入要统计的字符:");
tmp=getchar();
for(i=0;i<strlen(s3);i++)
{
if(s3[i]==tmp) sum++;
}
printf("\"%c\"出现的次数: %d\n",tmp,sum);
return 0;
}

不知道楼主的要求我基本用库函数写的,不知道符不符合要求,不懂得恳请在提问
xoalyg
2012-07-02 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2383万
展开全部
/*
s1 = Visaul stuio 2010
s2 = Visual C++ 6.0
"Visaul stdio 2010Visual C++ 6.0" + "Visual C++ 6.0" = "Visaul stuio 2010Visual C++ 6.0"
要统计上面的字符串中的字符 c = 0
Visaul stdio 2010Visual C++ 6.0中共有3个字符0。
Press any key to continue
*/
#include <stdio.h>
char *mystrcat(char *s1, char *s2) { // s1 + s2 => s1
char *p1 = s1,*p2 = s2;
while(*p1) ++p1;
while(*p1++ = *p2++);
return s1;
}
int countch(char *s, char c) { // 返回出现在s中的字符c的个数
int count = 0;
char *p = s;
while(*p) {
if(*p == c) ++count;
++p;
}
return count;
}
int main() {
char s1[81],s2[81],ch;
printf("s1 = ");
gets(s1);
printf("s2 = ");
gets(s2);
printf("\"%s\" + \"%s\" = \"%s\"\n",s1,s2,mystrcat(s1,s2));
printf("要统计上面的字符串中的字符 c = ");
fflush(stdin);
scanf("%c",&ch);
printf("%s中共有%d个字符%c。\n",s1,countch(s1,ch),ch);
return 0;
}
追问
要存放到另外一个 数组里面  不是 存放到 S1
追答
没看明白你的追问,s1和s2都是数组呀!难倒希望存放到另一个数组中?
char *mystrcat(char s[],char *s1, char *s2) { // s <= s1 + s2
char *p = s,*p1 = s1,*p2 = s2;
while(*p++ = *p1++);
while(*p++ = *p2++);
return s;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-01
展开全部
int main()
{
char s1[50],s2[50],s3[100],c;
int i=0,count=0;
memset(s1,0,sizeof(si));
memset(s2,0,sizeof(si));
memset(s3,0,sizeof(si));
printf("input string1:\n");
gets(s1);
printf("input string2:\n");
gets(s2);
sprintf(s3,"%s%s",s1,s2);
printf("s3 is %s\n",s3);
printf("input letter:");
c=getchar();
for(i=0;i<strlen(s3);i++)
{
if(s3[i]==c) count++;

}
printf("%c is:%d",c,count);

}
没编译 你自己试试吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式