יום ראשון, 30 באוקטובר 2016

שפת C - תרגול, continue ו סידור טבלה (יום ראשון)

למדנו איך פותרים את המשימות מהשיעור האחרון בשפת C




/*
/////////////////// Exe no' 4 version a
#include <stdio.h>
void main() {
 int a , b , i;
 printf("Enter 2 numbers: ");
 scanf("%d %d",&a, &b);
 for(i=(a < b) ? a : b; a%i !=0  || b%i != 0; i--);
 printf("number: %d\n",i);
}
 
 
/////////////////// Exe no' 4 version b
#include <stdio.h>
void main() {
 int a , b;
 printf("Enter 2 numbers: ");
 scanf("%d %d",&a, &b);
 
 while(a != b) {
  if(a > b) a -= b; // a = a - b;
  else   b -= a; // b = b - a;
 }
 printf("Number: %d\n",a);
 
}
 
 
 
/////////////////// Exe no' 5
#include <stdio.h>
void main() {
 int n , p = 1 , i;
 printf("Enter a number: ");
 scanf("%d",&n);
 
// for(i=1; i <= n; i++)
//  p *= i;    // p = p * i;
 
 for(i=1; i <= n; p *= i++);
 
 printf("Result: %d\n",p);
}
 
 
 
 
/////////////////// Exe no' 6
#include <stdio.h>
void main() {
 int x;
 do {
  printf("Enter a number: ");
  scanf("%d",&x);
 }while(x<0 || x>100);
 
 while(x != 1) {
  printf("%d ",x);
  if(x%2 == 0)
   x /= 2;
  else
   x = 3 * x + 1;
 }
 printf("1\n");
}
 
 
*/
 
 
/////////////////// Exe no' 9
#include <stdio.h>
void main() {
 int num , i , max = 1;
 
 for(i=0; i < 10; i++) {
  printf("%d. Enter number:  ",i+1);
  scanf("%d",&num);
  if(num%2 == 0) {
   if(max == 1)
    max = num;
   else
    if(num > max)
     max = num;
  }
 }
 if(max == 1)
  printf("No Even numbers\n");
 else
  printf("Max: %d\n",max);
}








משפט הבקרה continue

מדלג על המשך הלולאה ומעביר את הבקרה שלב הבא (לסוף הלולאה הנוכחית, בהתאם לסוג הלולאה).
נועד רק ללולאות.
while
while (תנאי) {
  .
  .
  .
       if (...)
           continue;      >>> חוזר מייד לתנאי
  .
  . 
  .
    }






for
for (קידום ; תנאי ; אתחול) {
  .
  . 
  .
      if (...)
           continue;      >>> חוזר מייד לקידום
  .
  . 
  .
 }
.
.    F
.
do while
do {
   .
   .
   .
      if (...)
           continue;      >>> חוזר מייד לתנאי
   .
   .
   .
    } while (תנאי) ;
  .
  .    F
  .




עיצוב סדרה

אם הלולאות שלנו צריכות להציג רצף מספרים (סדרה), אחרי שבקוד קבענו כל כמה
איברים בסדרה לרדת שורה (כל כמה הדפסות נגיע למצב בו נדפיס \n), נוכל לסדר יפה את המספרים
בסדרה כך שהם יהיו בדיוק אחד מתחת לשני.
עלי ידי שנדפיס כך את הנעלמים במחרוזת:
printf ("%4d",i);
או
printf ("%-4d",i);
לא במיוחד המספר 4, זה רק קובע את המרחק בין המספרים.
#include <stdio.h>
#include <math.h>
void main()
{
int i,b;
for(i=1;i<101;i++){
printf("%-3d  ",i);
if (i%10==0)
putchar('\n');
}
}


אין תגובות:

הוסף רשומת תגובה