Отчет по эксперименту на языке C (4)

C экспериментальный отчет

Название: Ян Цзин Место проведения эксперимента: Время начала эксперимента: 2020.04.10

 

 Экспериментальный проект

1. Используйте оператор for для реализации цикла

2. Используйте инструкцию while для реализации цикла

3. Используйте оператор do-while для реализации цикла

4. Используйте оператор while и for для реализации цикла

5. Используйте оператор for, чтобы вложить цикл

1. Цель и требования эксперимента

1. Мастерски овладеть методом while, do_ while и оператором для реализации цикла.

2. Понимать разницу и преобразование трех типов операторов цикла, их соответствующую адаптируемость и использование вложенности цикла.

3. Научитесь использовать break, продолжайте операторы в операторах цикла, чтобы изменить ход программы.

4. Овладеть различными алгоритмами в цикле программирования.

 2. Экспериментальное содержание

1. Используйте оператор for для реализации цикла

(1) Краткое описание проблемы: напишите программу для поиска последовательности 1, -3! 5! -7! … (-1) ^ (n-1) * (2n-1) Сумма первых n членов. Значение n вводится с клавиатуры.

(2) Экспериментальный код:

#include <stdio.h>
main ()
{
 int n, i, j, sign = 1;
 float fac, сумма;
 printf («Пожалуйста, введите значение n:»);
 зсапЕ ( "% d", & п);
    сумма = 0.0;
    для (i = 1; i <= n; i ++)
    {
     fac = 1.0;
        для (j = 1; j <= 2 * i-1; j ++)
        {
         fac = fac * j;
  }
        sum = sum + fac * sign;
        знак = -знак;
    }
    printf ("солнце =%. 0f \ n", сумма);
}

(3) Анализ проблемы: n - это число, введенное с клавиатуры, i контролирует общее количество циклов, j контролирует результат 2n-1, fac и sum контролируют выход факторной операции, а sign контролирует знак результата. Я не заметил, что символ является знаком минус, и я начал думать после прочтения блок-схемы, которая более сложна для понимания.

(4) Блок-схема:

 

 2. Используйте инструкцию while для реализации цикла

(1) Краткое описание проблемы: Найти все нарциссы (число нарциссов - это трехзначное натуральное число, а кубическая сумма цифр номера равна самому числу, например, 153 - число нарциссов 1 * 1 + 5 * 5 + 3 * 3 = 153)

(2) Экспериментальный код:

#include <stdio.h>
main ()
{
 int x, y, z;
 int k = 100;
 while (100 <= k && k <= 999)
 {x = k / 100;
 у = (к / 10)% 10;
 г = к 10%;
 if (k == x * x * x + y * y * y + z * z * z)
    printf ("% d \ n", k);
    K ++;
 }
}

(3) Анализ проблемы: определите состояние из 3 цифр, обратите внимание на метод письма, оцениваемый в логике языка C. Этот вопрос является самым простым среди нескольких вопросов.

(4) Блок-схема:

 3. Используйте оператор while и оператор for для реализации цикла

(1) Краткое описание проблемы: введите 4 символа, преобразуйте их в 4 десятичных целых числа и отобразите их.

(2) Экспериментальный код:

#include <stdio.h>

главный()

