Найти и напечатать все идентификаторы,состоящие из заглавных букв - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: Задана последовательность идентификаторов,разделённых одним или несколькими пробелами,оканчивающаяся точкой сразу за последним идентификатором.Каждый идентификатор содержит не более 12 символов.Длина последовательности не более 36 идентификаторов.Найти и напечатать все идентификаторы,состоящие из заглавных букв. Попробовал,вообще не получается.
 #include <stdio.h>
#include <conio.h>
 #define L 900
int STR_len(char *STR)
{
    int i;
    i=0;
    while(STR[i]!='\0')
        i++;
    return i;
}
void main() 
{
    /* //int a;
    char str[36][12];
    char string[L];
    int f;
    int i;
 
    printf("Write indenteficators\n");
    scanf("%[^\n]", string);
    //gets(string);
    printf(string);
    
    f =0;
    i = STR_len(string);
    printf(i);
    
    /*while(string[f]!=' ')
    {
        while(string[f]!=' ')
            {
                str[1][f]=string[f];
            }
        f++;
 
    }
    printf(str[1]);*/
    int i,u;
        char c;
        char s[900];
        char str[36][12];
 
        i=0;
        u=0;
        repeat:
        while((c=getch())!=' ')
        {
            putch(c);
            str[u][i]=c;
            i++;
        }
        printf("\n");
            printf(str[u]);
            u++;
            i=0;
        goto repeat;
        //putch(c);
       /* while((c=getch())!='.')
        {   
            
            /*if(c=getch()!=' ')
            {
                
                u++;
                i=-1;
            }
            putch(c);
            str[u][i]=c;
                s[i]=c;
                i++;
        }
        s[i]='\0';*/
 
        /*printf("\nYour line:\n");
        printf("%s",str);*/
 
    getch();
        //return 0;
    //scanf("%a%d");
    
 }

Решение задачи: «Найти и напечатать все идентификаторы,состоящие из заглавных букв»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <mem.h>
#include <string.h>
#include <ctype.h>
 
void main()
{
 const int countChar=25*80+1;
 char *data=new char[countChar], *str=data, *word=NULL, *symbol=NULL;
 int flag=0;
 setmem(str,countChar,0);
 clrscr();
 printf("Input data: ");
 gets(str);
 printf("\nFind Inditificators\n");
 str[strlen(str)-1]=0;
 while (*str)
 {
  while (*str==' ')
   str++;
  word=str;
  str=strchr(str,' ')+1;
  str[-1]=0;
  symbol=word;
  do
  {
   flag=isupper(*symbol);
  }
  while ((flag)&&(*++symbol));
  if (flag) printf("%s\n",word);
 }
 delete []data;
 printf("Press any key...");
 getch();
}

Объяснение кода листинга программы

Вывод списка идентификаторов, состоящих из заглавных букв, осуществляется следующим образом:

  1. Создается массив символов, в который считываются данные от пользователя.
  2. В цикле удаляются все пробелы в конце строк.
  3. В каждой строке ищется первый символ, являющийся заглавной буквой. Если такой символ найден, строка выводится на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы