
各位C语言高手,麻烦能帮我把下面这个问题编出程序来:
“输入一个字符并存放在变量ch中,然后在字符串‘dafgas’中查找这个字符,若能找到则将这个字符从字符串中删除后再输出字符串,否则输出‘cannotfing!’”。以上...
“输入一个字符并存放在变量ch中,然后在字符串‘dafgas’中查找这个字符,若能找到则将这个字符从字符串中删除后再输出字符串,否则输出‘can not fing!’”。
以上就是整题了,小弟真诚希望各位大虾能帮帮我,编好程序后发在百度上也可,最好发我邮箱:zb723600@yahoo.com.cn 谢谢各位!!! 展开
以上就是整题了,小弟真诚希望各位大虾能帮帮我,编好程序后发在百度上也可,最好发我邮箱:zb723600@yahoo.com.cn 谢谢各位!!! 展开
3个回答
展开全部
#include "stdio.h"
#include "conio.h"
/*从字符串的左边截取n个字符*/
char * left(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
/*p += (len-n);*/ /*从右边第n个字符开始*/
while(n--) *(q++) = *(p++);
*(q++)='\0'; /*有必要吗?很有必要*/
return dst;
}
/*从字符串的右边截取n个字符*/
char * right(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
p += (len-n); /*从右边第n个字符开始*/
while(*(q++) = *(p++));
return dst;
}
main()
{
char str1[]="dafgas";
char *temp,*tempstrL,*tempstrR,*result;
char ch;
int i,len;
len=strlen(str1);/*计算str1的长度*/
ch=getch(); /*输入一个字符*/
temp=strchr(str1,ch);/*查测ch字符所在的位置*/
if(temp==NULL)
{
printf("Can not find\n");
getch();
}
else
{
i=temp-str1;/*计算出ch在str1中是第几个字符*/
left(tempstrL,str1,i); /*取ch左边的的字符串*/
right(tempstrR,str1,len-i-1); /*取ch右边的的字符串*/
result=strcat(tempstrL,tempstrR);/*将左右子串连接*/
printf("%s\n",result); /*输出结果*/
getch();
}
}
#include "conio.h"
/*从字符串的左边截取n个字符*/
char * left(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
/*p += (len-n);*/ /*从右边第n个字符开始*/
while(n--) *(q++) = *(p++);
*(q++)='\0'; /*有必要吗?很有必要*/
return dst;
}
/*从字符串的右边截取n个字符*/
char * right(char *dst,char *src, int n)
{
char *p = src;
char *q = dst;
int len = strlen(src);
if(n>len) n = len;
p += (len-n); /*从右边第n个字符开始*/
while(*(q++) = *(p++));
return dst;
}
main()
{
char str1[]="dafgas";
char *temp,*tempstrL,*tempstrR,*result;
char ch;
int i,len;
len=strlen(str1);/*计算str1的长度*/
ch=getch(); /*输入一个字符*/
temp=strchr(str1,ch);/*查测ch字符所在的位置*/
if(temp==NULL)
{
printf("Can not find\n");
getch();
}
else
{
i=temp-str1;/*计算出ch在str1中是第几个字符*/
left(tempstrL,str1,i); /*取ch左边的的字符串*/
right(tempstrR,str1,len-i-1); /*取ch右边的的字符串*/
result=strcat(tempstrL,tempstrR);/*将左右子串连接*/
printf("%s\n",result); /*输出结果*/
getch();
}
}
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
char ch;
char *str = "dafgas";
int i;
int len = strlen(str);
scanf("%c", &ch);
int flag = 0;
for (i=0; i<len; i++) {
if (str[i] == ch) {
printf("%s\n", str+i+1);
flag = 1;
}
}
if (flag == 0) {
printf("can not fing!\n");
}
exit( 0 );
}
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
char ch;
char *str = "dafgas";
int i;
int len = strlen(str);
scanf("%c", &ch);
int flag = 0;
for (i=0; i<len; i++) {
if (str[i] == ch) {
printf("%s\n", str+i+1);
flag = 1;
}
}
if (flag == 0) {
printf("can not fing!\n");
}
exit( 0 );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string str = "dafgas";
char ch;
scanf("%c",&ch);
int i = 0;
int count = 0;
while(i < str.length()){
char c = str.substring(i,i+1);
char c = str.charAt(i);
//上面两个是取出单个的字符,可能有误,我忘了,自己试着办
if(c == ch){
str = str.remove(i);//删除该字符
count = 1;
break;//若找到有该字符则退出
}
i++;
}
if(count == 0){
printf("%s","没有找到");
}
//抱歉!由于本人已一年没接触c了,可能许多地方有误,还请见谅!!!
char ch;
scanf("%c",&ch);
int i = 0;
int count = 0;
while(i < str.length()){
char c = str.substring(i,i+1);
char c = str.charAt(i);
//上面两个是取出单个的字符,可能有误,我忘了,自己试着办
if(c == ch){
str = str.remove(i);//删除该字符
count = 1;
break;//若找到有该字符则退出
}
i++;
}
if(count == 0){
printf("%s","没有找到");
}
//抱歉!由于本人已一年没接触c了,可能许多地方有误,还请见谅!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询