#include <stdio.h>

void main()
{
    char ch;

    clrscr();
    ch = 'A';
    while(ch <= 'z')
    {
       printf("%c", ch);
       ch++;
    }
    getch();
 }  

¿Cómo elimino basura como [, ], ', \, etc. de la salida de este programa?

-1
HuHu 2 oct. 2019 a las 14:55

1 respuesta

La mejor respuesta

Como se mencionó en un comentario, omita todo entre Z, por ejemplo, de esta manera:

#include "stdio.h"
int main(){
    char ch = 'A';
    while(ch <= 'z'){
        if(ch <= 'Z' || ch >= 'a'){
            printf("%c", ch);
        } 
        ch++;
    } 
    printf("\n");
    return 0;
}

O, alternativamente, use un ciclo for ya que conoce el principio y el final del rango de valores:

#include "stdio.h"
int main(){
    char ch;
    for(ch = 'A'; ch <= 'z'; ch++){
        // loop through range of ASCII values from 'A' to 'z', upper case
        // and lower case letters, and print out only alphabetic characters.
        if(ch <= 'Z' || ch >= 'a'){
            // character is in range of 'A' thru 'Z' or 'a' thru 'z'.
            printf("%c", ch);
        } 
    } 
    printf("\n");
    return 0;
}

O, alternativamente, utilice la función isalpha() para detectar si un carácter es alfabético o no.

#include "stdio.h"

int main() {
    char ch;
    // loop through range of ASCII values from 'A' to 'z', upper case
    // and lower case letters, and print out only alphabetic characters.
    for (ch = 'A'; ch <= 'z'; ch++)  isalpha (ch) && printf ("%c", ch);
    printf("\n");
    return 0;
}
3
6 revs, 3 users 51% 24 ene. 2020 a las 04:49