程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言實訓報告。

c語言實訓報告。

編輯:C語言問答

c語言實訓報告。

200

一、實訓步驟、方法與要求

編寫一個程序實現一些字符串處理功能

1. 編寫一個函數,讀入一段文本,可以用函數分別統計字母a和b在文本中出現的次數。

2. 編寫一個函數,由用戶輸入一段文本,使用這個函數可以統計在此文本中出現了多少個單詞。

3. 編寫一個函數,當用戶輸入一個單詞時,可以用函數統計這個單詞在程序中讀入的一段文本中出現的總次數

4. 編寫程序,將以上三個功能做成選項單,可以通過在鍵盤上輸入指定字符從而選擇相應的功能。

二、 評分方法

1.是否能正確編寫C程序予以實現各題要求(40分)

2.項目報告中,流程圖和算法描述(25分),知識點描述(15分),難點及解決辦法(10分)

3.學習總結(10分)

 

 

各位大神幫幫忙。。不要太復雜的。比如第二題書上就有一個類似的:

#include<stdio.h>

void main()

{

char string[81];

int i,num=0,word=0;

char c;

gets(string);                         /*讀入一個字符串*/

for (i=0;(c=string[i])!='\0';i++)     /*從第一個字符起,到最後一個字符*/

if(c==' ') word=0;                      /*如果當前字符是空格,則使word置0*/

else if(word==0)                   /*若當前字符不是空格,而且前一字符是空格*/

{word=1;                               /*使word置1*/

num++;                                              /*使num加1*/

}

printf("There are %dwords in this line.\n",num);          /*輸出num*/

}                       

 

請大神們也用類似的程序來解答吧。

最佳回答:

好,我幫你做。
追問:

好,我等你。如果對我的提問有疑惑可以加我QQ646870335.明天就要完成這份報告了。

回答:

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAX 20
void Sum_letter();
void All_word();
void Sum_word_appear();

void Sum_letter(){
 char ch;
 int array[2]={0};
 printf("The letter: ");
 scanf("%c",&ch);
 FILE *fp;
 if((fp=fopen("d:test.txt","r")) == NULL){
  printf("No file\n");
 }
 else{
  while(!feof(fp)){
   fread(&ch,sizeof(char),1,fp);
   if(ch == 'a' || ch == 'b'){
    ++array[ch-'a'];
   }
  }
 }
 printf("\"a\" appears : %d\n",array[0]);
 printf("\"b\" appears : %d\n",array[1]);
 fclose(fp);
}

void Sum_word_appear(){
 char array[MAX],temp[MAX];
 char ch;
 int sum=0,i=0;
 printf("The word: ");
 scanf("%s",array);
 FILE *fp;
 if((fp=fopen("d:test.txt","r")) == NULL){
  printf("No file\n");
 }
 else{
  while(!feof(fp)){
   fread(&ch,sizeof(char),1,fp);
   if( !isspace(ch) && !ispunct(ch)){
    temp[i++]=ch;
   }
   else{
    temp[i]='\0';
    if(strcmp(temp,array) == 0){
     ++sum;
    }
    memset(temp,NULL,MAX);
    i=0;
   }
  }
 }
 printf("%s appears is %d\n",array,sum);
 fclose(fp);
}

void All_word(){
 char ch;
 int sum=0;
 FILE *fp;
 if((fp=fopen("d:test.txt","r")) == NULL){
  printf("No file\n");
 }
 else{
  while(!feof(fp)){
   fread(&ch,sizeof(char),1,fp);
   if(isspace(ch) || ispunct(ch)){
    ++sum;
   }
  }
 }
 printf("The all words is: %d\n",sum-1);
}


int main(){
 bool tag=true;
 char ch;
 int Select=0;
 FILE*fp;
 if((fp=fopen("d:test.txt","w+")) == NULL){
  printf("No file;\n");
 }
 else{
  printf("Input the data: \n");
  fflush(stdin);
  while((ch=getchar()) != EOF){
   fprintf(fp,"%c",ch);
  }
 }
 fclose(fp);
 while(tag){
  printf("1、Sum letter appear\n");
  printf("2、All word appear\n");
  printf("3、Sum word appear\n");
  printf("4、Quit\n\n");
  printf("Select: ");
  scanf("%d",&Select);
  switch(Select){
  case 1:
   Sum_letter();
   break;
  case 2:
   All_word();
   break;
  case 3:
   Sum_word_appear();
   break;
  case 4:
   printf("Quit\n");
   tag=false;
   break;
  }
 }
 return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved