שפת C/תנאים ולולאות/תרגילים
1
עריכהדרגת קושי: ☆ ☆ ★ ★
כתבו תוכנית שמדפיסה את כל המספרים האי-זוגיים מ-1 עד 20, השתמשו בלולאת while.
#include<stdio.h> int main() { int i=1; while(i<=20) { printf("%d ",i); i+=2; } return 0; }
2
עריכהדרגת קושי: ☆ ☆ ☆ ★
כתבו את אותה תוכנית מתרגיל 1, אבל הפעם עם לולאת for.
#include<stdio.h> int main() { int i; for(i=1;i<=20;i+=2) { printf("%d ",i); } return 0; }
3
עריכהדרגת קושי: ☆ ☆ ★ ★
שנו את התוכנית הקודמת, כך שהיא תבקש קודם מהמשתמש לבחור מספר שלם חיובי N, ותדפיס את כל המספרים האי-זוגיים מ-1 עד N.
#include<stdio.h> int main() { int i,num; printf("Please enter 1 number"); scanf("%d",&num); for(i=1;i<=num;i+=2) { printf("%d ",i); } return 0; }
4
עריכהדרגת קושי: ☆ ☆ ★ ★
הוסיפו לתוכנית הקודמת שאלה למשתמש האם להדפיס מספרים זוגיים או אי-זוגיים. אם המשתמש יקיש 1, התוכנית תדפיס אי-זוגיים, ואם הוא יקיש 2 היא תדפיס זוגיים. (אם הוא יקיש משהו אחר, התוכנית תדפיס הודעת שגיאה מתאימה ותסתיים).
#include<stdio.h> int main() { int i,num,kind; printf("Please enter 1 number"); scanf("%d",&num); printf("what kind of numbers would you like?"); scanf("%d",&kind); if (kind!=1 && kind!=2) { printf("You entered wrong input"); kind=num+1; } for(i=kind;i<=num;i+=2) { printf("%d ",i); } return 0; }
5
עריכהדרגת קושי: ☆ ★ ★ ★
כתבו תוכנית שמבקשת מהמשתמש לחשוב על מספר שלם בין 1 ל-1000, ומנחשת מהו המספר. המשתמש יקליד 1 אם המספר שלו קטן יותר, 2 אם הניחוש נכון ו-3 אם המספר גדול יותר (ובחירה אחרת תיתן הודעת שגיאה וסיום). התוכנית תמשיך לנחש (בלולאה) עד שתגיע לתשובה. הניחוש הראשון שלה יהיה 500. אם המספר של המשתמש גדול יותר הניחוש הבא יהיה 750, ואם קטן יותר אז 250, וכך הלאה (צורת ניחוש שכזו מכונה "חיפוש בינארי"). כשימצא המספר הנכון תודפס הודעת סיום המשחק, והתוכנית תסתיים.
#include <stdio.h> int main() { int Guess = 500, Difference = 250, UserResponse; printf ("Think of a number in the range 1-1000...\n"); printf ("The program will attempt to guess the number.\n"); printf ("Please click 1 if the number is smaller than the program's"); printf ("guess, 2 if the guess was correct, or 3 if the number"); printf ("is greater.\n\n"); while (UserResponse != 2) { printf ("Is the number %d? ", Guess); scanf ("%d", &UserResponse); switch (UserResponse) { case 1: Guess -= Difference; Difference /= 2; if (Difference == 0) Difference = 1; break; case 3: Guess += Difference; Difference /= 2; if (Difference == 0) Difference = 1; break; case 2: printf ("The program guessed your number!\n"); break; default: printf ("Error in input.\n"); UserResponse = 2; } } return 0; }