Najlepsza odpowiedź
Hej, to bardzo proste… Ale zanim pokażę kod i dane wyjściowe, pozwól mi wyjaśnić, jak to zrobiłem… zrobił to przez sekwencję ucieczki w C…
Co to jest sekwencja unikowa?
Sekwencja specjalna to sekwencja znaków, które nie reprezentują siebie, gdy są używane wewnątrz literału znaku lub ciągu znaków, ale są tłumaczone na inny znak lub sekwencję znaków, które mogą być trudne lub niemożliwe do bezpośredniego przedstawienia.
Sekwencje specjalne w C:
Następujące sekwencje specjalne są zdefiniowane w standardzie C. Ta tabela pokazuje również wartości, na które są one odwzorowywane w ASCII. Jednak te sekwencje ucieczki mogą być używane w dowolnym systemie z kompilatorem C i mogą być mapowane na różne wartości, jeśli system nie używa kodowania znaków opartego na ASCII.
Czas do kodowania teraz, aby wydrukować \\ nna ekranie wyjściowym…
Wynik:
Mam nadzieję, że teraz już nie masz problemów z sekwencjami ucieczki…
Miłego kodowania !!!
Odpowiedź
Każda rzecz drukowana w konsoli zaczyna się od lewego górnego rogu i płynie do prawego dolnego rogu, wypełni najpierw górny wiersz, aż napotkana zostanie nowa linia lub wiersz zostanie całkowicie wypełniony, a następnie następny wiersz i kontynuuj w ten sposób.
Teraz, gdy chcesz narysować jakiś wzór, będzie to jakiś wzór, taki jak trójkąt, piramida lub dowolny znak lub cyfra.
być wydrukowane musi być wydrukowane przy użyciu kombinacji określonego znaku (np „*”), Spacja i nowa linia. Następnie muszą być co najmniej dwie pętle (powiedzmy For Loops).
Musi istnieć jedna zewnętrzna pętla, która będzie całkowicie obejmowała jeden rząd ekranu i musi być co najmniej jedna lub wiele wewnętrznych pętli, które będą drukować znaki lub spacje zgodnie z naszymi wymaganiami, zwiększając lub zmniejszając progresję lub stałą czasami.
Cokolwiek mamy do wydrukowania, dla początkującego lepiej jest narysować to na papierze najpierw podziel go na wiersze i kolumny, a następnie przeanalizuj wiersz po wierszu i zobacz, jak w każdym wierszu liczba spacji / znaku rośnie / maleje, i odpowiednio wstaw wewnętrzne pętle. (Jedna zewnętrzna pętla jest obowiązkowa, która będzie działać dla liczby równej liczbie wierszy na naszym diagramie).
Weźmy prosty przykład, przypuśćmy, że muszę narysować prosty wypełniony trójkąt w następujący sposób:
http://1.bp.blogspot.com/–Si3QpY5HE0/WLxS9GYrolI/AAAAAAAAAYs/B4tkjiJg9l0oGLiLXAFgj33nEnVBOLprQCLcB/s1600/Mirror\_Right\_Triangle\_Pattern.JPG
Widzimy, że każdy wiersz zawiera:
- Spacje w kolejności malejącej
- „*” w postępie rosnącym
- W każdym wierszu jest łącznie drukowanych 7 znaków
- Łącznie jest 7 wierszy
Więc zewnętrzna pętla będzie miała 7 iteracji (dla siedmiu wierszy), a wszystkie wewnętrzne pętle będą wypisywać łącznie 7 znaków w każdej iteracji dla pętli zewnętrznej, po której nastąpi znak nowego wiersza.
Wstawiamy dwie wewnętrzne pętle, pierwsza wypisze spacje w malejącej kolejności, a druga wydrukuje * w rosnącej kolejności:
void PrintTriangle()
{
int i,j,k;
for(i=0;i<7;i++)/*Will run 7 times*/
{
{
printf(" ");
}
for(k=0;k<=i;k++)/*Will grow from 1 iteration to 7*/
{
printf("*");
}
printf("\n");/*Will print new line in end of each iteration of i*/
}
}
Dziękuję