Найти и напечатать все идентификаторы,состоящие из заглавных букв - 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();
}
Объяснение кода листинга программы
Вывод списка идентификаторов, состоящих из заглавных букв, осуществляется следующим образом:
- Создается массив символов, в который считываются данные от пользователя.
- В цикле удаляются все пробелы в конце строк.
- В каждой строке ищется первый символ, являющийся заглавной буквой. Если такой символ найден, строка выводится на экран.