C Primer Plus 第七章 编程练习 1-6题

    xiaoxiao2021-03-25  101

    第一题 #include<stdio.h> #define Space ' ' #define Eof '#' #define LineBreak '\n' int main(void) { int CountSpace = 0; int CountLineBreak = 0; int Counts = 0; char ch; ch = getchar(); while(ch != Eof) { switch(ch) { case Space: ++CountSpace; break; case LineBreak: ++CountLineBreak; break; default: ++Counts; } ch = getchar(); } printf("%d Space,%d LineBreak,%d chars",CountSpace,CountLineBreak,Counts+CountSpace+CountLineBreak); return 0; } 第二题 #include<stdio.h> const int Floor = 8; const int MaxLen = 100; const char StopChar = '#'; int main(void) { char ch[MaxLen]; char Letter; int CountLetter = 0; printf("PLease Input The Letters, '#' To End.\n"); while((Letter = getchar()) != StopChar) { ch[CountLetter] = Letter; ++CountLetter; } for(int i = 0 ; i < CountLetter ; ++i) { printf("%c/%d ",ch[i],ch[i]); if((i+1)%Floor == 0) printf("\n"); } return 0; } 第三题 #include<stdio.h> const int Stop = 0; int main(void) { int nu; int Odd = 0; int CountOdd = 0; int Even = 0; int CountEven = 0; printf("Please Input The Number To Test:\n"); while(scanf("%d",&nu)) { if(nu == Stop) break; if(nu%2 == 0) { Odd += nu; ++CountOdd; } if(nu%2 == 1) { Even += nu; ++CountEven; } } printf("We Get %d ODD, Avg Is %.2lf\n",CountOdd,Odd/(double)CountOdd); printf("We Get %d Even, Avg Is %.2f\n",CountEven,Even/(double)CountEven); return 0; } 第四题 #include<stdio.h> #include<string.h> const char Stop = '#'; const char Symbol_1 = '.'; const char Symbol_2 = '!'; const int MaxLen = 100; int main(void) { char chs[MaxLen]; char Letter; int Counts = 0; int Times = 0; printf("Please Input Words To Test:\n"); while((Letter = getchar()) != Stop) { if(Letter == Symbol_1) { chs[Counts] = Symbol_2; ++Counts; ++Times; } else if(Letter == Symbol_2) { chs[Counts] = Symbol_2; chs[Counts+1] = Symbol_2; Counts += 2; ++Times; } else { chs[Counts] = Letter; ++Counts; } } chs[Counts] = '\0'; printf("%d Times\n",Times); printf("%s\n",chs); return 0; } 第五题 #include<stdio.h> const int Stop = 0; int main(void) { int nu; int Odd = 0; int CountOdd = 0; int Even = 0; int CountEven = 0; printf("Please Input The Number To Test:\n"); while(scanf("%d",&nu) && (nu != Stop)) { int Mid = nu%2; switch(Mid) { case 0:Odd += nu; ++CountOdd; break; case 1:Even += nu; ++CountEven; break; } } printf("We Get %d ODD, Avg Is %.2lf\n",CountOdd,Odd/(double)CountOdd); printf("We Get %d Even, Avg Is %.2f\n",CountEven,Even/(double)CountEven); return 0; } 第六题 #include<stdio.h> const int MaxLen = 100; const char Stop = '#'; int main(void) { char Letter; char Words[MaxLen]; int RealLen = 0; printf("PLease Input Words To Test:\n"); while((Letter = getchar()) && (Letter != Stop)) { Words[RealLen] = Letter; ++RealLen; } int Times = 0; for(int i = 0 ; i < RealLen ; ++i) { if(Words[i] == 'e' && Words[i+1] == 'i') ++Times; } printf("We Get %d \"ei\"",Times); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-15108.html

    最新回复(0)