#include <iostream> #include <fstream> #include <sstream> #include <string> using namespace std; int main() { ifstream infile; string filename; cout << "请输入文件名:(注意要带扩展名的,如data1.txt) "; cin >> filename; infile.open(filename.c_str()); string line; size_t even_sum = 0; size_t odd_sum = 0; while (getline(infile, line, '/n')) { string word; std::istringstream Line_in(line); while(Line_in>>word) { if(word.length()%2) ++even_sum; else ++odd_sum; } } infile.close(); cout<<"the sum of even number is:"<<even_sum<<endl<<"the sum of odd number is:"<<odd_sum<<endl; cout<<"the total sum is:"<<even_sum+odd_sum<<endl; system("pause"); return 0; } //#include <stdio.h> //void main() //{ // int num=0,i=0;//num用于统计单词个数 // char str[100],c;//str[100]用存储输入的字符 // printf("请输入一个字符串:"); // gets(str);//获取输入的字符,存放在str[100]数组中 // do{ // while((c=str[i])==' ') // i++;//去掉第一个单词前的空格 // // if(c!='/0') // num++;//统计单词的个数 // // while((c=str[i])!=' '&&c!='/0') // i++;//去掉每个单词之间的空格 // }while(c!='/0');//判断是否为空格 // // printf("单诩的个数为:%d/n",num); // //}