Jarvis @ JM.me

کارگاه کامپیوتر

Apr 22 · 30min امیرمحمد

برخی از نمونه کد های برنامه نویسی به زبان سی در سطح به شدت ساده و اولیه

تمرین ها

1. برنامه ای بنویسید که پیغام Welcome to the class و چاپ کنه

Code
#include <stdio.h>

int main() {
    printf("Welcome to the Class\n");
    return 0;
}
OUTPUT
Welcome to my Class

2. برنامه ایی بنویسید که 10 بار پیام Hello را با شماره چاپ کند

CODE
#include <stdio.h>

int main() {
    int i;
    for (i = 1; i <= 10; ++i) {
        printf("%d: Hello\n", i);
    }
    return 0;
}
OUTPUT
1: Hello
2: Hello
3: Hello
4: Hello
5: Hello
6: Hello
7: Hello
8: Hello
9: Hello
10: Hello

3. برنامه ایی بنویسید که جمع 8 عدد اول را در هر مرحله جمع نمایش دهد

CODE
#include <stdio.h>

int main() {
    int sum = 0;
    int i;
    for (i = 1; i <= 8; ++i) {
        sum += i;
        printf("Sum of first %d numbers: %d\n", i, sum);
    }
    return 0;
}
OUTPUT
Sum of first 1 numbers: 1
Sum of first 2 numbers: 3
Sum of first 3 numbers: 6
Sum of first 4 numbers: 10
Sum of first 5 numbers: 15
Sum of first 6 numbers: 21
Sum of first 7 numbers: 28
Sum of first 8 numbers: 36

4. برنامه ایی بنویسید که حاصل عبارت زیر را برای 10 عدد صحیح متوالی محاسبه و چاپ کند

CODE
#include <stdio.h>

int main() {
    int n;
    for (n = 1; n <= 10; ++n) {
        int S = n * (n + 1) / 2;
        printf("For n = %d, S = %d\n", n, S);
    }
    return 0;
}
OUTPUT
For n = 1, S = 1
For n = 2, S = 3
For n = 3, S = 6
For n = 4, S = 10
For n = 5, S = 15
For n = 6, S = 21
For n = 7, S = 28
For n = 8, S = 36
For n = 9, S = 45
For n = 10, S = 55

5. برنامه ایی بنویسید که فاکتوریل عدد ورودی بزرگتر از 1 ر دریافت و محاسبه کند

CODE
#include <stdio.h>

int main() {
    int num;
    long long factorial = 1;
    printf("Enter a number: ");
    scanf("%d", &num);
    if (num < 0) {
        printf("Error\n");
        return 0;
    }
    if (num == 0 || num == 1) {
        factorial = 1;
    } else {
        int i;
        for (i = 2; i <= num; ++i) {
            factorial *= i;
        }
    }
    printf("The factorial of %d is %lld.\n", num, factorial);
    return 0;
}
OUTPUT
Enter a number: 4
The factorial of 4 is 24.

6. برنامه ایی بنویسید که یک عدد صحیح از ورودی گرفته و در دو سطر بعدی با پیام مناسب نمایش دهد

CODE
#include <stdio.h>

int main() {
    int a;
    scanf("%d", &a);
    printf("Number is : \n\n %d", a);
    return 0;
}
OUTPUT
17
Number is :

17

7. برنامه ایی بنویسید که کار های زیر و انجام بدهد

اگر :

a = 25
b = 2
c = 25
d = 2

باشد

حاصل این عبارت ها رو به دست آورید:

وو

Code
#include <stdio.h>

int main() {
    float a = 25.0;
    float b = 2.0;
    float c = 25.0;
    float d = 2.0;

    printf("Result of Avali: %.2f\n", 6 + a/5 * 5);
    printf("Result of Dovomi: %.2f\n", c/d * d);
    printf("Result of Sevomi: %.2f\n", a/b * b);

    return 0;
}
OUTPUT
Result of Avali: 31.00
Result of Dovomi: 25.00
Result of Sevomi: 25.00

