2016-12-26 12 views
1

Ich versuche zufällig Zeichen in Zeichenfolge zufällig zu ändern. Auch das Programm entscheidet, wie viele Zeichen sich zufällig ändern. Der Compiler sieht die zweite Schleife nicht. Ich weiß nicht warum? Vielen Dank noch einmalCompiler sieht nicht die zweite für die Schleife

#include <ctype.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

int main() { 
    char string[10]; 
    srand(time(NULL)); 
    int a; 
    int count = 0; 
    printf("Please enter string: "); 
    scanf("%s", string); 
    for (a = 0; string[a] != '\0'; a++) { 
     count++; 
    } 
    printf("%d\n", count); 
    for (int i = 0; i <= count; i + rand() % count) { 
     string[i]; 
    } 
    printf("String is: %s ", string); 
} 
+2

'i + rand()% count' tut nichts. und 'string [i];' tut auch nichts. all das ist egal, seit 'string' nicht deklariert ist. –

+1

Was macht das 'i + rand()% count' in der zweiten' for' Schleife? –

+1

Das Semikolon am Ende der zweiten 'for' Anweisung ist ebenfalls falsch. – zwol

Antwort

1

Um ein zufälliges char in einem Wort zu wählen und ersetzen Sie es mit einer zufälligen char Sie folgenden versuchen.

#include <ctype.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

int main() { 
    char string[10]; 
    srand(time(NULL)); 
    int a; 
    int count = 0; 
    printf("Please enter string: "); 
    scanf("%s", string); 
    for (a = 0; string[a] != '\0'; a++) { 
     count++; 
    } 
    printf("%d\n", count); 
    char randomletter = 'a' + (random() % 26); 
    string[rand() % count] = randomletter; 
    printf("String is: %s ", string); 
} 

-Test

Please enter string: foobar 
6 
String is: fooiar 

-Test 2

Please enter string: zoobar 
6 
String is: zolbar 
+0

ja ich habe es versucht, danke für Ihre Hilfe :) –

Verwandte Themen