C -Problem z wynikiem po kompilacji i uruchomieniu

0

Oto kod


#include <stdio.h>

int main()
{
	int a, b;
	printf("podaj a");
	scanf("%d", &a);
	printf("podaj b");
	scanf("%d", &b);

	if(a==0)
	{
		if (b==0)
		printf("rownanie tozsamosciowe");
		else
		printf("rownanie sprzeczne");

	}
	else
{
    int x;
    x=(-b)/a;
	printf("rownanie ma 1 rozw.=%d", &x);
}
system ("pause");
return 0;
}

Po uruchomieniu programu i wprowadzeniu liczb mających spowodować 1 rozw. równania wyświetla się liczba 2686740. Proszę o pomoc gdzie tkwi błąd i wyrozumiałość, dopiero zaczynam.

0

printf("rownanie ma 1 rozw.=%d", &x);

&x czy x ?

0

Mam jeszcze problem z dwoma kodami:

  1. Nie wiem czemu, ale w konsoli muszę podać 2 razy liczbę scanfem(obliczanie silni)
 #include<stdio.h>
#include<windows.h>

int main()
{
    int i;
    printf("podaj liczbe do silni\n");
    scanf("%d\n", &i);
    int k=2;
    int silnia=1;
    while(k<=i)
    {
        silnia=silnia*k;
        k++;
    }
    printf("silnia z %d wynosi %d", i, silnia);
    system("pause");
    return 0;
}
  1. Tutaj nie wiem co jest źle, może coś z algorytmem i ten sam problem co wcześniej(suma podanych "n" liczb)
#include<stdio.h>
#include<windows.h>

int main(void)
{
    int i, a;
    printf("podaj ile ma byc zsumowanych liczb\n");
    scanf("%d\n", &i);
    int suma=0;
    int x=0;
    while(x<i)
    {
      printf("podaj liczbe");
     scanf("%d\n", &a);
     suma=suma+a;
     x++;
    }
   printf("suma liczb wynosi %d", suma);
    system("pause");
    return 0;
}
0
#include<stdio.h>
#include<windows.h>

int main(void)
{
    int i, a;
    printf("podaj ile ma byc zsumowanych liczb\n");
    scanf("%d", &i);
    int suma=0;
    int x=0;
    while(x<i)
    {
      printf("podaj liczbe");
     scanf("%d", &a);
     suma=suma+a;
     x++;
    }
   printf("suma liczb wynosi %d", suma);
    system("pause");
    return 0;
}

przy scanf("%d\n", &a) wykasuj \n

0

Mam jeszcze taki problem, jak napisać program wypisujący liczby doskonałe do podanej granicy, ale używając tylko pętli - bez tablic itp.? Mam również problem z analogicznym programem do pokazywania liczb pierwszych i liczenia ile ich jest w danym zakresie. Oto kod:

#include <stdio.h>
#include <conio.h>
#include <math.h>


int main(void)
{
    int i, j, czy_pierwsza, ile=1;

    puts("2 jest liczba pierwsza.");
    for (i = 3; i <= 100; i++)
    {
        for (j = 2; j <= sqrt(i); j++)
        {
            if (i % j != 0)
            {
                printf("%d jest liczba pierwsza.\n", i);
                ile++;
            }

        }

    }
    printf("liczb pierwszych jest %d\n", ile);
    getch();

    return 0;
}
0

stwierdzić że "i" jest liczbą pierwszą możesz dopiero jeżeli ten if zadziała dla każdego kroku pętli po "j". Czyli przed tą pętlą ustawiasz wartownika, wewnątrz pętli odwracasz warunek a w nim zmieniasz wartownika. Po zakończeniu pętli po "j" badasz tego wartownika.

1 użytkowników online, w tym zalogowanych: 0, gości: 1