C语言,如何用指针变量实现啊?
输入一个字符串,将其中所有的非英文字母的字符删除后输出。#include<stdio.h>#include<string.h>voidmain(){charstr[81]...
输入一个字符串,将其中所有的非英文字母的字符删除后输出。
#include <stdio.h>
#include <string.h>
void main()
{ char str[81]; int i,flag;
/******* 1 ******/
get(str);
for(i=0;str[i]!='\0';) {
flag=tolower(str[i])>='a' && tolower(str[i])<='z';
/********* 2 *********/
flag=not flag;
if(flag) {
/******* 3 ********/
strcpy(str+i+1,str+i);
/******* 4 ********/
break;
}
i++;
}
printf("%s\n",str);
} 展开
#include <stdio.h>
#include <string.h>
void main()
{ char str[81]; int i,flag;
/******* 1 ******/
get(str);
for(i=0;str[i]!='\0';) {
flag=tolower(str[i])>='a' && tolower(str[i])<='z';
/********* 2 *********/
flag=not flag;
if(flag) {
/******* 3 ********/
strcpy(str+i+1,str+i);
/******* 4 ********/
break;
}
i++;
}
printf("%s\n",str);
} 展开
1个回答
展开全部
代码中少了一个头文件ctype.h
#include <stdio.h>
#include <string.h>
#include <ctype.h>
main()
{ char str[81];
int i,flag;
/******* 1 ******/
gets(str);
for(i=0; *(str+i)!='\0';)
{ flag=tolower(*(str+i))>='a' && tolower(*(str+i))<='z';
/********* 2 *********/
flag=!flag;
if(flag)
{ /******* 3 ********/
strcpy(str+i,str+i+1);
/******* 4 ********/
continue;
}
i++;
}
printf("%s\n",str);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询