En printf usa %+d en vez de solo %d.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include <stdio.h>
int main() {
char c[] = {[0 ... 26]'='};
int d[] = {[0 ... 4]1, [8 ... 12]2};
printf("\n%s\n", c);
for(int i=0; i<sizeof(d)/sizeof(d[0]); ++i)
printf(" %d", d[i]);
printf("\n%s\n", c);
}
#include <stdio.h>
int main() {
int n;
int i;
int k;
int numerador;
int denominador;
int repeticiones;
printf("> ");
scanf("%d", &n);
printf("S =");
numerador = 1;
denominador = 1;
i = 0;
k = 0;
while(denominador>0) {
// Calculo las veces que se repite el numerador
repeticiones = 2 + numerador%2;
printf(" %d/%d ", numerador, denominador);
// Calculo el próximo denominador
if(k<n-1)
denominador += 2;
else if(k>n-1)
denominador -= 2;
++k;
// Control del bucle de las repeticiones
if(++i==repeticiones) {
++numerador;
i=0;
}
// Escribo el signo
if(denominador>0) {
if(numerador%2)
putchar('+');
else
putchar('-');
}
}
}
int buscar_c(char *cad, char c) {
if(*cad=='\0')
return 0;
return (*cad==c)+buscar_c(cad+1,c);
}
#include <stdio.h>
void rombo(unsigned altura) {
static unsigned h; // Height, altura
static unsigned w; // Width, ancho
static unsigned i; // Iteration, el escalon actual
if(altura) {
if(altura%2 == 0) // Para que quede bien cuadrado
++altura; // altura debe ser impar
h = altura;
w = 1;
i = 0;
}
if(i<h) { // Mientras el reglón no ha llegado a la altura del rombo
int j;
for(j=0; j<=h/2-w/2; ++j) // Calculo los espacios por escalon
putchar(' '); // y los imprimo
for(j=0; j<w; ++j) // Imprimo
putchar('*'); // los asteriscos
putchar('\n'); // Al siguiente reglón
if(i<h/2) w += 2; // Calculo los asteriscos que
else w -= 2; // habrá en el siguiente reglon
++i; // Voy al siguiente reglón
rombo(0); // Llamo de nuevo a rombo indicando que siga con los datos que hay (0)
}
}
int main() {
rombo(6);
}