fork download
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. char ch;
  5. int checksum = 0;
  6. int wordChecksum = 0;
  7. int inWord = 0;
  8.  
  9. printf("Vvedita tekst (Ctrl+D dlya zavershite):\n");
  10.  
  11. while ((ch = getchar()) != EOF) {
  12. if (ch == ' ' || ch == '\n' || ch == '\t') {
  13. if (inWord) {
  14. printf("Kontrolnya summa vseh slov: %lu\n", wordChecksum);
  15. checksum += wordChecksum;
  16. wordChecksum = 0;
  17. inWord = 0;
  18. }
  19. } else {
  20. wordChecksum += (unsigned char)ch; // Суммируем ASCII значения символов
  21. inWord = 1;
  22. }
  23. }
  24.  
  25. // Обработка последнего слова, если ввод не закончился пробелом
  26. if (inWord) {
  27. printf("Kontrolnaya summa: %lu\n", wordChecksum);
  28. checksum += wordChecksum;
  29. }
  30.  
  31. printf("Obshaya summa: %lu\n", checksum);
  32.  
  33. return 0;
  34. }
Success #stdin #stdout 0s 5284KB
stdin
Privet
stdout
Vvedita tekst (Ctrl+D dlya zavershite):
Kontrolnaya summa: 634
Obshaya summa: 634