8. برنامه ایی بنویسید که یک عدد گرفته، قدر مطلق عدد وارد شده را بدهد

Code
#include <stdio.h>

int main() {
    int n;
    printf("Enter Number: ");
    scanf("%d", &n);

    if (n < 0) {
        n = -n;
    }
    printf("Ghadre Motlagh: %d\n", n);
    return 0;
}
OUTPUT
Enter Number: -1
Ghadre Motlagh: 1

9. برنامه ایی بنویسید که یک عدد گرفته، زوج یا فرد بودن عدد را تشخیص و چاپ کند

Code
#include <stdio.h>

int main() {
    int n;
    printf("Enter Number: ");
    scanf("%d", &n);

    if (n % 2 == 0)
        printf("%d is ZOJ\n", n);
    else
        printf("%d is FARD\n", n);
    return 0;
}
OUTPUT
Enter Number: 3
3 is FARD

Enter Number: 2
2 is ZOJ

10. برنامه ایی بنویسید که یک عدد گرفته، ارقام آن را جداگانه چاپ کند

Code
#include <stdio.h>

int main() {
    int n;
    printf("Enter Number: ");
    scanf("%d", &n);

    for (; n != 0; n = n / 10) {
        printf("%d\n", n % 10);
    }
    return 0;
}
OUTPUT
Enter Number: 34
4
3

11. برنامه ایی بنویسید که یک عدد گرفته، ارقام آن را جمع کند

Code
#include <stdio.h>

int main() {
    int n;
    printf("Enter Number: ");
    scanf("%d", &n);

    while (n != 0) {
        d = n % 10;
        s = s + d;
        n = n / 10;
    }
    printf("JAM Argham: %d\n", s);
    return 0;
}
OUTPUT
Enter Number: 12
3

12. برنامه ایی بنویسید که چاپ جمع مثلثاتی اعداد 1 تا 10 را چاپ کند (به 3 روش for و while و do while)

Code
for
#include <stdio.h>

int main() {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        sum += i;
        printf("%d \t %d \n", i, sum);
    }
    return 0;
}
while
#include <stdio.h>

int main() {
    int n = 1, sum = 0;
    while (n < 11) {
        sum += sum;
        printf("%d \t %d \n", n, sum);
        n += 1;
    }
    return 0;
}
do while
#include <stdio.h>

int main() {
    int n = 1, sum = 0;
    do {
        sum = sum + n;
        printf("%d \t %d \n", n, sum);
        n = n + 1;
    } while (n < 11);
    return 0;
}
OUTPUT
1   1
2   3
3   6
4   10
5   15
6   21
7   28
8   36
9   45
10  55

13. برنامه ایی بنویسید که عدد اول بودن ورودی را تشخیص و چاپ کند (به 2 روش while و do while)

Code
while
#include <stdio.h>

int main() {
    int n, i;
    printf("Enter Number: ");
    scanf("%d", &n);

    i = n - 1;
    while (n % i != 0 && i > 1) {
        i = i - 1;
    }

    if (i == 1)
        printf("%d It's Prime", n);
    else
        printf("%d It's Not Prime", n);
    return 0;
}
do while
#include <stdio.h>

int main() {
    int n, i;
    printf("Enter Number: ");
    scanf("%d", &n);

    i = n;
    do {
        i = i - 1;
    } while (n % i != 0 && i > 1);

    if (i == 1)
        printf("%d It's Prime", n);
    else
        printf("%d It's Not Prime", n);
    return 0;
}
OUTPUT
Enter Number: 2
2 It's Prime

Enter Number: 4
4 It's not Prime

14. برنامه ایی بنویسید که نمرات ۱۰ دانشجو را دریافت و میانگین آن را چاپ کند

CODE
#include <stdio.h>

int main() {
    int numbers[10];
    int sum = 0;
    float average;

    printf("Enter 10 numbers:\n");
    for (int i = 0; i < 10; i++) {
        scanf("%d", &numbers[i]);
        sum += numbers[i];
    }

    average = (float)sum / 10;

    printf("Average: %.2f\n", average);

    return 0;
}
OUTPUT
Enter 10 numbers:
2 5 10 20 19 15 16 17 14 18
Average: 13.60

