Προς το περιεχόμενο

Άσκηση στη C :S


Helenaki_Thess

Προτεινόμενες αναρτήσεις

Δημοσ.

Να γραφεί πρόγραμμα που να ζητά απο τον χρήστη εναν τριψήφιο ακέραιο αριθμό, και να υπολογίζει το αθροισμα των ψηφίων του αριθμού. Σε περίπτωση που δέν είναι τριψήφιος, θα εμφανίζεται μήνυμα λαθους.

Δημοσ.

>
#include <stdio.h>
#include <stdlib.h>

int main(){
int number=0;
do{
   printf("\nDose 3psifio aritho:");
   scanf("%d",&number);
   if(number>999 || number<100) printf("\no ari8mos poy edoses den einai 3psifios!!!");
}while(number>999 || number<100);
   system("pause");
 return 0;
   
}

 

με το πιο πάνω διαβάζεις τον τριψήφιο που θες

Δημοσ.
οι 100-111 δεν είναι και αυτοί τριψήφιοι ? :rolleyes:

 

σωστός!!!

 

 

και τελειωμένο με το άθροισμα

 

>
#include <stdio.h>
#include <stdlib.h>

int main(){
int number1=0,number=0;
int sum=0,k=0;
do{
   printf("\nDose 3psifio aritho:");
   scanf("%d",&number);
   if(number>999 || number<100) printf("\no ari8mos poy edoses den einai 3psifios!!!");
}while(number>999 || number<100);
number1=number;
while(number1!=0){
                k=number1%10;
                sum+=k;
                number1/=10;
}
printf("\na8roisma twn psifiwn tou %d=%d\n",number,sum);

   system("pause");
 return 0;
   
}


  • Moderators
Δημοσ.
Το άθροισμα των ψηφίων πως βγαίνει ρε παιδιά ;

Ένας τρόπος είναι με τις κατάλληλες διαιρέσεις χρησιμοποιώντας και τα υπόλοιπα τους.

 

Edit: Παίδες καλά και ωραία όλα αυτά, αλλά σκοπός δεν είναι να δίνουμε στο πιάτο μια λύση χωρίς το άτομο που πρέπει να προσπαθήσει να έχει δείξει την παραμικρή προσπάθεια επίλυσης της άσκησης. Σωστά;

Δημοσ.

Τσεκαρε αυτο το εμπειρικο κωδικα που σταζει απο εμπειρια.

>// cpp12.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


Ακεραιο Μπλουμ(char *s);
Ακεραιο Αρχη(Κενο)
{
char s[20];
while(true){
	scanf("%s",s);
	if(s[0]=='e')
		Επιστροφη 0;
	if(strlen(s)==3)
	{
		printf(":)\n");
		printf("%d\n",Μπλουμ(s));
		printf("********\n");
	}
	else
		printf(":(\n");
}
}

Ακεραιο Μπλουμ(char *s)
{

Επιστροφη (s[0]-48)+(s[1]-48)+(s[2]-48);

}

Output

1

:(

77

:(

123

:)

6

********

1234

:(

015

:)

6

********

010

:)

1

********

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...