日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wordcount C

發布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wordcount C 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Gitee 代碼鏈接:https://gitee.com/huangxue1111/codes/12rfs3ztj5ga8ymce7qi910

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#define IN 1
#define OUT 0
void main() {
FILE *fp;
int length;
fp = fopen("wang.txt", "r");//打開要計數的文件
if (fp == NULL)
{
printf("can not open file");
exit(0);
}
fseek(fp, 00, SEEK_END);
length = ftell(fp);
printf("%d\n", length);//確定所要查找的文件中總字符數長度
rewind(fp);
char str[100000], c;
fread(str, sizeof(char), length, fp);//從文件中讀取所有的字符到str序列
int i, num1 = 0, num2 = 0, num3, num4=0, word = OUT;
for (i = 0; (c = str[i]) != '\0'; i++)
{
if (c == ' ')//判斷字符中單詞數
{
num2++;
word = OUT;
}
else
{
if (word == OUT)
{
word = IN;
num1++;
}
}
if ((c = str[i]) == '\n')
{
num4++;
}
}
num3 = length - num2-num4*2;//字符數
num4++;//行數
fclose(fp);
printf("空格數為%d\n", num2);
printf("單詞數為%d\n行數為%d\n字符數為%d\n", num1, num4, num3);
system("pause");

}

?

該程序主要代碼做了相關注解。WC程序,程序流程:選txt文件——讀取字符數加入一個數組——for循環計數

字符轉移到數組主要分成兩個部分:

第一部分先確定我們文件中的數據的長度,利用fseek函數判斷指針;

第二部分利用數據長度把所有的字符一次性全部讀入到str數組中,利用fread函數

判斷行數利用的是for循環挨個進行字符的判斷,判斷數組中的\n個數,然后根據\n的個數確定行數,用num4表示

空格數的判斷也是利用for循環確定字符中共有多少個空格字符,用num2表示

單詞數的個數是利用兩個空格之間為一個單詞的算法來確定的,具體算法即for循環中第一個if語句,用num1表示

字符數的判斷則可利用總字符數,行數,還有空格數通過推導得出num3=length-num2-num4*2

這里以wang.txt為例進行演示,共三組測試數據:

第一組

?

第二組:

第三組:

三組測試數據如上。

第一個博客,激動。

參考文獻:https://bbs.csdn.net/topics/390951688?page=1

轉載于:https://www.cnblogs.com/huangxue1111/p/9697290.html

總結

以上是生活随笔為你收集整理的wordcount C的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。