C语言编程(练习5:字符串与字符串函数)
2015-01-23 21:06
399 查看
题目:编写一个程序。功能是读取输入,直到遇到EOF,并报告单词数、大写字母数、小写字母数、标点符号数和数字字符数。使用ctype.h系列的函数
代码实现:
/**< 编写一个程序。功能是读取输入,直到遇到EOF,并报告单词数、大写字母数、小写字母数、
标点符号数和数字字符数。使用ctype.h系列的函数 */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX 100
int main()
{
int word = 0;
int upper = 0;
int lower = 0;
int punct = 0;
int digit = 0;
int flag = 0; //进入单词标志位
int pflag = 0;
char str[MAX];
char *pstr = str;
printf("输入字符\n");
while((*pstr++ = getchar()) != EOF) continue;
*pstr = '\0';
for(pstr=str; *pstr!='\0'; pstr++)
{
if(isupper(*pstr)) upper++;
else if(islower(*pstr)) lower++;
else if(ispunct(*pstr)) punct++;
else if(isdigit(*pstr)) digit++;
}
for(pstr=str; *pstr!='\0'; pstr++) //判断字符串中的单词数 用两个标志位来判断单词
{
if(isalpha(*pstr)) flag = 1;
else
{
if(pflag==1) word++;
flag = 0;
}
pflag = flag;
}
printf("word = %d\n", word);
printf("upper = %d\n", upper);
printf("lower = %d\n", lower);
printf("punct = %d\n", punct);
printf("digit = %d\n", digit);
return 0;
}
运行结果:
代码实现:
/**< 编写一个程序。功能是读取输入,直到遇到EOF,并报告单词数、大写字母数、小写字母数、
标点符号数和数字字符数。使用ctype.h系列的函数 */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX 100
int main()
{
int word = 0;
int upper = 0;
int lower = 0;
int punct = 0;
int digit = 0;
int flag = 0; //进入单词标志位
int pflag = 0;
char str[MAX];
char *pstr = str;
printf("输入字符\n");
while((*pstr++ = getchar()) != EOF) continue;
*pstr = '\0';
for(pstr=str; *pstr!='\0'; pstr++)
{
if(isupper(*pstr)) upper++;
else if(islower(*pstr)) lower++;
else if(ispunct(*pstr)) punct++;
else if(isdigit(*pstr)) digit++;
}
for(pstr=str; *pstr!='\0'; pstr++) //判断字符串中的单词数 用两个标志位来判断单词
{
if(isalpha(*pstr)) flag = 1;
else
{
if(pflag==1) word++;
flag = 0;
}
pflag = flag;
}
printf("word = %d\n", word);
printf("upper = %d\n", upper);
printf("lower = %d\n", lower);
printf("punct = %d\n", punct);
printf("digit = %d\n", digit);
return 0;
}
运行结果:
相关文章推荐
- C语言编程(练习5:字符串与字符串函数)
- C语言编程(练习1:字符串和字符串函数)
- C语言编程(练习3:字符串与字符串函数)
- C语言编程(练习4:字符串与字符串函数)
- C语言编程小练习8(数组与字符串)
- C语言编程练习5——编写函数void change(char *a,char *b,char*c)。 函数功能是首先把b指向的字符串逆向存放
- C语言编程(练习2:字符串与字符串数组)
- GPS数据处理——字符串编程练习(C语言)
- C语言编程练习——字符串数组的冒泡排序,从小到大
- 第8章_字符串与文本I/O_编程练习_8.1判断是否为回文串
- C语言编程练习(通过指针调换输入数字)
- ubuntu下用Eclipse完成C语言编程练习
- C语言编程小练习
- 作业 1 熟悉C语言编程环境、练习代码录入
- C语言编程练习:通讯录
- 第十一章 字符串和字符串函数(练习)总结 140606
- 【C编程练习】2013华为校园招聘机试题目题5:将一个int类型的数字转化为字符串,并判断有无重复字符串(长度应大于2)有返回1,无返回2
- 【C编程练习】华为2013校园招聘机试题目题4:删除一个字符串中出现次数最少的字符,函数原型为:char * delChar(char *s,int iLen)
- 编程练习------C/C++分别实现字符串与整数的转换
- 【C编程练习】2013华为校园招聘机试题9月10日题1:把整数转换成字符串 void ConvertIntToStr(int nVal, char* pStr);