تمرین ها #
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 بگیرد و در جدولی به شکل زیر برای یک کلاس چاپ کند #
Point | Class A |
---|---|
1 | 5 |
2 | 2 |
3 | 3 |
4 | 0 |
5 | 0 |
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 چاپ کند #
Point | Class A | Class B |
---|---|---|
1 | 5 | 5 |
2 | 2 | 0 |
3 | 3 | 2 |
4 | 0 | 2 |
5 | 0 | 1 |
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