Примеры решения задач. Задача 1. Написать программу, которая принимает с клавиатуры число N и вычисляет сумму 1/20+1/21+1/22+ +1/2N

Задача 1. Написать программу, которая принимает с клавиатуры число N и вычисляет сумму 1/20+1/21+1/22+…+1/2N.

#include <stdio.h>

int main() {

int N;

printf("Введите число N:\n");

scanf("%d", &N);

float result = 0;

int denominator = 1;

for (int i=0; i<=N; i++) {

result += (float) 1/denominator;

denominator *= 2;

}

printf("Результат равен %g\n", result);

return 0;

}

Задача 2. Написать программу, которая принимает с клавиатуры число N и выводит N первых членов последовательности Фибоначчи. Последовательность Фибоначчи задается следующими соотношениями: a0=0, a1=1 и an=an-1+an-2. Другими словами, очередной элемент этой последовательности равен сумме двух предыдущих.

#include <stdio.h>

int main() {

int N;

printf("Введите число N:\n");

scanf("%d", &N);

int a0 = 0;

int a1 = 1;

for (int i=0; i<=N; i++) {

int a2 = a0+a1;

printf("%d ", a2);

a0=a1;

a1=a2;

}

return 0;

}

Задача 3. Написать программу, переводит числа из десятичной системы исчисления в семеричную.

#include <stdio.h>

int main() {

int base = 7;

int number = 1000;

while (number > 0) {

printf("%d", number%base);

number/=base;

}

return 0;

}

Задача 4. Написать программу, которая принимает с клавиатуры число N и выводит следующий рисунок размера N:

N=1 N=2 N=3 N=4
* * ** * * ** *** ** * * ** *** **** *** ** * ...

#include <stdio.h>

int main() {

int N;

printf("Введите число N:\n");

scanf("%d", &N);

//Выводим первую половину строк

for (int i=1; i<=N; i++) {

for (int j=1; j<=i; j++) {

printf("*");

}

printf("\n");

}

//Выводим вторую половину строк

for (int i=N-1; i>=1; i--) {

for (int j=1; j<=i; j++) {

printf("*");

}

printf("\n");

}

return 0;

}

Задача 5. Написать программу, которая принимает с клавиатуры число N и выводит следующий рисунок размера N:

N=1 N=2 N=3 N=4
* *** * ***** * * * ******* * * * * * ...

#include <stdio.h>

int main() {

int N = 3;

//Количество звездочек в первой строке

int k = 2*N-1;

//Количество строк в треугольнике

int l = N-2;

//Количество пробелов перед последней *

int m = N-1;

for (int i=0; i<k; i++) {

printf("*");

}

printf("\n");

for (int i=0; i<l; i++) {

for (int j=0; j<i+1; j++) {

printf(" ");

}

printf("*");

for (int j=2*(N-i)-5; j>0; j--) {

printf(" ");

}

printf("*\n");

}

for (int i=0; i<m; i++) {

printf(" ");

}

printf("*\n");

return 0;

}

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

  1. Приведите примеры, когда целесообразно использовать циклическую конструкцию.
  2. Какие типы циклов существуют в языке Си? Объясните их работу.
  3. Приведите примеры, когда определенный тип цикла использовать лучше, чем другой.
  4. Что такое вложенные циклы? Приведите примеры
  5. Объясните работу операторов break и continue. Приведите примеры.
  6. Как вычислить сумму элементов последовательности, используя циклы. Приведите пример.
  7. Как перевести число из одной системы исчисления в другую? Приведите пример.

ЗАДАНИЕ ДЛЯ ПРАКТИЧЕСКОГО ЗАНЯТИЯ

  1. Написать программу, которая просит пользователя ввести число N и выводит на экран N случайных чисел.
  2. Написать программу, которая выводит на экран последовательность Фибоначчи. Начало данной последовательности имеет вид: 0, 1, 1, 2, 3, 5, 8, 13. Каждое число равно сумме двух предыдущих.
  3. Написать программу, которая проверяет, является ли введенное число простым. Число называется простым, если оно делится без остатка только на само себя и на 1.
  1. Модифицировать программу «Угадай число» так, чтобы она работала, пока пользователь не угадает число, а после угадывания говорила, с какой попытки удалось угадать.
  2. Написать программу, выводящую следующие рисунки произвольного размера (размер вводится с клавиатуры):

  1. Написать программу, которая вычисляет факториал введенного числа. Факториал числа N обозначается через N! и является произведением чисел от 1 до N, т.е. 1*2*3*…*N. Например, 6!=1*2*3*4*5*6=720.
  2. Вывести на экран таблицу умножения:

  1. Написать программу, которая раскладывает введенное число на простые множители.
  1. Написать программу, выводящую следующие рисунки произвольного размера (размер вводится с клавиатуры):


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: