1樓:匿名使用者
#include
#include
#include
#define n 100
void main()
char s[n],t[n];
int a=0,sen=0,i=0,len;
file *fp,*fp1;
fp=fopen("a.txt","w");
if(fp==null)
printf("檔案開啟錯誤!\n");
exit(0);
printf("請輸入一段話(每句話以.結尾):\n");
gets(s);
len=strlen(s);
printf("按任意鍵寫入檔案!\n");
fflush(stdin);
getchar();
fputs(s,fp);
printf("寫入檔案成功!\n");
fclose(fp);
printf("按任意鍵開始統計大寫字母和句子個數!\n");
fflush(stdin);
getchar();
fp1=fopen("a.txt","r+");
if(fp1==null)
printf("檔案開啟錯誤!\n");
exit(0);
fgets(t,len,fp1);
while(s[i]!='\0')
if(s[i]>='a'&&s[i]<='z')a++;
if(s[i]=='.')
sen++;
i++;
printf("大寫字母:%d個\n句子:%d句\n",a,sen);
fclose(fp1);
執行結果:
2樓:星月小木木
定義計數器,依次讀入檔案每個字元,對字元進行判斷,如果是大寫字母,則進行累加。最終輸出結果即可。
演算法如下:
1 定義計數器,初始化為0;
2 開啟檔案;
3 迴圈讀入檔案,每次一個位元組,如為檔案尾,則退出迴圈,否則判斷是否為大寫字元,如是,累加到計數器上;
4 關閉檔案;
5 列印結果。
參考**如下:
#include
int main()
3樓:幫個忙好不
#include
#define maxline 1000
int getline(char line,int maxline);
void copy(char to,char from);
int main()
}printf("大寫字母個數:%d\n",count);
printf("句子個數:%d\n",cnt);
return 0;
}int getline(char s,int lim)if(c=='\n')
s[i]='\0';
return i;
}void copy(char to,char from)
用c語言程式設計,字元統計:輸入一個文字檔案,分別統計出其中英文字母、空格、數字和其它字元的個數
4樓:問明
#include
int main()
else if (c == ' ')
else if (c >= '0'&&c <= '9')else
}printf("字母數:%d\n空格數:%d\n數字數:%d\n其他字元:%d\n",letters,space,digit,other);
return 0;
}執行效果:
printf函式使用注意事項
1、域寬
%d:按整型資料的實際長度輸出。
如果想輸出指定寬度可以指定域寬,%md-->m域寬,列印出來以後,在控制檯上,顯示m位;
如果我們要列印的數的位數如果超過我們設定m則原樣輸出;
如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:
如果m為正數,則左對齊(左側補空白);
如果m為負數,則右對齊(右側補空白)。
2、轉義字元
如果想輸出字元"%",則應該在「格式控制」字串中用連續兩個%表示。
如:printf("%f%%",1.0/3);輸出結果:0.333333%。
5樓:逐夢兮樂
#include
#include
#include
void stat(char *str, int count)}int main(void)
祝你愉快!記得采納哈,還有什麼不懂的,追問哈,一定幫助你到最後,祝你成功~\(≧▽≦)/~
6樓:
已測試,沒問題,望採納!
7樓:風若遠去何人留
一、問題分析:
輸入一行字母,那麼會以換行結束。所以可以存入陣列,也可以逐個輸入,遇到換行結束。
要統計各個類的個數,就要逐個判斷是哪個分類的。
由於在ascii碼中,數字,大寫字母,小寫字母分別連續,所以可以根據邊界值判斷型別。
二、演算法設計:
1、讀入字元,直到遇到換行結束。
2、對於每個字元,判斷是字母還是數字,或者空格,或者是其它字元。
3、對於每個字元判斷後,對應類別計數器自加。
4、最終輸出結果。
#include
int main()
printf("%d %d %d %d\n", a,b,c,d);//輸出結果。
return 0;}
8樓:匿名使用者
用for語句編的.....
#include
void main()
printf("zimu:%d\nspace:%d\nshuzi:%d\nqita:%d\n"z,k,s,q);}
9樓:匿名使用者
#include
#include
#define a 80
main()
printf("英文字元有:%d\n",letter);
printf("數字字元有:%d\n",digit);
printf("空格有:%d\n",space);
printf("其他字元有:%d\n",others);}
c語言實現統計文字檔案中,26個英文字母的分別的數量,及其他字元的數量。
10樓:
//#include "stdafx.h"
#include
//開啟:fopen 關閉:fclose
//讀取
抄:fread 寫入:fwrite
//指標襲
:就是一個變數bai的地du址zhi(0代表空地址)//指標變數:就是一個用於記錄內dao存地址的變數int main(int argc, char* argv)printf ("英文字元%d",i);
printf ("其他字元%d",j);
printf ("所有字元%d",j+i);
getchar();
return 0;
}這個簡單啊~~啦啦啦~~~等下~~給你寫
11樓:
#include
#include
#include
int count[27] ; //0-25代表a-z,26代表其它字元
char s[1001] ;
int main()
}for( i = 0 ; i < 26 ; i ++ )printf("其他字元:%d次\n",count[26]);
return 0 ;}
c語言實現統計txt檔案裡的單詞個數
12樓:匿名使用者
你這個是統計文字內字母的個數
編寫一個c語言程式:從鍵盤讀入一行文字,統計每個英文字母出現的次數
13樓:匿名使用者
對於每個英文字母分別判斷個數,並累計,最終輸出即可。
一、演算法:
1、迴圈讀取字元,直到換行為止。對於每個字元,執行以下流程。
2、判斷是否為英文字母,即小寫和大寫兩種。
3、如果是英文字母,則統計個數。
輸入部分,可以存為陣列,也可以每輸入一個字元計算一次。
二、參考**:
#include
int main()
;while((c=getchar())!='\n')//讀取每個字元,直到遇到換行為止。
for(c=0;c<26;c++)//輸出大寫字母統計結果。
if(cnt[c]!=0) printf("%c:%d\n", c+'a', cnt[c]);
for(c=26;c<52;c++)//輸出大寫字母統計結果。
if(cnt[c]!=0) printf("%c:%d\n", c-26+'a', cnt[c]);
return 0;}
14樓:
#include
#include
#define max 100int main()
; // count 陣列用來儲存各個字母出現的次數
scanf("%s", str);
while(str[i] != '\0')if (str[i] >= 'a' && str[i] <= 'z')
i++;
}for (i = 0; i < 26; i++)for (i = 26; i < 52; i++)return 0;}
15樓:匿名使用者
#include
int main(void)
;while ((a = getchar()) != '\n')}}
for (i=0;i<26;++i)
else
}printf("\n");}
C語言大寫字母轉換為小寫字母,並輸出程式
拱富貴顧羅 includeint main else if ch a ch z else if tc else if end 2 break else printf input error n return0 函碧戎 有三種方式可以解決c語言大小寫字母的轉換 1.使用c語言提供的函式 toupper...
C語言,如何用迴圈讀入多個文字檔案
鏡蔓楊清雅 下面的 是剛剛給你寫好的,檔名僅限 a.txt b.txt 和 c.txt include stdio.h include stdlib.h intmain void fseek fp,0,2 filelen ftell fp fseek fp,0,0 p i malloc filele...
求c語言讀取寫入文字檔案的函式實現
go陌小潔 c語言標準庫提供了一系列檔案i o函式用於檔案操作,比如fopen 用於開啟檔案 fread fwrite 用於讀寫檔案 fseek 用於設定操作位置等等,一般c語言教程上都有檔案i o一章,細緻內容,可以找本教科書學習一下。下面的示例,是向名為1.txt的檔案附加hello world...