<feat>:Добавление часть файлов выполненных задач

Добавлены задачи, выполненные по мануалу си. Пополнение задач по мере
их выполнения и добавления комментариев.

[Новые программы]
master
Your Name 8 months ago
commit fae8efe512
  1. 20
      1.10.txt
  2. 26
      1.11.txt
  3. 27
      1.12.txt
  4. 76
      1.13.txt
  5. 17
      1.15.txt
  6. 18
      1.4.c
  7. 8
      1.5.txt
  8. 11
      1.6-1.7.txt
  9. 21
      1.8.txt
  10. 24
      1.9.txt
  11. 30
      2.1.txt
  12. 23
      2.2.txt
  13. 40
      3.3.txt

@ -0,0 +1,20 @@
#include <stdio.h>
/* Бэкспейс не видит. нужно подключать conio.h */
int main()
{
int c;
for(;(c=getchar())!= EOF;)
{
if(c=='\t')
printf("\\t");
else if(c=='\b')
printf("\\b");
else if(c=='\\')
printf("\\s");
else
printf("%c",c);
}
getch();
}

@ -0,0 +1,26 @@
#include <stdio.h>
/*Ошибка при переносе слова на новую строку*/
#define IN 1 /* внутри слова */
#define OUT 0 /* вне слова */
int main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
++nc;
if (c == '\n')
++nl;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
else if (state == OUT) {
state = IN;
++nw;
}
}
printf("%d %d %d\n", nl, nw, nc);
return 0;
}

@ -0,0 +1,27 @@
#include <stdio.h>
#define IN 1 /* внутри слова */
#define OUT 0 /* вне слова */
int main()
{
int c, nl, nw, nc, state;
state = OUT;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
if (c == ' ' || c == '\n' || c == '\t'){
state = OUT;
printf("%c \n",c);
}
else if (state == OUT) {
state = IN;
printf("%c",c);
}
else {
printf("%c",c);
}
}
return 0;
}

