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;
}
Анализ проблемы: различные треугольники в справочнике.