黑马程序员技术交流社区
标题:
计算单词个数及首字母大写的代码,哪里出错了?
[打印本页]
作者:
a752538236
时间:
2016-4-13 10:31
标题:
计算单词个数及首字母大写的代码,哪里出错了?
帮忙看下哪里错了,只能统计第一个单词,后面的全是小写也没统计
#include <stdio.h>
int main(int argc, const char * argv[]) {
//定义变量
int str[100];
int words = 0;//单词标记
int count = 0;//单词个数
//提示用户输入字符串
printf("请输入一个字符串:\n");
//接收字符串,并保存到数组中
gets(str);
//循环取出每一个字符 遇到\0就结束
for (int i = 0;str[i] != '\0'; i++) {
//判断
//当前循环 字符 是空格 下次循环一定是单词
if (str[i]==' ') {
words = 0;//标记为单词
}else if (words == 0) { //如果遇到单词标记
str[i] = str[i] - 32; //首字母改为大写
count++; //单词个数加1
words = 1; //取消标记
}
}
printf("单词个数:%d,字符串:%s",count,str);
return 0;
}
作者:
冷傲阳
时间:
2016-4-13 12:55
两个问题,
1 应该定义char类型的字符数组,你定义成int类型的
2 for循环语句里面你还要在多加一句话,else count++,不然的话你只把转化成大写的字幕+1,小写字母都没有算进去。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2