Per rispondere al primo messaggio servono due cicli for uno interno all'altro.
ad esempio se tu volessi stampare un triangolo di 4 asterischi così
*
**
***
****
dovresti fare in modo di avere
#include <stdio.h>
int main () {
int n=4;
int j,i;
for (i=0;i<n;i++) {
for(j=0;j<=i;j++) { printf ("*");
}
printf ("\n");
}}
così il pc sa che per la prima iterazione del primo ciclo stamperà un asterisco perchè il secondo ciclo itera solo una volta, per la seconda dato che i=1 j<=1 partendo da J=0 itererà due volte stampando così due asterischi...ecc...ricordati di mettere il terminatore di linea fuori dal secondo ciclo altrimenti non ti andrà a capo! (errore frequente è mettere nel secondo ciclo printf ("*\n"); così facendo si andrebbe a capo dopo ogni asterisco!)