Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Музалев / Лабораторная работа №8
.docxМосковский Государственный Университет Леса
ФЭСТ ВТ-11
Лабораторная работа №8.
Программирование на языках высокого уровня
Тема: “Строки”
Выполнил: студент Музалёв Д.В.
Проверил : Ларионов Н.В.
Москва 2012.
Вариант 12
Я в чёрных книгах отыскал,
Что за восточными горами
На тихих моря берегах,
В глухом подвале под замками
Храниться меч – и что же? Страх!
Ввести текст с клавиатуры или инициализировать массив строк:
Написать программу в виде функций
1. Вывести текст на экран оформив его в красивый арнамент.
2. Подсчитать количество слов в каждой строке в тексте.
3. Подсчитать количество знаков препинания в тексте.
4. Упорядочить текст по первой букве первого слова строки по
убыванию.
1)Листинг программы:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
int main()
{
const int n=5;
int j,i;
char c;
char mas[n][40]={" Y v chernih knigah otiskal, ",
" Chto za vostochnimi gorami ",
" Na tihih mory beregah, ",
" V gluhom podvale pod zamkami ",
" Hranitsa mech - i chtoge? Strah! "
};
printf(" ************************************************\n");
printf(" ************************************************\n");
printf(" ************************************************\n");
for (i=0; i<n; i++){printf("### "); printf("%s",mas[i]); printf(" ###\n");}
printf(" ************************************************\n");
printf(" ************************************************\n");
printf(" ************************************************\n");
system("pause");
return 0;
}
2)Листинг программы:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
const int n=5;
int j,i,k,m[n];
char c;
char mas[n][40]={"Y v chernih knigah otiskal,",
"Chto za vostochnimi gorami",
"Na tihih mory beregah,",
"V gluhom podvale pod zamkami",
"Hranitsa mech - i chto ge? Strah!" };
char st[40];
for(i=0;i<n;i++){j=0;
while(mas[i][j]!='\0')
{
st[j]=mas[i][j];j++;}
j=0;k=0;
while( st[j]!='\0'){
if(st[j]==' ')k++;j++;}
m[i]=k;}
for(i=0;i<n;i++)
printf("%i ",m[i]+1);
system("pause");
return 0;
}
3)Листинг программы:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>z
int main()
{
const int n=5;
int j,i,k;
char c;
char mas[n][40]={"Y v chernih knigah otiskal,",
"Chto za vostochnimi gorami",
"Na tihih mory beregah,",
"V gluhom podvale pod zamkami",
"Hranitsa mech - i chto ge? Strah!" };
k=0;
for (i=0; i<n; i++){j=0;
while (mas[i][j]!='\0'){
if(mas[i][j]==','||mas[i][j]=='.'||mas[i][j]=='!'||mas[i][j]=='?')k++; j++;}}
printf("K-vo znakov prepinania = %i \n",k);
system("pause");
return 0;
}
4) Листинг программы:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
int main()
{
const int n=5;
int j,i,k;
char c,*st;
char *mas[]={"Y v chernih knigah otiskal,",
"Chto za vostochnimi gorami",
"Na tihih mory beregah,",
"V gluhom podvale pod zamkami",
"Hranitsa mech - i chto ge? Strah!" };
for (i=0; i<n-1; i++)
for(j=0;j<n-1; j++)
if(strcmp(mas[j],mas[j+1])<0)
{
st=mas[j];
mas[j]=mas[j+1];
mas[j+1]=st;}
for(i=0;i<n;i++)
puts(mas[i]);
system("pause");
return 0;
}