检查字符串中的字符是字母、数字还是特殊字符。在c中
我一直在研究一个问题,它要求检查字符串中的数字、字母或其他特殊字符 例如,如果给您两个输入。一个是字符串长度的整数,第二个输入是字符串检查字符串中的字符是字母、数字还是特殊字符。在c中,c,string,C,String,我一直在研究一个问题,它要求检查字符串中的数字、字母或其他特殊字符 例如,如果给您两个输入。一个是字符串长度的整数,第二个输入是字符串 input1: 6 input2: 4!hs%5. 输出应为:noaaon n代表数字,a代表字母,o代表其他 #include<stdio.h> #include<string.h> int main(){ char c[20]; int n,i; scanf("%d %s",&n,c);
input1: 6
input2: 4!hs%5.
输出应为:noaaon
n代表数字,a代表字母,o代表其他
#include<stdio.h>
#include<string.h>
int main(){
char c[20];
int n,i;
scanf("%d %s",&n,c);
for(i=1;c[i]<=n;i++)
if(i>='a' && i<='z')
printf("%c\n",(c[i]));
if(i=='!')
printf("%c \n",i);
else
{
printf("%c \n",);
}
return 0;
}
#包括
#包括
int main(){
charc[20];
int n,i;
scanf(“%d%s”、&n、c);
对于(i=1;c[i]='a'&&i为什么不尝试一些更简单的方法,比如isalpha()
和isdigit()
like
for( i = 0 ; i < n ; i++ )
{
if ( isalpha( c[i] ) )
// it is an alphabet, so some code
else if ( isdigit ( c[i] ) )
// it is a number , so some code
else
// it is some other character
}
(i=0;i
{
if(isalpha(c[i]))
//这是字母表,所以有些代码
else if(isdigit(c[i]))
//这是一个数字,所以有一些代码
其他的
//这是另一种性格
}
这实际上比您当前的代码要简单得多
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void) {
char input[10];
char out[10];
int i;
memset(out, '\0', 10);
scanf("%s", input);
for(i = 0; i < strlen(input); ++i){
if( (c[i] >= 'a' && c[i] <= 'z') || (c[i] >= 'A' && c[i] <= 'Z') ){
out[i] = 'a';
}
else if(isdigit(c[i])){
out[i] = 'n';
}
else{
out[i] = 'o';
}
}
printf("%s", out);
return 0;
}
#包括
#包括
内部主(空){
字符输入[10];
字符输出[10];
int i;
memset(输出,'\0',10);
扫描频率(“%s”,输入);
对于(i=0;iisdigit()
,朋友索引c数组是基于0
。请检查您的格式,使用大括号等。(您的循环是假的)@alk啊,对不起,我错过了..简单的复制粘贴错误空格字符无法输入。@BLUEPIXY我假设输入是一个字符串,格式为4!hs%5
,没有空格,另一个答案更好,谢谢你的回答。字符串输入没有空格,但字符串的长度应该是第一个输入,即只是一个整数。