@ -0,0 +1,76 @@
#include <stdio.h>
/* подсчет цифр, символов-разделителей и прочих символов */
int main()
{
int c, i, j, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[i] = 0;
while ((c = getchar()) != EOF)
{
if (c >= '0' && c <= '9')
++ndigit[c - '0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite;
else
++nother;
}
printf("цифры =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf(", символы-разделители = %d, прочие = %d\n", nwhite, nother);
for(i = 0; i<100; ++i){
for(j = 0; j<10; ++j){
--ndigit[j];
if (ndigit[j] >= 0)
printf("|");
else if (ndigit[j] == -1)
printf("-");
else
printf(" ");
}
printf("\n");
}
return 0;
}
#include <stdio.h>
#include <ctype.h>
#define MAXLEN 30
void resh(char s1[], char s2[]);
int main()
{
char in[MAXLEN] = "-A-Z1-9\0";
char out[MAXLEN];
printf("s1 = %s\n",in);
resh(in, out);
printf("s2 = %s\n",out);
return 0;
}
void resh(char s1[], char s2[])
{
int i, j;
for( i = 0, j = 0; s1[i] != 0; i++){
if (s1[i] = '-'){
if (isdigit(s1[i-1])&&isdigit(s1[i+1])&&s1[i-1] < s1[i+1]||
islower(s1[i-1])&&islower(s1[i+1])&&s1[i-1] < s1[i+1]||
isupper(s1[i-1])&&isupper(s1[i+1])&&s1[i-1] < s1[i+1]){
for(char t = (char)(s1[i-1]+1); t<s1[i+1]; t++){
s2[j++] = t;
}
}
else
s2[j++] = s1[i];
}
else
s2[j++] = s1[i];
}
s2[j] ='\0';
}

@ -0,0 +1,17 @@
#include <stdio.h>
float temp(int fahr);
/* печать таблицы температур по Фаренгейту и Цельсию */
int main()
{
int fahr;
for (fahr = 300; fahr >= 0; fahr = fahr - 20)
printf("%3d %6.1f\n", fahr, temp(fahr));
return 0;
}
float temp(int fahr)
{
return (5.0 / 9.0) * (fahr - 32);
}

18
1.4.c

@ -0,0 +1,18 @@
#include <stdio.h>
/* печать таблицы температур по Фаренгейту и Цельсию для
celsius = 0, 20 ... 300; вариант с плавающей точкой */
int main()
{
float fahr, celsius;
int lower, upper, step;
lower = 0; /* нижняя граница таблицы температур */
upper = 300; /* верхняя граница */
step = 10; /* шаг */
celsius = lower;
printf ("Таблица перевода цельс. в фар.\n");
while (celsius <= upper) {
fahr = (9.0/5.0) * celsius + 32.0;
printf ("%3.0f %6.2f\n", celsius, fahr);
celsius = celsius + step;
}
}

@ -0,0 +1,8 @@
#include <stdio.h>
/* печать таблицы температур по Фаренгейту и Цельсию */
int main()
{
int fahr;
for (fahr = 300; fahr >= 0; fahr = fahr - 20)
printf ("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32));
}

@ -0,0 +1,11 @@
#include <stdio.h>
int main()
{
int c;
while ((c = getchar()) != EOF) {
printf("Значение EOF\n",EOF);
putchar(c);
}
return 0;
}

@ -0,0 +1,21 @@
#include <stdio.h>
int main()
{
int c;
int tabulate, ws, new;
tabulate = ws = new = 0;
for(;(c=getchar())!= EOF;)
{
if(c=='\t')
++tabulate;
else if(c==' ')
++ws;
else if(c=='\n')
++new;
/*else
printf("%c",c);*/
}
printf("Пробелов = %d Табуляций = %d Новых строк = %d", ws, tabulate, new);
getch();
}

@ -0,0 +1,24 @@
#include <stdio.h>
int main()
{
int c;
int ws = 0;
while ((c = getchar()) != EOF)
{
if (c == ' ')
{
++ws;
if (ws < 2)
printf("%c", c);
}
else
{
printf("%c", c);
ws = 0;
}
}
return 0;
}

@ -0,0 +1,30 @@
#include <stdio.h>
#include <limits.h>
int main()
{
printf("%d <= char <= %d\n", CHAR_MIN, CHAR_MAX);
printf("%d <= int <= %d\n", INT_MIN, INT_MAX);
printf("%ld <= long <= %ld\n", LONG_MIN, LONG_MAX);
printf("%d <= signed char <= %d\n", SCHAR_MIN, SCHAR_MAX);
printf("%d <= short <= %d\n", SHRT_MIN, SHRT_MAX);
printf("0 <= unsigned char <= %d\n", UCHAR_MAX);
printf("0 <= unsigned int <= %u\n", UINT_MAX);
printf("0 <= unsigned long <= %lu\n", ULONG_MAX);
printf("0 <= unsigned short <= %d\n", USHRT_MAX);
return 0;
}
int main()
{
unsigned char x;
for (x = 1; x > x-1; ++x) {
if (x < 0)
break;
printf("%d\n", x); // печатаем для отладки программы
}
printf("MIN: %d\n", x);
printf("MAX: %d\n", --x);
return 0;
}

@ -0,0 +1,23 @@
#include <stdio.h>
int lim = 10;
int main()
{
int i, c;
char s[lim];
i = 0;
while (i < lim-1){
c = getchar();
if (с == EOF)
break;
else if (с == '\n')
break;
else
s[i] = c;
++i;
}
s[i] = '\0';
//for (i = 0; i < lim-1 && (с = getchar()) != EOF && с != '\n'; ++i)
//s[i] = c;
}

@ -0,0 +1,40 @@
#include <stdio.h>
#include <ctype.h>
#define MAXLEN 30
void expand(char s1[], char s2[]);
int main()
{
char in[MAXLEN] = "-A-Z1-9\0";
char out[MAXLEN];
printf("s1 = %s\n", in);
expand(in, out);
printf("s2 = %s\n", out);
return 0;
}
void expand(char s1[], char s2[])
{
int i, j;
char t;
for (i = 0, j = 0; s1[i] != '\0'; i++)
{
if ( s1[i] == '-' )
{
if ( (isdigit(s1[i-1]) && isdigit(s1[i+1]) && (s1[i-1]<s1[i+1])) ||
(islower(s1[i-1]) && islower(s1[i+1]) && (s1[i-1]<s1[i+1])) ||
(isupper(s1[i-1]) && isupper(s1[i+1]) && (s1[i-1]<s1[i+1])) )
for (t = (char)(s1[i-1]+1); t < s1[i+1]; t++)
s2[j++] = t;
else
s2[j++] = s1[i];
}
else
s2[j++] = s1[i];
}
s2[j] = '\0';
}
Loading…
Cancel
Save