1. В программе вводятся по очереди символьные строки. Количество букв ‘а’ в этих строках подсчитывается в функции, и это число возвращается в основную программу. Конец ввода строк это ввод нулевой строки.
В среде Borland C написать программу, которая считает количество букв а в вводимых строках.
#include <stdio.h>
#include <conio.h>
#include <string.h>
int kolvo(char*pti,int dl)//Функция считает количество букв а и возвращает в программу
{
int i,k=0;
for(i=0;i<dl;i++)
if (*(pti+i)==’a’)
k++;//наращивание счётчика
return k;
}
void main()
{
clrscr();//очистка экрана
m:int i,k,s,dl;
char c[80];
fflush(stdin);//очистка буфера клавиатуры
do
{
printf(» Введите строку=»);
gets(c);//ввод строки
if (c[0]==0)//проверка на пустую строку
break;
dl=strlen(c);
k=kolvo(c,dl);//вызов функции
if (k!=0)
printf(» Количество букв а =%d»,k);//вывод если буквы а есть
else
printf(» Букв а в строке нет»);//оповещение о том что букв а нет
}
while(1);
printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод
scanf(«%d»,&s);
if (s==1)
goto m;
getch();
}
- Дана строка, содержащая английский текст. Найти количество слов, начинающихся с буквы b
В среде Borland C написать программу, которая в заданной строке считает количество слов, начинающихся с буквы b
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();//очистка экрана
m:int i,k=0,s;
char c[80];
fflush(stdin);//очистка буфера клавиатуры
printf(«Введите строку=»);
gets(c);//ввод строки
if (c[0]==’b’)
k=1;//проверка первого слова
for (i=0;i<strlen(c);i++)
if (c[i]==32&&c[i+1]==’b’)//проверка слов
k++;//наращивание счётчика
printf(» Количество слов=%d»,k);//вывод
printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод
scanf(«%d»,&s);
if (s==1)
goto m;
getch();
}
- Определить, есть ли в строке заданное слово.
В среде Borland C написать программу, которая в введённой строке ищет заданное слово.
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();//очистка экрана
m:int i,s,k=0;
char sl[80],c[80];
fflush(stdin);//очистка буфера клавиатуры
printf(» Введите строку=»);
gets(c);//ввод строки
printf(» Введите слово=»);
gets(sl);//ввод слова
if (strstr(c,sl)!=0)//проверка на вхождение
k++;
if (k==0)//проверка есть ли слово в строке
printf(» в строке заданного слова нет «);//вывод
else
printf(» в строке заданное слово есть»);//вывод
printf(» Повторнный ввод? 1-да 0-нет =»);//запрос на повторнный ввод
scanf(«%d»,&s);
if (s==1)
goto m;
getch();
}
4.Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран количество слов, содержащих три буквы.
В среде Borland C написать программу, которая в ведённой строке считает количество слов, состоящих из 3 букв
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();//очистка экрана
m:int i,k=0,s;
char c[80];
fflush(stdin);//очистка буфера клавиатуры
printf(«Введите строку=»);
gets(c);//ввод строки
if (c[3]==32)//проверка первого слова
k=1;
if (c[strlen(c)-4]==32)//проверка последнего слова
k++;//наращивание счётчика
for (i=0;i<strlen(c);i++)
if (c[i]==32&&c[i+4]==32)//проверка слов
k++;//наращивание счётчика
printf(» Количество слов=%d»,k);//вывод
printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод
scanf(«%d»,&s);
if (s==1)
goto m;
getch();
}
5.Дана строка. Определить, сколько в ней символов :.
В среде Borland C написать программу, которая будет определять, сколько во введённой строке символов “:”
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();//очистка экрана
m:int i,k=0,s;
char c[80];
fflush(stdin);//очистка буфера клавиатуры
printf(» Введите строку=»);
gets(c);//ввод строки
for(i=0;i<strlen(c);i++)
if(c[i]==’:’)//проверка на двоеточие
k++;//наращивание счётчика
if (k==0)//если нет двоеточий
printf(» Таких символов нет»);
else
printf(» Количество символов ‘:’ = %d»,k);//вывод
printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод
scanf(«%d»,&s);
if (s==1)
goto m;
getch();
}
6.Дана строка. Посчитать количество слов, которые начинаются и оканчиваются одной и той же буквой.
В среде Borland C написать программу, которая считает количество слов в строке, которые начинаются и оканчиваются на 1 и ту же букву.
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();//очистка экрана
m:int i,j,k=0,kp,s;
char c[80];
fflush(stdin);//очистка буфера клавиатуры
printf(«Введите строку=»);
gets(c);//ввод строки
for (i=0;i<strlen(c);i++)
if (c[i]==32)//проверка от пробела до пробела
{
kp=i;
for (j=i+1;c[j]!=32;j++)
kp++;
if (c[i+1]==c[kp]&&c[kp]!=32)//если символы равны
k++;//то наращивается счётчик
i=j;
}
for(i=0;c[i]!=32;i++);
if (c[0]==c[i-1])//проверка первого слова
k++;
for(i=strlen(c);c[i]!=32;i—);
if (c[i+1]==c[strlen(c)-1])//проверка последнего слова
k++;
printf(» Количество слов=%d»,k);//вывод
printf(» Повторить ввод? 1-да 0-нет =»);//запрос на повторнный ввод
scanf(«%d»,&s);
if (s==1)
goto m;
getch();
}
7.Структура «Школьник»:
— фамилия;
— имя;
— отчество;
— класс;
— пол;
— дата рождения (число, месяц, год);
— домашний адрес (город, улица, номер дома, номер квартиры).
— создать динамический массив структур;
— задать с клавиатуры размер массива структур;
— написать функцию для формирования одномерного массива структур, значения которых вводятся с клавиатуры;
— написать функцию вывода форматированной таблицы структур на экран с шапкой;
— написать функцию дополнения уже существующего массива структур новыми структурами;
— написать функцию поиска структур с заданными признаками (например, по заданному диапазону значений элемента);
— Написать функцию упорядочения массива структур по заданному полю (элементу).
В среде Borland C написать программу, котораябудет создавать динамический массив структур, размер которого задаётся с клавиатуры. Выполняет с этим массивом следующие функции: ввод полей структуры, форматированный вывод полей структуры с шапкой, дополнение массива новыми структурами, поиск структур в массиве, сортировка элементов массива
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct sh
{
char fio[15];//поля структуры
char kl[3];
char pol[2];
char dr[12];
char adr[80];
};
void vvod(sh*pb,int k)//функция ввода
{
int i;
for (i=0;i<k;i++)
{
puts(» Введите фио=»);//ввод полей структуры
gets((pb+i)->fio);
puts(» Введите класс=»);
gets((pb+i)->kl);
puts(» Введите пол(м-муж. ж=жен.)=»);
gets((pb+i)->pol);
puts(» ‚Введите дату рождения=»);
gets((pb+i)->dr);
puts(» Введите адрес=»);
gets((pb+i)->adr);
}
}
void vivod(sh*pb,int n)//функция вывода
{
int i;
for (i=0;i<n;i++)//вывод полей структуры
printf(» %s %s %s %s %s»,(pb+i)->fio,(pb+i)->kl,(pb+i)->pol,(pb+i)->dr,(pb+i)->adr);
}
void dop(sh*pb,int k,int n)//функция ввода доп. эл-тов
{
int i;
for (i=k;i<(k+n);i++)
{
puts(» Введите фио=»);//ввод доп. эл-тов
gets((pb+i)->fio);
puts(» Введите класс=»);
gets((pb+i)->kl);
puts(» Введите пол(м-муж. ж=жен.)=»);
gets((pb+i)->pol);
puts(» ‚Введите дату рождения=»);
gets((pb+i)->dr);
puts(» Введите адрес=»);
gets((pb+i)->adr);
}
}
void poisk(sh*pb,int k)//функция поиска
{
int i,flag=0;
char fam[20];
puts(» Введите фамилию для поиска=»);
gets(fam);//ввод искомой фамилии
for(i=0;i<k;i++)
if((strstr((pb+i)->fio,fam))!=0)//проверка на существование такой фамилии
{
printf(» ФИО Кл Пол ДР Адрес»);//форматированный вывод
printf(» %s %s %s %s %s»,(pb+i)->fio,(pb+i)->kl,(pb+i)->pol,(pb+i)->dr,(pb+i)->adr);
flag=1;
}
if(flag==0)
puts(» ’ЄЁе Ґв»);//оповещение
}
void sort(sh*pb,int k)//функция сортировки
{
sh tmp;
int i,j;
for(i=0;i<k;i++)
for(j=0;j<k-1;j++)
if(strcmp((pb+j)->fio,(pb+j+1)->fio)>0)//сортировка методом пузырька
{
tmp=*(pb+j);
*(pb+j)=*(pb+j+1);
*(pb+j+1)=tmp;
}
}
void main()
{
clrscr();//очистка экрана
sh shk[20];
int fl,n,nd;
printf(«Введите количество элементов=»);
scanf(«%d»,&n);//ввод ко-ва эл-тов в структуре
fflush(stdin);//очистка буфера клавиатуры
vvod(shk,n);//функция ввода
printf(» ФИО Кл Пол ДР Адрес»);
vivod(shk,n);//форматированный вывод
printf(» Нужен доп. ввод? (да =1;нет=0)=»);
scanf(«%d»,&fl);//запрос на ввод дополнительных эл-тов
if (fl==1)
{
printf(» Введите количество доп. эл-тов=»);
scanf(«%d»,&nd);//ввод количества доп. эл-тов
fflush(stdin);
dop(shk,n,nd);//вызов функции ввода доп. эл-тов
sort(shk,n+nd);//вызов функции сортировки
printf(» ФИО Кл Пол ДР Адрес»);
vivod(shk,n+nd);//форматированный вывод
poisk(shk,n+nd);//вызов функции поиска с доп. эл-тами
}
else
{
fflush(stdin);
poisk(shk,n);//вызов функции поиска без доп. эл-тов
}
getch();
}
- КАДРЫ: ФИО, номер цеха, разряд, специальности.
— создать динамический массив структур;
— задать с клавиатуры размер массива структур;
— написать функцию для формирования одномерного массива структур, значения которых вводятся с клавиатуры;
— написать функцию вывода форматированной таблицы структур на экран с шапкой;
— написать функцию дополнения уже существующего массива структур новыми структурами;
— написать функцию поиска структур с заданными признаками (например, по заданному диапазону значений элемента);
— Написать функцию упорядочения массива структур по заданному полю (элементу).
В среде Borland C написать программу, котораябудет создавать динамический массив структур, размер которого задаётся с клавиатуры. Выполняет с этим массивом следующие функции: ввод полей структуры, форматированный вывод полей структуры с шапкой, дополнение массива новыми структурами, поиск структур в массиве, сортировка элементов массива
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct kad
{
char fio[15];//поля структуры
char nom[3];
char razr[2];
char spec[12];
};
void vvod(kad*pb,int k)//функция ввода
{
int i;
for (i=0;i<k;i++)
{
puts(» Введите ФИО=»);//ввод полей структуры
gets((pb+i)->fio);
puts(» Введите номер цеха=»);
gets((pb+i)->nom);
puts(» Введите разряд=»);
gets((pb+i)->razr);
puts(» Введите специальность=»);
gets((pb+i)->spec);
}
}
void vivod(kad*pb,int n)//функция вывода
{
int i;
for (i=0;i<n;i++)//вывод полей структуры
printf(» %s %s %s %s %s»,(pb+i)->fio,(pb+i)->kl,(pb+i)->pol,(pb+i)->dr,(pb+i)->adr);
}
void dop(kad*pb,int k,int n)//функция ввода доп. эл-тов
{
int i;
for (i=k;i<(k+n);i++)
{
puts(» Введите ФИО=»);//ввод полей структуры
gets((pb+i)->fio);
puts(» Введите номер цеха=»);
gets((pb+i)->nom);
puts(» Введите разряд=»);
gets((pb+i)->razr);
puts(» Введите специальность=»);
gets((pb+i)->spec);
}
}
void poisk(kad*pb,int k)//функция поиска
{
int i,flag=0;
char fam[20];
puts(» Введите фамилию для поиска=»);
gets(fam);//ввод искомой фамилии
for(i=0;i<k;i++)
if((strstr((pb+i)->fio,fam))!=0)//проверка на существование такой фамилии
{
printf(» ФИО НЦ Разр Специальность»);//форматированный вывод
printf(» %s %s %s %s %s»,(pb+i)->fio,(pb+i)->kl,(pb+i)->pol,(pb+i)->dr,(pb+i)->adr);
flag=1;
}
if(flag==0)
puts(» Таких нет «);//оповещение
}
void sort(kad*pb,int k)//функция сортировки
{
kad tmp;
int i,j;
for(i=0;i<k;i++)
for(j=0;j<k-1;j++)
if(strcmp((pb+j)->fio,(pb+j+1)->fio)>0)//сортировка методом пузырька
{
tmp=*(pb+j);
*(pb+j)=*(pb+j+1);
*(pb+j+1)=tmp;
}
}
void main()
{
clrscr();//очистка экрана
kad kadr[20];
int fl,n,nd;
printf(«Введите количество элементов=»);
scanf(«%d»,&n);//ввод ко-ва эл-тов в структуре
fflush(stdin);//очистка буфера клавиатуры
vvod(kadr,n);//функция ввода
printf(» ФИО НЦ Разр Специальность»);
vivod(kadr,n);//форматированный вывод
printf(» Нужен доп. ввод? (да =1;нет=0)=»);
scanf(«%d»,&fl);//запрос на ввод дополнительных эл-тов
if (fl==1)
{
printf(» Введите количество доп. эл-тов=»);
scanf(«%d»,&nd);//ввод количества доп. эл-тов
fflush(stdin);
dop(kadr,n,nd);//вызов функции ввода доп. эл-тов
sort(kadr,n+nd);//вызов функции сортировки
printf(» ФИО НЦ Разр Специальность»);
vivod(kadr,n+nd);//форматированный вывод
poisk(kadr,n+nd);//вызов функции поиска с доп. эл-тами
}
else
{
fflush(stdin);
poisk(kadr,n);//вызов функции поиска без доп. эл-тов
}
getch();
}
3.Написать программу, которая считывает текст из файла и выводит на экран только предложения, содержащие введенное с клавиатуры слово.
В среде Borland C написать программу, которая реализовывает работу с файлами
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
clrscr();
FILE *in;
char sl[20];
char str[80]; //переменная для получения строки
int fl=0;
if ((in=fopen(«C:tekst.txt»,»rt»))==0) //проверка на открытие
{
printf(«Ошибка»);
exit(1); //выход
}
puts(«Введите слово=»);
gets(sl); //ввод искомого слова
while(!feof(in))
{
fgets(str,80,in); //получение строки из файла
if (strstr(str,sl)!=0) //поиск подстроки в строке
{
printf(» %s»,str); //вывод строки
fl=1;
}
}
if (fl==0)
printf(» Таких строк нет»); //вывод если нет ни 1 строки
fclose(in);
getch();
}
4Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед которым могут находиться только пробельные символы.
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
FILE *in;
char c[80];
int i,fl;
if((in=fopen(«C:prak4.txt»,»rt»))==0) //проверка на открытие
{
printf(«Ошибка»);
goto m; //выход
}
while(!feof(in))
{
fgets(c,80,in); //получение строки из файла
i=0;
while(c[i]==32) //пропускание пробелов
i++;
if (c[i]==’-‘) //проверка на знак ‘-‘
{
puts(c); //вывод строки
fl=1;
}
}
if (fl==0)
printf(» Таких предложений нет»); //если нет ни 1 строки
m:getch();
}
5.Записать в файл последовательного доступа N целых чисел, полученных с помощью генератора случайных чисел. Подсчитать количество пар противоположных чисел среди компонентов этого файла.
6.Объяснить и написать фрагмент программы: а) вставки нового узла в середину однонаправленного списка? б) удаление узла из конца двунаправленного списка.
struct telnum//объявление структуры
{
char fio[80];//поля структуры
long int tel;
telnum *next,*pred;
};
telnum *cur;
cur=start;
temp=new telnum; //создание нового узла
while(cur->next->tel<temp->tel) //поиск нужного узла
cur=cur->next; //переход на следующий узел
temp->next=cur->next; //соединение связей
cur->next=temp; //соединений связей
telnum *del;
del=end; //запоминание узла который нужно удалить
end=end->pred; //переход end на предыдущий узел
end->next=0; //показатель конца списка
delete del; //удаление узла
7.Создать двунаправленный список. Вставлять новые узлы в середину списка. Распечатать список. Разработанная программа должна продемонстрировать на экране указанные действия. По окончанию программы список должен уничтожаться.
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct telnum//объявление структуры
{
char fio[80];//поля структуры
long int tel;
telnum *next,*pred;
};
int inputdata(telnum*tmp) //функция ввода данных
{
puts(» Вв номер телефона=»);
scanf(«%li»,&tmp->tel); //ввод номера телефона
if(tmp->tel==0) //проверка на нулевой телефон
return 1;
else
{
fflush(stdin); //очистка буфера клавиатуры
puts(» Вв ФИО абонента=»);
gets(tmp->fio); //ввод ФИО абонента
return 0;
}
}
void printall(telnum*st) //функция вывода
{
telnum *cur=st;
for(;cur!=0;cur=cur->next) //цикл от начла до конца списка
printf(» N тел %li, ФИО абон %s «,cur->tel,cur->fio); //вывод
}
void main()
{
clrscr();
telnum*start=0;
telnum*end=0;
telnum*temp,*cur;
do //бесконечный цикл
{
temp=new telnum; //создание нового узла
if(inputdata(temp)) //если телефон = 0 то удаляется узел и выход из цикла
{
delete temp;
break;
}
else
{
if(start==0) //если нет превого узла он создаётся
{
start=temp;
start->next=0;
start->pred=0;
end=start;
}
else //прикрепление нового узла к предыдущему
{
temp->pred=end;
end->next=temp;
end=temp;
end->next=0;
}
}
}
while(1); //бесконечный цикл
printall(start); //вызов функции вывода
temp=new telnum; //создание нового узла для вставки
puts(» Вв номер телефона=»);
scanf(«%li»,&temp->tel); //заполнение полей нового узла
fflush(stdin);
puts(» Вв ФИО абонента=»);
gets(temp->fio);
cur=start->next; //поиск места для вставки
temp->next=cur->next; //соединение связей
temp->pred=cur; //соединений связей
cur->next=temp;
temp->next->pred=temp;
printall(start); //вывод дополненного массива
temp=start;
while(temp!=0) //удаление узлов
{
start=start->next;
delete temp;
temp=start;
}
getch();
}
1.Дан текстовый файл, содержащий вещественные числа. Определить сумму квадратов чисел и записать ее и все числовые данные в новый файл
В среде Borland C написать про-му, которая реализует чтение из 1 файла вещественных чисел и записать суммы их квадратов в другой файл
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main()
{
clrscr();//очистка экрана
FILE *in,*out;
float a,sum=0;
if ((in=fopen(«C:vas.txt»,»rt»))==0) //проверка на открытие файла vas.txt
{
printf(«Ohibka»);
exit(1);
}
if ((out=fopen(«C:rez.txt»,»wt»))==0) //проверка на открытие файла rez.txt
{
printf(«Ohibka»);
exit(1);
}
while(!feof(in))
{
fscanf(in,»%f»,&a); //считывание из файла дробных чисел в перем а
sum+=a*a; //наращивание суммы
}
fprintf(out,»%f»,sum); //занесение результата в файл rez.txt
fclose(in); //закрытие файла vas.txt
fclose(out); //закрытие файла rez.txt
getch();
}
2.Дан текстовый файл. Создать новый файл, в котором информация записана в обратном порядке.
В среде Borland C написать программу, которая считывает информацию из 1 файла и записывает данные в обратном порядке в другой файл.
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
clrscr();
FILE *in,*out;
char c[80];
int i;
if((in=fopen(«C:prak.txt»,»rt»))==0) //проверка на открытие файла
{
printf(» Ошибка»); //вывод сообщения об ошибке
goto m;
}
if((out=fopen(«C:rezul.txt»,»wt»))==0) //проверка на открытие файла
{
printf(» Ошибка»); //вывод сообщения об ошибке
goto m;
}
while(!feof(in))
fgets(c,80,in); //чтение из файла в переменную с
for(i=strlen(c)-1;i>-1;i—) //цикл в обратном порядке
fputc(c[i],out); //запись в файл по символьно
fclose(in); //закрытие файла
fclose(out); //закрытие файла
m:getch();
}
4. Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.
а) Данная задача считывает 2 числа с клавиатуры и в зависимости от их значения заменяет их либо нулями, либо большим из этих чисел.
б)
в)
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int m,n,k;
l:printf(«Введи m и n=»);
scanf(«%d%d»,&m,&n);
if (m!=n)
if (m>n)
n=m;
else
m=n;
else
{
m=0;
n=0;
}
printf(» %d %d»,m,n);
printf(» Повторить ввод? 1-да 0-нет =»);
scanf(«%d»,&k);
if (k==1)
goto l;
getch();
}
5. Пусть элементами равностороннего треугольника являются: 1) сторона а; 2) площадь S; 3) высота h; 4) радиус вписанной окружности r; 5) радиус описанной окружности R. Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника. (switch)
а) Данная задача считывает с клавиатуры элемент и его значение и по этим данным вывод остальные элементы.
б)
в)
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
float a,s,h,r,R;
int c,k;
clrscr();
m:printf(» Введи элемент:: 1- 2-S 3-h 4-r 5-R =»);
scanf(«%d»,&c);
switch(c)
{
case 1:
printf(» Введи значение=»);
scanf(«%f»,&a);
s=(a*a*sqrt(3))/4;
r=(a*sqrt(3))/6;
R=(a*sqrt(3))/3;
h=(a*sqrt(3))/2;
printf(» Площадь=%.2f радиус вп. =%.2f радиус оп. =%.2f высота =%.2f»,s,r,R,h);
break;
case 2:
printf(» Введи значение=»);
scanf(«%f»,&s);
a=2*(sqrt(s/sqrt(3)));
r=(a*sqrt(3))/6;
R=(a*sqrt(3))/3;
h=(a*sqrt(3))/2;
printf(» сторона=%.2f радиус вп. =%.2f радиус оп. =%.2f высота =%.2f»,а,r,R,h);
break;
case 3:
printf(» Введи значение=»);
scanf(«%f»,&h);
a=(2*h)/sqrt(3);
r=(a*sqrt(3))/6;
R=(a*sqrt(3))/3;
s=(a*a*sqrt(3))/4;
printf(» сторона=%.2f радиус вп. =%.2f радиус оп. =%.2f площадь=%.2f»,a,r,R,s);
break;
case 4:
printf(» Введи значение=»);
scanf(«%f»,&r);
a=(6*r)/sqrt(3);
h=(a*sqrt(3))/2;
R=(a*sqrt(3))/3;
s=(a*a*sqrt(3))/4;
printf(» сторона=%.2f высота =%.2f радиус оп. =%.2f площадь =%.2f»,а,h,R,s);
break;
case 5:
printf(» Введи значение=»);
scanf(«%f»,&R);
a=(6*r)/sqrt(3);
h=(a*sqrt(3))/2;
r=(a*sqrt(3))/6;
s=(a*a*sqrt(3))/4;
printf(» сторона=%.2f высота =%.2f радиус вп. =%.2f площадь =%.2f»,a,h,r,s);
break;
default:
printf(» Ошибка ввода»);
}
printf(» Повторить ввод? 1-да 0-нет =»);
scanf(«%d»,&k);
if (k==1)
goto m;
getch();
}
6. Задано натуральное число n. Найти количество натуральных чисел, не превышающих n и не делящихся ни на одно из чисел 2, 3, 5.
а) Данная задача считывает с клавиатуры число n. Запускается цикл от 1 до данного числа и выводятся числа, которые не делятся на 2,3 и 5, и их количество.
б)
в)
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
m:int i,n,k=0,c;
printf(» введи число n=»);
scanf(«%d»,&n);
printf(» «);
for (i=1;i<=n;i++)
if (i%2!=0&&i%3!=0&&i%5!=0)
{
k++;
printf(«%3d»,i);
}
printf(» Количество таких чисел=%d»,k);
printf(» Повторить ввод? 1-да 0-нет =»);
scanf(«%d»,&c);
if (c==1)
goto m;
getch();
}
7. Дано натуральное число n и действительное x. Найти сумму n членов ряда:
а) Данная задача считывает с клавиатуры число членов ряда и число х. Считает сумму членов этого ряда.
б)
в)
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
clrscr();
int n,i,c;
m:float x,s=0;
printf(«Введи n=»);
scanf(«%d»,&n);
printf(» Введи x=»);
scanf(«%f»,&x);
for (i=1;i<=n;i++)
s+=pow(sin(x),i);
printf(» Сумма равна= %.2f»,s);
printf(» Повторить ввод 1-да 0-нет =»);
scanf(«%d»,&c);
if (c==1)
goto m;
getch();
}
8. Написать программу, которая вычисляет факториал введенного с клавиатуры числа. (Факториалом числа n называется произведение целых чисел от 1 до n. Например, факториал 1 равен 1, факториал 8 равен 40320).
а) Данная задача получает число nc клавиатуры и считает его факториал.
б)
в)
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
clrscr();
int n,i,c;
m:long int f=1;
printf(«Введи n=”);
scanf(«%d»,&n);
for (i=1;i<=n;i++)
f*=i;
printf(» Факториал = %li»,f);
printf(» Повторить ввод? 1-да 0-нет =»);
scanf(«%d»,&c);
if (c==1)
goto m;
getch();
}