Legjobb válasz
Hé, ez nagyon egyszerű … De mielőtt megmutatnám a kódot és a kimenetet, hadd magyarázzam el, hogyan csináltam ezt … ezt a C szökési szekvenciáján keresztül tette …
Mi az a szökési szekvencia?
A menekülési szekvencia egy szekvencia olyan karakterek, amelyek nem képviselik önmagukat, ha egy karakterben vagy karakterláncban szerepelnek, de lefordítják egy másik karakterbe vagy olyan karaktersorozatba, amelyet nehéz vagy lehetetlen közvetlenül ábrázolni.
Escape szekvenciák a C-ben:
A következő menekülési szekvenciák a C szabványban vannak meghatározva. Ez a táblázat azokat az értékeket is bemutatja, amelyekhez az ASCII-ben hozzárendeltek. Ezek a menekülési szekvenciák azonban használhatók minden olyan rendszerben, ahol C fordító van, és különböző értékekhez társulhatnak, ha a rendszer nem használ karakterkódolást az ASCII alapján.
A kódolás ideje, hogy \\ n kinyomtasson a kimeneti képernyőn …
Kimenet:
Remélem, hogy a menekülési szekvenciákkal most tisztában vagy …
Boldog kódolás !!!
Válasz
A konzolon kinyomtatott dolgok balról balról indulnak és jobbra lent folynak. Ez tölti fel először a felső sort, amíg új sor nem jelenik meg, vagy a sor teljesen kitöltődik, majd folytatja a következő sort, és folytassa így.
Most, ha valamilyen mintát szeretne rajzolni, akkor ez valamilyen kialakítás lesz, például háromszög vagy piramis, vagy bármilyen karakter vagy szám.
Bármi nyomtatni kell kinyomtatni egy kijelölt karakter (mondjuk ’*’), A tér és az új vonal. Ezután legalább két huroknak kell lennie (mondjuk a hurokhoz).
Egy külső huroknak kell lennie, amely teljes egészében átfogja az egyik képernyősort, és legalább egynek kell lennie vagy több belső hurok, amelyek az igényünknek megfelelően karaktert vagy teret nyomtatnak a progresszió növekedésében vagy csökkentésében, vagy bizonyos esetekben állandóan.
Amit valaha is nyomtatnunk kell, egy újonc számára jobb, ha ezt papírra rajzoljuk. először és bontsa sorokban és oszlopokban, majd soronként elemezze, és nézze meg, hogyan növekszik / csökken minden sorban a szóközök / karakterek száma, és ennek megfelelően illessze be a belső hurkokat. (Egy külső hurok kötelező, amely az ábrán látható sorok számával megegyező számra fog futni.)
Egy egyszerű példát veszek fel, tegyük fel, hogy egy egyszerű, kitöltött háromszöget kell rajzolnom:
http://1.bp.blogspot.com/–Si3QpY5HE0/WLxS9GYrolI/AAAAAAAAAYs/B4tkjiJg9l0oGLiLXAFgj33nEnVBOLprQCLcB/s1600/Mirror\_Right\_Triangle\_Pattern.JPG
Látjuk, hogy minden sor a következőket tartalmazza:
- Szóközök a csökkenő progresszióban
- * a növekvő progresszióban
- Minden sorban összesen 7 karakter van kinyomtatva
- Összesen 7 sor van
Tehát a külső ciklusnak 7 iterációja lesz (hét sorhoz), és az összes belső hurok összesen 7 karaktert nyomtat ki minden egyes iterációban a külső hurok után, amelyet egy új sor karakter követ.
Két belső hurkot illesztünk be, először a szóközöket csökkenő, a másodikban pedig a * jelet növekvő progresszióval nyomtatjuk ki:
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*/
}
}
Köszönöm