{
    char c;
    int k, данные;
    данные = 0;
    для (k = 0; k <4; k ++)
    {
        while (1)
        {
            c = getchar ();
            if (c> = '0' && c <= '9')
               break;
        }
     if (k == 0) data + = (c-'0 ') * 1000;
     if (k == 1) data + = (c-'0 ') * 100;
     if (k == 2) data + = (c-'0 ') * 10;
     if (k == 3) data + = (c-'0 ') * 1;
    }
    printf («Данные =% d», данные);

(3) Анализ проблемы: используйте для цикла для ввода символов, если оператор, чтобы судить, и после выпрыгивания из цикла, преобразовать в десятичное целое число, чтобы сформировать 4 цифры.

(4) Блок-схема:

 

4. Используйте оператор for, чтобы вложить цикл

A

(1) Краткое описание проблемы: 100 лошадей. Для перевозки 100 грузов, из которых 1 лошадь может нести 3 груза, 1 средняя лошадь может нести 2 груза, а два пони могут нести 1 груз, сколько комбинаций можно сделать в Малайзии, средних лошадей и пони ,

(2) Экспериментальный код:

#include <stdio.h>
main ()
{
 int m, n, k;
 int sum = 0;
 printf ("Различные методы упаковки следующие: \ n");
 for (m = 1; m <= 100; m ++)
 для (n = 1; n <= 100-m; n ++)
 {
  k = 100-mn;
        if ((k% 2 == 0) && (3 * m + 2 * n + 0,5 * k == 100))
        {
            printf ("Малайзия% 3d лошадей; Средняя лошадь% 3d лошадей; Пони% 3d лошадей. \ n", m, n, k);
            sum ++;
        }
 }
 printf ("Всего% d комбинированных методов. \ n" , сумма); 
}

(3) Анализ проблем: используйте математическое мышление, чтобы найти взаимосвязь между большими, средними и маленькими пони, сначала определите переменные малайских и китайских пони, затем исключите пони, судите по суждениям и обратите внимание на логическое написание.

В

(1) Краткое описание проблемы: напишите программу, чтобы найти сумму первых 6 членов арифметической последовательности с положительным целым числом.Сумма первых 4 членов последовательности равна 26, а произведение первых 4 членов равно 880.

(2) Экспериментальный код:

#include <stdio.h>

main ()
{
 int a, b, c, d, i, sum = 0;
 для (a = 1; a <= 26; a ++)
 для (d = 1; d <= 26; d ++)
 {
  b = 4 * a + 6 * d;
  c = a * (a + d) * (a + 2 * d) * (a + 3 * d);
  if ((b == 26) && (c == 880))
        {
         printf ( "начальное значение числа столбцов =% D, разница D =% D \ п", а, D);
         Е ( "\ значение 6 первых п столбцов:");
   для (I = 0; я <6; i ++)
   {
    printf ("% d", a + i * d);
    sum = sum + (a + i * d);
   }
   printf ("\ n");
  }
       
 }
 printf ("\ n 6 элементов:% d \ n ", сумма);
}

 (3) Анализ проблемы: Трудно понять вопрос по математической формуле. Я давно не понимаю его. Первые 6 предметов можно получить, только попросив первый пункт a и разницу d, и, наконец, получим 6 предметов. и.

С

(1) Краткое описание проблемы: 30 учеников вместе покупают закуски и тратят 50 юаней, из них каждый студент университета тратит 3 юаня, каждый ученик средней школы тратит 2 юаня, а каждый ученик начальной школы - 1 юань. Сколько существует разных решений для количества людей (удалите решение, в котором число учащихся в определенном классе равно 0).

(2) Экспериментальный код:

#include <stdio.h>

главный()

{
 int x, y, z, sum;
 сумма = 0;
 для (x = 1; x <30; x ++)
 {
  для (y = 1; y <30; y ++)
  {
   z = 30-xy;
   if ((z! = 0) && (3 * x + 2 * y + z == 50))
              {  
                 printf ("大学生% 3d \ t 中学生% 3d \ t 小学生% 3d \ n", x, y, z );
                 сумма = сумма + 1;
              }
  }

 }
 printf ("Есть% d различных комбинаций. \ n", сумма);
}

(3) Анализ проблемы: это также проблема классификации. Это похоже на проблему лошади. Это легче понять и быстро сделать.

5. Таблица Девяти Девяти Умножений

Код эксперимента:

 #include <stdio.h>

int main ()
{
    int i, j;
    для (i = 1; i <= 9; i ++)
 {
        для (j = 1; j <= 9; j ++)
            printf ("% d *% d =% 2d \ t", i, j, i * j) ;
        Е ( "\ п");
    }
    вернуть 0;
}

Анализ проблемы: различные треугольники в справочнике.

рекомендация

отwww.cnblogs.com/Yee123/p/12682842.html
рекомендация