C/C++
Напишите пожалуйста программу на Си
Ввести текст. Определить, на какую букву оканчивается больше всего слов в тексте.
Код под Visual Studio
#include
#include
#include
#define BUFFER 0x400
#define SIZEBOX 0x100
char char_max(const char* box) {
size_t index = 0;
size_t i = 0;
while (++i < SIZEBOX) if (box[i] > box[index]) index = i;
return (char)index;
}
int main(void) {
char line[BUFFER];
gets_s(line, BUFFER);
const char* delim = " ";
char* word = NULL;
char* context = NULL;
char box[SIZEBOX] = { 0 };
char letter;
word = strtok_s(line, delim, &context);
while (word != NULL) {
++box[word[strlen(word) - 1]];
word = strtok_s(NULL, delim, &context);
}
letter = char_max(box);
printf("Letter: %c", letter);
system("pause > nul");
return 0;
}
#include
const char bukvy[] = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
int is_bukva(const char c)
{
for(int x = 0; bukvy[x]; x++)
if(c == bukvy[x])
return 1;
return 0;
}
int main()
{
const int size = 1000;
char s[size];
int i,j, count[26] = {0}, max = 0, i_max = 0;
fgets(s,size,stdin);
for(i = 0; s[i]; i++)
{
if(is_bukva(s[i]) && s[i])
while(is_bukva(s[i]) && s[i])
i++;
for(j = 0; bukvy[j]; j++)
if(s[i-1] == bukvy[j])
{
count[(j)/2]++;
}
}
for(j = 0; j < 26; j++)
{
if(max < count[j])
{
i_max = j;
max = count[j];
}
}
printf("%c\n",bukvy[i_max*2]);
return 0;
}
Василий Смирнов
Я отредактировал код
#include
#include
#include
#define BUFFER_SIZE 512
int main(void)
{
int i;
char buffer[BUFFER_SIZE];
size_t chars['z'] = {0};
char frequent = 'a';
if (fgets(buffer, BUFFER_SIZE, stdin)) {
for (i = 0; i < strlen(buffer); i++) {
switch (buffer[i + 1]) {
case '\0':
case ' ':
chars[buffer[(i++)]]++;
}
}
}
for (i = 'a'; i < 'z'; i++) {
if (chars[frequent] < chars[i])
frequent = i;
}
printf("frequent: %c\n", frequent);
return 0;
}
// one two three four five six seven eight nine ten
// frequent: e
Похожие вопросы
- СРОЧНО Напишите пожалуйста программу на Си
- Напишите пожалуйста программу на СИ, массив стат или динам
- СРОЧНО Напишите пожалуйста программу на Си
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- НАПИШИТЕ ПОЖАЛУЙСТА ПРОГРАММУ НА СИ
- Помогите пожалуйста написать программу на Си
- Написать программы на СИ
- Работа со структурами. Написать программу для СИ
- Помогите написать программу на СИ
- Написать программу на Си, помогите!!!