C'de iki sayı arasındaki çift sayıları ve tek sayıların faktoriyellerini ve küplerini bulma

Jacquez

Hectopat
Katılım
19 Ekim 2019
Mesajlar
125
Yer
Ankara
Daha fazla  
Cinsiyet
Erkek
Yapmam gereken şey kullanıcıdan iki sayı almak, önce arasında bulunan çift sayıların faktoriyellerini teker teker yazdırmak ve bu faktoriyelleri toplamak. İkinci olarak ise tek sayıların küplerini teker teker yazdırmak ve toplamak. Aşağıdaki yazdığım kod dizisinde alttaki for döngüsü ayrı olarak denediğimde çalışıyor fakat üstteki for döngüsü hatalı çalışıyor. Çözümü nedir? (Fonksiyon ya da kütüphane kullanmadan yapmam bekleniyor.)

Kod:
#include<stdio.h>



int main(){
    int a,b;
    int result1=0;
    int result2=0;
    int fact=1;
 
    printf("Enter the first number:");
    scanf("%d",&a);
    printf("Enter the second number:");
    scanf("%d",&b);
    for(;a<=b;a++){
        if(a%2==0){
            for(;a>0;a--){
                fact*=a;
              
            }
            printf("Factorials of even number%d: %d\n",a,fact);
            result1+=fact;
        }
        else{
            result1+=0;
        }
      
    }
    printf("Sum of factorials of even numbers:%d\n",result1);
 
 
    for(++a;a<b;a++){
        if(a%2==1){
            printf("Cube of odd number%d: %d\n",a,a*a*a);
            result2+=a*a*a;
        }
        else{
            result2+=0;
        }
      
    }
 
    printf("Sum of cube of odd numbers:%d",result2);
 
 
 
 
    return 0;
}
 
Son düzenleyen: Moderatör:
for döngüsünde neden yeni değişken tanımlamak yerine a'yı kullanıyorsun? bu daha fazla kafa karıştırır. İlk baktıgımda birinci forun sonunda a'nın değeri ne olur tam kestiremedim. döngüden çıkar mı orasıda belli değil. mesela 4 ile 12 arasındaki çift sayıları düşünelim.
a = 4 iken; 4%2 true olur. ve burada a'yı 0 olunca çıkartıyorsun. çıktıgında 0 olcak. ve bu sonsuz döngü demektir. For döngülerinde yeni bir degişken tanımlayın. ve bir şey daha farkettim yeni degerin faktoriyelini hesaplarken bir önceki faktoriyel degeri üzerinden gidiyor nerede sıfırladın göremedin. else kısmına gerek yok.
 

Yeni konular

Geri
Yukarı