Выполнил студент: 1 курса
ОТЧЕТ
по лабораторной работе №4
Тема: «Структура программы на Си. Функции ввода-вывода»
Дисциплина «Основы алгоритмизации и программирования»
Группа 121101з: Петров В.В. Проверил: Таборовец В.В. Минск, 2013 Задание 1. 1. Отыскание максимума из трех чисел а, b, с. Числа вводятся с клавиатуры. #include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int a, b, c, max; printf("Vvedite 3 chisla:\n"); scanf("%d%d%d",&a,&b,&c); if (a > b && a > c) max=a; else if (b > c) max=b; else max=c; printf("max = %d", max); getch(); return 0; }
2. Ввести число и определить, оно больше нуля, меньше или равно #include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int n; printf("Enter n\n"); scanf("%d", &n); if (n>0) printf("n>0\n"); else if (n<0) printf("n<0\n"); else printf("n=0\n"); getch(); return 0; }
3: Напишите программу (используя инструкцию if), которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года. #include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int n; printf("Vvedite nomer mesyaca\n"); scanf("%d", &n); if (n==1 || n==2 || n==12) printf("Zima\n"); else if (n>=3 && n<=5) printf("Vesna\n"); else if (n>=6 && n<=8) printf("Leto\n"); else printf("Osen'\n"); getch(); return 0; }
4: Вводиться трехзначное число. Подсчитать количество четных цифр в числе #include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int n,a,b,c,z=0; //z-счетчик количества printf("Vvedite 3-hznachnoe chislo\n"); scanf("%d", &n); a=n%10; //последняя цифра числа b=n/10%10; // вторая цифра числа c=n/100; // третья цифра числа if (a%2==0) z++; if (b%2==0) z++; if (c%2==0) z++; printf("V chisle %d kol-vo chetnih cifr %d\n", n, z); getch(); return 0; }
Задание 2 Написать программу (используя инструкцию if), которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день", "Суббота" или "Воскресенье".
#include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int ndn = 0; printf("Vvedite nomer dnia nedeli:"); scanf("%d",&ndn); if (ndn>=1&&ndn<=5) printf("Rabochii` den`"); else if (ndn==6) printf("Subbota"); else if (ndn==7) printf("Voskresen`e"); getch(); return 0; }
Задание3 Написать программу, в которой вводятся три вещественных числа и находиться минимальное и максимальное значение среди этих трех чисел.
#include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { float f,f1,f2,max,min; printf("Vvedite tri veshchestvenny`h chisla:\n"); scanf("%f%f%f",&f,&f1,&f2); max=f; if (max<f1) max=f1; if (max<f2) max=f2; min=f; if (min>f1) min=f1; if (min>f2) min=f2; printf("max = %g, min = %g\n",max,min); getch(); return 0; }
Задание4. #include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int rez; printf("Vvedite ocenku\n"); scanf("%d", &rez); switch (rez) { case 5: printf("Ocenka - otlichno.\n"); break; case 4: printf("Ocenka - horosho.\n"); break; case 3: printf("Ocenks - udovletvoritelno.\n"); break; case 2: printf("Ocenka - ne udovletvoritelno.\n"); break; default: printf("Nevernoe znachenie.\n"); } getch(); return 0; } Задание 5. Напишите программу (используя инструкцию switch), которая запрашивает у пользователя номер дня недели, затем выводит название дня недели или сообщение об ошибке, если введены неверные данные.
#include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int ndn = 0; printf("Vvedite nomer dnia nedeli:"); scanf("%d",&ndn); switch (ndn) { case 1: printf("Ponedel`nik");break; case 2: {printf("Vtornik");break;} case 3: printf("Sreda");break; case 4: printf("Chetverg");break; case 5: printf("Piatneytca");break; case 6: printf("Subbota");break; case 7: printf("Voskresen`e");break; default: printf("Nevernoe znachenie!\n"); } getch(); return 0; }
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ Вариант 8: Вводиться трехзначное число. Определить больше ли числа а сумма его цифр. Число а вводиться с клавиатуры.
#include<stdio.h> #include<conio.h> int main(int argc, char* argv[]) { int i,a,rez,buf; printf("Vvedite trexznachnoe chislo:\n"); scanf("%d",&a); for (i=1,rez=0,buf=a;i<=3;i++) rez+=buf%10,buf/=10; if (a>rez)printf("summa cifr men'she chisla"); else printf("summa cifr bol'she chisla"); getch(); return 0; }
Составить программу, которая бы с помощью оператора CASE реализовала бы все возможные операции над двумя целыми числами. (1 – сложение, 2 – вычитание, 3 – остаток от деления, 4 – целая часть от деления). #include<stdio.h> #include<conio.h> int main() { int a,b; int c; printf("Vvedite dva chisla:\n"); scanf("%d%d",&a,&b); printf("Vvedite znak operacii(+,-,*,/,%):"); scanf("%s",&c); switch(c) { case '+': printf("%d%c%d=%d",a,c,b,a+b);break; case '-': printf("%d%c%d=%d",a,c,b,a-b);break; case '*': printf("%d%c%d=%d",a,c,b,a*b);break; case '/': printf("%d%c%d=%d",a,c,b,a/b);break; case '%': printf("%d%c%d=%d",a,c,b,a%b);break; default:printf("Takaia operatciia ne predusmotrena"); } getch(); return 0; }
|