c++编程:输入一个字符串,输入一个字符串里面的字符,在串中查找并删除

作者&投稿:廖所 (若有异议请与网页底部的电邮联系)
编写程序输入一个字符串,删除字符串中的所有数字字符,然后输出此字符串。~

不知道是什么语言
不过都可以写函数判断,做个函数,输入字符串,输出修改后的字符串
然后函数里有一个字符串变量,用来存输出的结果
判断输入串的长度,从1到这个长度循环,没循环一次,输入的这个字符串就截掉以为,这样每个循环里面就可以都取这个串的第一位了,判断这位是不是数字,有的语言有函数可以判断,如果没有,那直接判断这个字符值是不是等于 0 - 9 当中的任何一个,麻烦点。如果不是数字,则把这个字符赋给新定义的变量,这个变量是一直累加的。最后循环结束,这个变量就是最终输出的值了。

#include
#include

using namespace std;

int main()
{
char str[100],ans[100],ch;
while(scanf("%s %c",str,&ch)!=EOF)
{
int i,len=strlen(str);

for(i=0;i<len;i++)
if(str[i]==ch) str[i]=-1;

int index=0;
for(i=0;i<=len;i++)
if(str[i]!=-1) ans[index++]=str[i];

printf("%s
",ans);
}
return 0;
}


例如输入 asdf a
输出sdf

还有问题欢迎继续提问

#include "stdio.h"
#include "string.h"
void main()
{
char a[100],b[100],c[100],y,*p=b;int n1,n2,i,j;
scanf("%s",b);
n1=strlen(b);
printf("要查找的字符:\n",a);
scanf("%s",a);
n2=strlen(a);
for(i=0;i<n1,putchar(*p);i++)
{ for(j=0;j<n2;j++)
c[j]=b[i+j];
c[n2]='\0';
if(strcmp(c,a)==0)
{
p=&p[n2];
printf("\b");}
else
p++;

}
}//由于我能力有限,只做了一个有就删除的,不能提示,但主要功能还在。给你。

#include<iostream>
#include<string>
using namespace std;
int main()
{
string str,str2,sgn;
size_t ps=0;
cin>>str>>str2;
if((ps=str.find(str2))==string::npos)
cout<<"not find it"<<endl;
else{
cout<<"do you want to erase it"<<endl;
cin>>sgn;
if(sgn=="y"||sgn=="Y")
str.erase(ps,str2.size());
}
cout<<str<<endl;
}

吕姗33你好!
A //找出所有最短单词 #include <iostream> #include <vector> using namespace std; int main() { char str[256]; int min = 256; gets(str); int i,k=0,len=0; char c; vector<int>wordlen; vector<int>wordstart; for (i=0;i<strlen(str);i++) { c = str[i]; if(c >='a' && c<='z' || c >='A' && c<='Z' || c >='0' && c<='9')len++; else { if(len <= min && len != 0) { min = len; wordlen.push_back(len); wordstart.push_back(i - min); } len = 0; } } //处理最后一个单词 if(len <= min && len > 0) { min = len; wordlen.push_back(len); wordstart.push_back(i - min); } for(i = 0; i < wordlen.size(); i++) { if( wordlen[i] == min) { for( k = wordstart[i]; k<wordstart[i]+min; k++)cout<<str[k]; cout<<endl; } } return 1; }

没错,他是只能接收一个字符,但是因为你是在while里面循环,如果但他没有收到换行符时,他是会不断接收下一个字符的。
while
((c=getchar())!='\n'
)
//就是这个换行符
{
}

如果你想验证我的说你可以把上面的代码改成这样,当你输入3时他就不会收下个字符了。

while
((c=getchar())!=3
)
//就是这个换行符
{
}


c语言,编程题 输入一个以秒为单位的时间值,将其转换为“时:分:秒...
include <stdio.h> main(){ char s[24];int sec;scanf("%d", &sec);s2hms(s,sec);printf("%s\\n",s);}s2hms(char* str, int sec){ int h,m,s;h = sec\/3600;m = sec\/60 - 60* h;s = sec - 3600* h - 60*m;sprintf(str,"%d:%d:%d",h,m,s);} ...

java编程题目:编写一个程序,输入一个三位正整数,输出个、十、百位数字...
private static void init(){int x=233;chaiFen(x);}\/\/拆分!private static void chaiFen(int x){\/\/这个方法很简单,只是针对百位数字来说的,如果是多位我建议你用数组和循环;\/\/不管多少位都可以成功做出来!int a=0,b=0,c=0;\/\/个十百!a=x%10;\/\/个位!b=x\/10%10;\/\/十位!c=x\/100...

编程实现:从键盘输入一个字符,并将输入字符的ASII码显示在屏幕上,若输...
; 功能:输出一个字符 ; 入口:dl=要显示的字符 Enter_Chr proc Near push ax mov ah,02h int 21h pop ax ret Enter_Chr endp ; --- ; 功能:取光标位置 ; 入口:无 ; 出口:DH=行号,DL=列号 GetCursor Proc Near PUSH AX PUSH BX PUSH CX XOR BX,BX MOV ...

输入一个任意整数,将其个位输出。 输入格式: 直接输入一个整数,没有...
include <stdio.h> #include <stdlib.h>int main() { char c[1024]; printf("请输入一个整数:\\n"); scanf("%s", c); int i = 0,j=0; while (c[i] != '\\0') { if (c[i] == '-') { printf("不能输入负数,请重新输入...\\n"); scanf("...

C语言编程题在屏幕上输入一个字符串和一个要插入的字符
直接看代码:include<stdio.h>#include<string.h>void main(){char str[100],str_new[100],t;char *p=str;int at=0;puts("输入字符串:");gets(str);puts("要插入的字符:");t=getchar();\/*.输入的字符被存放在键盘缓冲区中.直到按回车为止(回车字符也放在缓冲区中);其他字符会保留在...

c语言编程题!字符串复制。输入一个字符串,把它复制到一个字符数组中,并...
include <stdio.h> int main(){ char a[100] = "\\0",b[100] = "\\0";int i = 0;printf("输入一行字符:\\n");scanf("%s",a);for(i = 0;a[i] != '\\0';i++){ b[i] = a[i];} printf("%s\\n",b);return 0;} ...

VB编程问题:程序运行时,在文本框text1中输入1个字符串,单击命令按钮com...
1、首先,在窗体上面添加一个文本框。2、单击文本框,在属性窗口设置文本框的属性,清空文本内容,将文本框的enabled属性设置为False。3、双击“提取信息”命令按钮,编写程序的代码,如下图所示。提取信息时,需要使用截取字符串相关的函数,如Left,Right,Mid等。本题还需要使用InStr函数查找字符。4、双击...

编程实现:从键盘任意输入一个三位正整数,将该数分解成个位、十位、百 ...
include<stdio.h> int main(){ int n,k=0;int a[11]={0};scanf("%d",&n);while(n){ a[k++]=n%10;\/\/提取各个位上的数,储存在数组a中 n\/=10;} for(int i=0;i<k;i++)\/\/冒泡排序 for(int j=0;j<k-i-1;j++)if(a[j]>a[j+1]){ int t;t=a[j];a[j]=a[...

编程题:键盘输入一个字符串,然后键盘输入整数n,编写函数fun,将字符串...
);} 方法二:void fun( char *pstr, int steps ){ int n = strlen( pstr ) - steps;char tmp[max_len];memncpy( tmp, pstr + n, steps );memncpy(pstr + steps, pstr, n );memncpy(pstr, tmp, steps );} 主函数 输入 我相信楼主自己应该能解决,只是写了方法 。求分!!!

1. 输入一个5行5列的二维数组,编程实现: (1) 求出其中的最大值和最...
定义二个变量,一个用来暂存较大值,一个用来暂存较小值,初值为第一个值,然后用循环与数组中的值对比,对比结束后,一个就是最大值,第二个就是最小值,行列位置也用变量暂存在对比过程中获得.千万不要要求代码。网上很多人都要求源代码,思路给了也不愿意自己写,如果这点工夫就不愿下,技术是不会...

莲花县15345986691: C++:输入一个字符串,输入一个字符,然后去掉字符串中的该字符,并输出去掉字符后的字符串 -
吁孔盐酸: Please input a string:abcsda-as please input the key want to delete:a bbcsd--ss Press any key to continue#include <iostream> using namespace std; main() { int i,j,nLen; char str[100]="\0",key; cout<<"Please input a string:"<<endl; cin>>str; ...

莲花县15345986691: 编写C++风格程序,输入一个字符串,将其中的字符按逆序输出.如输入LIGHT,输出THGIL.要求使用string方法 -
吁孔盐酸: #include<iostream> using namespace std; int count(string list[]) {for (int i=0;i<100;i++){if(list[i]='\0'){return i;}} } string changearry(string arry[],int j) {string t;for(int a=0;a<j/2;a++){t=arry[a];arry[a]=arry[j-a];arry[j-a]=t;}cout<<"倒换后的数...

莲花县15345986691: C++输入一个字符串,串内有数字和非数字字符求整数 -
吁孔盐酸: #include<iostream> #include<sstream> #include<iterator> #include<vector> #include<algorithm> using namespace std; bool f(int c){return !isdigit(c);} size_t extract(string s, vector<int> &v){replace_if(s.begin(), s.end(), f, ' ');istringstream iss(s, ...

莲花县15345986691: C++从键盘输入一个字符串 -
吁孔盐酸: 你new了一个指针对象,没有用delete释放,会发生内存泄露 你分配的空间大小只有1个字符,这样就没有空间放结束符了. 你可以参考下面的写法. #include using namespace std; int main() { char str[10] = {0}; cin>>str; cout<< return 0; }

莲花县15345986691: C++程序: 输入一字符串,统计其中整数的个数并对其分别求值. -
吁孔盐酸: 展开全部#include using namespace std main(){ char str[100]; cin>>str; int len=strlen(str); int i; int sum=0; for(i=0;i { while(str[i]>='0'&&str[i]<='9') sum=sum+(int)str[i]; } }

莲花县15345986691: 用c++编写输入一个字符串只保留其中的数字字符和字母字符的程序 -
吁孔盐酸: #include using namespace std; int main(int argc, _TCHAR* argv[]) { char src[100]; char dest[100]; int i = 0, j = 0; cin >> src; while (src[i++] != '\0') { if ((src[i] < 'Z' && src[i] > 'A') || (src[i] < 'z' && src[i] > 'a') || (src[i] < '9' && src[i] > '0')) { dest[j++] = src[i]; } } dest[j] = '\0'; cout << dest; }

莲花县15345986691: 如何输入一个字符串在C++ -
吁孔盐酸: c++可以使用如下方式输入字符串: 方式一,使用cin>>操作符输入:#include using namespace std; void main() { char s[50];//字符数组,用于存放字符串的每一个字符 cout<<"Please input a string"< cin>>s; cout<<"The string you input is"...

莲花县15345986691: C++中输入一个字符串并将其逆序输出,怎么编程? -
吁孔盐酸: #include using namespace std; int main(int argc,char** argv){ char text[512]={0}; cout<<"请输入一字符...

莲花县15345986691: c++编程,读入一个以字符串表示的非负整数(串中每个字符代表一个数字),输出该整数加一后的结果. -
吁孔盐酸: 这,好吧 代码正确: #include <iostream> #include <string> #include <math.h> using namespace std; int main() { char s[128]; int ns=0; cout<<"输入一串数字:\n"; cin.getline(s,128); for(int i=0;i<string(s).size();i++) ns+=pow(10,(string(s).size()-i-1))*(s[i]-48); cout<<ns<<"\n";}

莲花县15345986691: C++编程:输入一个字符串 把其中的字符按逆序输出 如输入LIGHT 输出THGIL. (1)用字 -
吁孔盐酸: #include #include #include #include using namespace std; int main() { char ch[100]; string str; printf("请输入一个字符串:\n"); cin >> ch; str = ch; //字符数组方法 printf("字符数组方法\n"); for (int i = strlen(ch)-1; i >= 0; i--) printf("%c",...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网