15. برنامه ایی بنویسید که نظر 10 دانشجو در مورد کیفیت غذای سلف را در امتیازات 1 تا 5 بگیرد و در جدولی به شکل زیر برای یک کلاس چاپ کند

PointClass A
15
22
33
40
50
CODE
#include <stdio.h>

int main() {
    int m, matrix[6], i;

    for (i = 1; i < 6; i++)
        matrix[i] = 0;

    for (i = 1; i < 11; i++) {
        printf("Please Enter Points for 10 Student in Class A: ");
        scanf("\n %d", &m);
        matrix[m]++;
    }

    printf("Points \t\t Class A \n");

    for (i = 1; i < 6; i++)
        printf("%d %4d \n", i, matrix[i]);
    return 0;
}
OUTPUT
Please Enter Points for 10 Student in Class A: 1
Please Enter Points for 10 Student in Class A: 1
Please Enter Points for 10 Student in Class A: 1
Please Enter Points for 10 Student in Class A: 1
Please Enter Points for 10 Student in Class A: 3
Please Enter Points for 10 Student in Class A: 3
Please Enter Points for 10 Student in Class A: 1
Please Enter Points for 10 Student in Class A: 1
Please Enter Points for 10 Student in Class A: 3
Please Enter Points for 10 Student in Class A: 2
Points Class A
1       5
2       2
3       3
4       0
5       0

16. برنامه ایی بنویسید که نظر 10 دانشجو در مورد کیفیت غذای سلف را در امتیازات 1 تا 5 بگیرد و در جدولی به شکل زیر برای 2 کلاس A و B چاپ کند

PointClass AClass B
155
220
332
402
501
CODE
#include <stdio.h>

int main() {
    int m, matrix[6][3], i, j;

    for (i = 1; i < 6; i++)
        for (j = 1; j < 3; j++)
            matrix[i][j] = 0;
    for (i = 1; i < 11; i++) {
        printf("Please Enter points for class A: ");
        scanf("\n%d", &m);
        matrix[m][1]++;
    }
    for (i = 1; i < 11; i++) {
        printf("Please Enter points for class B: ");
        scanf("\n%d", &m);
        matrix[m][2]++;
    }
    printf("Emtiaz class A \t class B\n");
    for(i = 1; i < 6; i++)
        printf("%d \t\t %d \t\t %d\n", i, matrix[i][1], matrix[i][2]);
    return 0;
}
OUTPUT
Please Enter points for class A: 1
Please Enter points for class A: 3
Please Enter points for class A: 2
Please Enter points for class A: 1
Please Enter points for class A: 2
Please Enter points for class A: 3
Please Enter points for class A: 1
Please Enter points for class A: 3
Please Enter points for class A: 1
Please Enter points for class A: 1
Please Enter points for class B: 3
Please Enter points for class B: 1
Please Enter points for class B: 4
Please Enter points for class B: 5
Please Enter points for class B: 3
Please Enter points for class B: 1
Please Enter points for class B: 1
Please Enter points for class B: 4
Please Enter points for class B: 1
Please Enter points for class B: 1
Points  class A  class B
1       5        5
2       2        0
3       3        2
4       0        2
5       0        1

17. برنامه ایی بنویسید که مجموع درایه های یک ماتریس 3 در 3 را نمایش دهد.

CODE
#include <stdio.h>

int main() {
    int i, j;
    int m = 3;
    int n = 3;
    int matrix[3][3];
    int sum = 0;

    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++) {
            printf("Enter Numbers for Matrix[%d][%d]: ", i,j);
            scanf("\n%d", &matrix[i][j]);
            sum = sum + matrix[i][j];
        }
    printf("Sum is : %d", sum);
    return 0;
}
OUTPUT
Enter Numbers for Matrix[0][0]: 1
Enter Numbers for Matrix[0][1]: 1
Enter Numbers for Matrix[0][2]: 1
Enter Numbers for Matrix[1][0]: 1
Enter Numbers for Matrix[1][1]: 1
Enter Numbers for Matrix[1][2]: 1
Enter Numbers for Matrix[2][0]: 1
Enter Numbers for Matrix[2][1]: 1
Enter Numbers for Matrix[2][2]: 1
Sum is : 9

