① 寻找一个c语言程序:从输入中过滤字符串
可以直接定义一个字符类型,然后用gets(),从键盘得到这个字符串,再这个字符串进行遍版历解析权
下面提供一个例子:从键盘输出一串字符并且输出其中的数字
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(void){
charstring[100];
inti;//循环变量
gets(string);
for(i=0;i<strlen(string);i++){
if((string[i]>='0')&&(string[i]<='9')){//判断每个字符是否是0~9直接的数
printf("%c",string[i]);//是数字的话直接打印
}
}
puts("");
puts("end");
returnEXIT_SUCCESS;
}
② 帮改下错误关于输入一个字符串,过滤此串,滤掉字母字符,并统计新生
||这不是废话吗……
azAZ的编码分别是97 122 65 90
根据你的代码(*(ptr+i)>='z'|| *(ptr+i)<='a'||*(ptr+i)>='Z' || *(ptr+i)<='A'),也就是说要版比122大或比97小,但是,在这权里被排除的a-z(97-122)都大于等于Z!
同理,A-Z都小于等于a……
应改为((*(ptr+i)>='z'&& *(ptr+i)<='a')||(*(ptr+i)>='Z'&&*(ptr+i)<='A'))
另外,一般来说函数必须放在main的上面,而且for(i=0,j=0;*(ptr+i)!="\0";i++) 中的双引号应该改成单引号……
③ C++程序设计:从考试文件夹下的文件“data.txt ”中读入一个字符串,过滤此串,只保留串中的字母字符
#include<iostream>
#include<fstream>
#include<string>
usingnamespacestd;
intmain()
{
fstreamfile1("data.txt",ios::in),file2("example1.cpp",ios::out);
stringdata;
stringresult;
file1>>data;
for(inti=0;i<data.size();i++)
if(isalpha(data[i]))
result+=data[i];
cout<<result<<"size:"<<result.size()<<endl;
file1.close();
file2<<result;
file2.close();
}
④ C#编程 输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。
string s = "fds23jfdslf323";
string newStr = "";
for(int i = 0; i < s.Length; i++)
{
int tmp = (int)s[i];
if((tmp >= 65 && tmp <= 90) || (tmp >= 97 && tmp <= 122))
{
newStr += s[i];
}
}
最后可以用newStr.Length 来获取新字符串的字母个数,因为这个字符串中,肯内定全是字母啦容。
⑤ 任意输入一个字符串和字符,要求从该字符串中删除指定字符
#include <iostream>
using namespace std;
int main()
{
char c[100],x;
char *a=c;
cin>>c;
cout<<"输入抄要删除的袭东西\n";
cin>>x;
for(;*a;a++)
if(*a==x)
{
for(int i=0;*(a+i);i++)
*(a+i) = *(a+i+1);a--;
}
cout<<c;
}
}
这样可以完成删除指定字符的工作
⑥ 急急急这个代码是输入一个字符串过滤此串只保留非数字吗
输出输入中的数字
⑦ 输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含字母的个数
||代码如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
charstr[100],*p=str,*q=str,cnt=0;
scanf("%s",str);
while(*p!='