第一章2019.3.5c++
本章未開始實質內容學習,未涉及函數,僅使用getchar().數組
課後題:練習1-13ide
=》水平直方函數
1 #include<stdio.h> 2 3 main(){ 4 #define MAXSIZE 100 5 int nc=0;//統計字符數 6 int arr[MAXSIZE]; 7 int i;//臨時,賦值統計 8 int arrSub=0;//數組下標 9 int ncSize;//統計單詞字符數 10 int c; 11 12 for(i=0;i<MAXSIZE;i++){arr[i]=0;} 13 14 while((c=getchar())!=EOF){ 15 if(c=='\n'){ 16 break; 17 } 18 else{ 19 if(c==' '){arr[arrSub]=nc;++arrSub;nc=0;} 20 else{ 21 ++nc; 22 } 23 24 } 25 } 26 printf("===========show vertical about word ============\n"); 27 printf("MAXValue:[%d]\n",arrSub);//統計單詞數 28 printf("^\n"); 29 for(i=0;i<arrSub;i++){ 30 printf("|\n"); 31 if(arr[i]>0){ 32 for(ncSize=0;ncSize<arr[i];ncSize++){if(ncSize==0){printf("|");}printf("%s","*");if(ncSize==arr[i]-1){printf("[%d]\n",arr[i]);}} 33 } 34 if(i==(arrSub-1)){printf("|----------------------------------------------------------------------------->\n");} 35 } 36 }
結果以下:學習
=》垂直直方spa
1 #include<stdio.h> 2 3 main(){ 4 #define MAXSIZE 100 5 #define EXPORT "****" 6 int nc=0;//統計字符數 7 int arr[MAXSIZE]; 8 int i;//臨時,賦值統計 9 int arrSub=0;//數組下標 10 int ncSize;//統計單詞字符數 11 int c; 12 13 for(i=0;i<MAXSIZE;i++){arr[i]=0;} 14 printf("輸入的字符以下:\n"); 15 while((c=getchar())!=EOF){ 16 if(c=='\n'){ 17 break; 18 } 19 else{ 20 if(c==' '){arr[arrSub]=nc;++arrSub;nc=0;} 21 else{ 22 ++nc; 23 } 24 25 } 26 } 27 //數組排序從大到小 28 int nw,nwNext,nwMax; 29 int arrDiff[arrSub];//差值數組 30 31 for(nw=0;nw<arrSub;nw++){ 32 for(nwNext=nw+1;nwNext<arrSub;nwNext++){ 33 if(arr[nw]<arr[nwNext]) 34 { 35 nwMax=arr[nwNext]; 36 arr[nwNext]=arr[nw]; 37 arr[nw]=nwMax; 38 } 39 } 40 } 41 42 printf("\n===========show vertical about word ============\n"); 43 //printf("%d\n",arrSub); 44 printf("|\n|\n|\n|\n"); 45 for(nc=0;nc<arr[0];nc++){ 46 //printf("|"); 47 if(nc==0){printf("|\t[%d]\n",arr[0]);} 48 printf("|\t%s",EXPORT); 49 for(nw=0;nw<arrSub;nw++){ 50 int diffVal=arr[0]-arr[nw+1]; 51 if((nc==diffVal-1)&&(arr[nw+1]>0)){printf("\t[%d]",arr[nw+1]);} 52 if((nc>=diffVal)){printf("\t%s",EXPORT);} 53 } 54 printf("\n"); 55 //arrSub=arrSub-1; 56 } 57 printf("|------------------------------------------------------------------->\n"); 58 printf("\t水平直方圖\n"); 59 }
結果展現:code