18. برنامه ایی بنویسید که بزرگترین درایه های یک ماتریس 3 در 3 را نمایش دهد.

CODE
#include <stdio.h>

int main() {
    int i, j;
    int max = 0;
    int matrix;

    for (i = 0; i < 3; i++)
        for (j = 0; j < 3; j++) {
            printf("Enter Numbers for Matrix[%d][%d]: ", i,j);
            scanf("\n%d", &matrix);
            if (matrix > max)
                max = matrix;
        }
    printf("\n");
    printf("Maximum Number in this Matrix is : %d", max);
    return 0;
}
OUTPUT
Enter Numbers for Matrix[0][0]: 1
Enter Numbers for Matrix[0][1]: 4
Enter Numbers for Matrix[0][2]: 7
Enter Numbers for Matrix[1][0]: 2
Enter Numbers for Matrix[1][1]: 8
Enter Numbers for Matrix[1][2]: 0
Enter Numbers for Matrix[2][0]: 1
Enter Numbers for Matrix[2][1]: 7
Enter Numbers for Matrix[2][2]: 8

Maximum Number in this Matrix is : 8

19. برنامه ایی بنویسید که با استفاده از تابع یک پیغام را ۵ بار چاپ کند

CODE
#include <stdio.h>

void printMessage(char* message) {
    int i;
    for (i = 0; i < 5; i++) {
        printf("%s\n", message);
    }
}

int main() {
    printMessage("Hello, World!");
    return 0;
}
OUTPUT
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

20. برنامه ای بنویسید که به کمک تعریف تابع جمع مثلثی 10و 20 را چاپ کند

CODE
#include <stdio.h>

int triangularSum(int n) {
    int sum = 0;
    for (int i = 1; i <= n; i++) {
        sum += i;
    }
    return sum;
}

int main() {
    int num1 = 10;
    int num2 = 20;
    int result1 = triangularSum(num1);
    int result2 = triangularSum(num2);
    printf("Triangular sum of %d is %d\n", num1, result1);
    printf("Triangular sum of %d is %d\n", num2, result2);
    return 0;
}
OUTPUT
Triangular sum of 10 is 55
Triangular sum of 20 is 210

21. برنامه ایی بنویسید که با استفاده struct تاریخ امروز را نمایش دهد

CODE
#include <stdio.h>

struct date {
    int day;
    int month;
    int year;
};

int main() {
    struct date today;
    today.month = 2;
    today.day = 31;
    today.year = 1403;

    printf("Today date is : %d / %d / %d\n", today.year, today.month, today.day);
    return 0;
}
OUTPUT
Today date is : 1403 / 2 / 31

22. برنامه ایی بنویسید که شماره دانشجویی و کد ملی 2 دانشجو را در ساختار مناسب ذخیره و چاپ کند

CODE
#include <stdio.h>

struct student {
    int id;
    int national_code;
};

int main() {
    int i;
    struct student person[2];

    person[1].id = 1100;
    person[1].national_code = 1000;
    person[2].id = 1122;
    person[2].national_code = 2000;

    for (i = 1; i < 3; i++)
    printf("Student %d : ID = %d / National Code = %d\n", i,person[i].id, person[i].national_code);
}
OUTPUT
Student 1 : ID = 1100 / National Code = 1000
Student 2 : ID = 1122 / National Code = 2000

تشکر

از عزیزانی که برای بوجود آمدن این پست کمک کردن تشکر میکنم

  • Pedram_K0098
  • Negin
  • Mohammad_M
  • Hadis GH
> کامنت بذار در توییتر
 
CC BY-NC-SA 4.0  2009-PRESENT © Nuxsco (AMS) This website rewrite several times from those years up to present