Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
ilya0610
1 / 1 / 2
Регистрация: 18.11.2013
Сообщений: 322
#1

Вывести первую букву в строке - C (СИ)

10.01.2014, 19:08. Просмотров 1724. Ответов 4
Метки нет (Все метки)

Помогите исправить программу, что не так напишите...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "stdio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{   
    char n;
    char str[100];
    printf("Write the string: ");
    scanf("%s", str);
    n = str[0];
    for(n = 0; str[n]; n++)
    {
        if (str[n] != '0' && str[n] != ' ')
        {
            printf("%c", str[n]);
        }
            
    }
    printf("\n");
    return 0;
}

http://www.cyberforum.ru/c-beginners/thread1429006.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2014, 19:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести первую букву в строке (C (СИ)):

Ввести строку и букву, вывести только слова, заканчивающиеся на заданную букву
Помогите пожалуйста написать программу, нужно ввести строку и букву, вывести...

Как вывести на экран последнюю букву слова, измененную на следующую букву (по алфавиту)?
Как вывести на экран последнюю букву слова, измененную на следующую букву (по...

Поменять местами первую и последнюю букву слова
Поменять местами первую и последнюю букву слова #include <stdio.h> #include...

Распечатать каждое слово предложения, меняя его первую букву на прописную
Словом назовём всякую последовательность букв латинского алфавита длинны не...

Заменить каждую первую букву слов, начинающихся с гласной буквы, на прописную
Нужно написать программу, которая считывает английский текст из файла и выводит...

4
RHB
33 / 33 / 17
Регистрация: 27.01.2013
Сообщений: 200
10.01.2014, 19:42 #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdio.h"
#include "stdlib.h"
 
int main(){
    int i=0;
    char str[100];
    printf("Input string: ");
    fgets(str, 100, stdin); //защищенный вариант ввода строки
    for(i = 0; str[i]!='\0'; ++i){
       if((str[i]>64 && str[i]<91)||    /* латинские буквы ПРОПИСНЫЕ*/
          (str[i]>96 && str[i]<123)){   /* латинские буквы строчные*/
            break;
        }
    }
    if(str[i]!='\0')
        printf("The first letter in the string is \"%c\"\n", str[i]);
    else
        printf("The string does not contain letters\n");
    system("PAUSE");
    return 0;
}
Ну вам осталось только под ваш Visual Studio адаптировать
1
ilya0610
1 / 1 / 2
Регистрация: 18.11.2013
Сообщений: 322
11.01.2014, 16:32  [ТС] #3
Цитата Сообщение от RHB Посмотреть сообщение
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdio.h"
#include "stdlib.h"
 
int main(){
    int i=0;
    char str[100];
    printf("Input string: ");
    fgets(str, 100, stdin); //защищенный вариант ввода строки
    for(i = 0; str[i]!='\0'; ++i){
       if((str[i]>64 && str[i]<91)||    /* латинские буквы ПРОПИСНЫЕ*/
          (str[i]>96 && str[i]<123)){   /* латинские буквы строчные*/
            break;
        }
    }
    if(str[i]!='\0')
        printf("The first letter in the string is \"%c\"\n", str[i]);
    else
        printf("The string does not contain letters\n");
    system("PAUSE");
    return 0;
}
А если в строке содержаться еще слова, то первую букву следующего слова и так далее, как вывести?
0
RHB
33 / 33 / 17
Регистрация: 27.01.2013
Сообщений: 200
11.01.2014, 17:50 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdlib.h>
#include <stdio.h>
 
inline bool is_letter(char letter){
    if((letter > 64 && letter < 91) ||    /* латинские буквы ПРОПИСНЫЕ*/
       (letter > 96 && letter < 123))     /* латинские буквы строчные*/
            return 1;
    return 0;
}
 
int main(){
    int i=0;
    char str[100];
    bool flagNoLetters = 1;
    printf("Input string: ");
    fgets(str, 100, stdin); /* защищенный вариант ввода строки */
    for(i = 0; str[i]!='\0'; ++i){
       if(is_letter(str[i]) && (!is_letter(str[i-1]) || i==0)){
             printf("The first letter in the word is \"%c\"\n", str[i]);
             flagNoLetters = 0;
        }
    }
    if(flagNoLetters)
       printf("The string does not contain letters\n");
    system("PAUSE");
    return 0;
}
Добавлено через 50 минут
кстити, извиняюсь, снова забыл про то что здесь чистый Си. Чтобы прога была на Си, замените
1. bool flagNoLetters = 1; на int flagNoLetters = 1;
2. inline bool is_letter.... на int is_letter....
1
easybudda
Модератор
Эксперт CЭксперт С++
10021 / 5944 / 1483
Регистрация: 25.07.2009
Сообщений: 11,230
12.01.2014, 06:22 #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ], * p;
    
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) )
            printf("%c", *p);
    
    return 0;
}
1
12.01.2014, 06:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2014, 06:22
Привет! Вот еще темы с решениями:

Каждую первую букву слова написать большой буквой, остальные маленькими
Привет всем! Я ломаю голову над одним упражнением. Рядом есть сэмплы этого...

Создать одномерный массив, где первую букву нужно сделать большой
Добрый день есть ли похожие темы на форуме с задачей создать одномерный массив...

Заменить каждую первую букву слов, которые начинаются с гласной буквы на заглавную
Написать программу которая считывает текст з файла и выводить его на экран,...

Заменить каждую первую букву слов, начинающихся с гласной буквы, на восклицательный знак
Написать программу, которая вводит строку символов и выводит его на экран,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru