【問題描述】:輸入一頁文字,可進行簡單編輯和統計。
【功能要求】:
1)、存盤一頁文章,最多N行,80列
2)、統計其中字母、數字、空格的數目和全文的字數
3)、實作某一字串的大小寫字母切換
4)、實作字串查找和替換功能
#include<stdio.h>#include <string.h>typedef struct line { char *data; struct line *next;}LINE;void PrintfWord(LINE *head){ LINE *p=head; int j=0; int length=strlen(p->data); for(int i=0;i<=length;i++) { printf("%c",p->data); j++; if(j%80==0) printf("\n"); }}void create(LINE *head){ printf("請輸入一頁文章:\n"); LINE *p=new LINE; head=p; int length=strlen(p->data); for(int i=0;i<=length;i++) { scanf("%c",&p->data); if(length>80) { printf("每行最多輸入80個字符\n"); break; } p->next=NULL; head=head->next; }}int NumWord(LINE *head){ LINE *p=head; int i; char ch; int length=strlen(p->data); int NumWord; ch=p->data[i]; while((ch!='\0')&&(length<80)) { for(i=0;i<=length;i++) { ch=p->data[i]; if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) NumWord++; } } return NumWord;}int Number(LINE *head){ LINE *p=head; int i; char ch; int length=strlen(p->data); int Number; ch=p->data[i]; while((ch!='\0')&&(length<80)) { for(i=0;i<=length;i++) { ch=p->data[i]; if(ch>='0'&&ch<='9') Number++; } } return Number;}int NumSpace(LINE *head){ LINE *p=head; int i; char ch; int length=strlen(p->data); int NumSpace; ch=p->data[i]; while((ch!='\0')&&(length<80)) { for(i=0;i<=length;i++) { ch=p->data[i]; if(ch==32) NumSpace++; } } return NumSpace;}int Count(LINE *head){ LINE *p=head; int length=strlen(p->data); return length;}int SearchWord(LINE *head,char *str){ LINE *p=head; int count=0; char ch; int length=strlen(p->data); while(ch!='\0') { for(int i=0;i<=length;i++) { if((ch=*str)&&(ch!='\0')&&(*str!='\0')) { ch++; *str++; } else if(*str=='\0') { count++; } } return count; }}int DeleteWord(LINE *head,char *ch){ LINE *p=head; char c; char c1; int length=strlen(p->data); for(int i=0;i<=length;i++) { char c=p->data[i]; if(c!=*ch) c1=c; } return c1; PrintfWord(head);}void main(){ LINE *head; create(head); PrintfWord(head); printf("\n"); printf("文章中英文字母個數:%d\n",NumWord(head)); printf("文章中數字個數:%d\n",Number(head)); printf("文章中空格個數:%d\n",NumSpace(head)); printf("文章中總字數個數:%d\n",Count(head)); char str[20]; printf("請輸入您要統計的字串:\n"); scanf("%s",str); printf("該字串在文章中出現的次數:%d\n",SearchWord(head,str)); char ch[20]; printf("請輸入您要洗掉的字串:\n"); scanf("%s",ch); printf("洗掉指定字串后的文章:\n",DeleteWord(head,ch));}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/133547.html
標籤:C++ 語言
上一篇:vs核心功能安裝失敗
下一篇:c語言輸出一個三位數的逆數
