Pętle zagnieżdżone
Część sekcji Podstawy ścieżki C w Coddy. Lekcja 43 z 63.
Pętle zagnieżdżone to pętle umieszczone wewnątrz innej pętli. Podczas każdej iteracji pętli zewnętrznej pętla wewnętrzna wykonuje się w całości.
Utwórz zewnętrzną pętlę, która wykonuje się 3 razy:
for (int i = 0; i < 2; i++) {
// Tutaj kod pętli zewnętrznej
}Dodaj pętlę wewnętrzną, która wykonuje się 3 razy podczas każdej iteracji pętli zewnętrznej:
int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}Wynik będzie następujący:
0,0 0,1 0,2
1,0 1,1 1,2 Zauważ, że pętla wewnętrzna kończy swoje iteracje, zanim pętla zewnętrzna przejdzie do następnej iteracji. Każda pętla ma własny licznik: j za każdym razem zaczyna ponownie od 0, gdy uruchamia się pętla zewnętrzna, a rows i cols pozostają takie same i jedynie informują pętle, kiedy mają się zatrzymać.
Wyzwanie
ŁatwyUtwórz program, który wypisuje wzór prostokąta z gwiazdek (*) na podstawie podanej przez użytkownika liczby wierszy i kolumn.
Twój program powinien:
- Wczytać od użytkownika dwie liczby całkowite: liczbę wierszy i kolumn.
- Użyć zagnieżdżonych pętli, aby wypisać wzór prostokąta z gwiazdek, w którym zewnętrzna pętla obsługuje wiersze, a wewnętrzna pętla obsługuje kolumny.
- Wypisać znak nowej linii po każdym wierszu.
Na przykład, jeśli dane wejściowe to 3 wiersze i 4 kolumny, wynik powinien wyglądać tak:
****
****
****Użyj nowego licznika w każdej pętli (na przykład i dla wierszy i j dla gwiazdek w wierszu) i porównuj go z rows lub columns. Nie zmieniaj samych rows ani columns: każdy wiersz potrzebuje ponownie columns.
Spróbuj swoich sił
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// Wpisz tutaj swój kod, aby wyświetlić wzór
return 0;
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne
Typy danychLiczby całkowiteLiczby zmiennoprzecinkowe — float i doubleZnakiWartości logiczneStałePodstawy printfZasady nazewnictwa zmiennychKonwersja typów — część 1Konwersja typów — część 2Wyzwanie podsumowujące3Operatory
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaOperatory przypisaniaOperatory relacyjneOperatory logiczne — część 1Operatory logiczne — część 2Operatory logiczne — część 3Wyzwanie podsumowującePoćwicz samodzielnie: Kompilator C online