После вывода имени фамилии и оценки следующей строчкой выводится ненужный ноль - C (СИ)
Формулировка задачи:
после компиляции, после вывода имени фамилии и оценки следующей строчкой выводит совершенно ненужный ноль. Как от него избавиться? Помогайте
Исходный код:
#include <stdio.h> #include <stdlib.h> #include <string.h> struct students { char name[100]; char surname[100]; int mark; }; struct students ibks10882[6]; int main() { int i=-1; float summ; strcpy (ibks10882[0].name, "N"); strcpy (ibks10882[1].name, "A"); strcpy (ibks10882[2].name, "E"); strcpy (ibks10882[3].name, "A"); strcpy (ibks10882[4].name, "E"); strcpy (ibks10882[5].name, "N"); strcpy (ibks10882[0].surname, "K"); strcpy (ibks10882[1].surname, "P"); strcpy (ibks10882[2].surname, "U"); strcpy (ibks10882[3].surname, "P"); strcpy (ibks10882[4].surname, "D"); strcpy (ibks10882[5].surname, "Y"); ibks10882[0].mark=4; ibks10882[1].mark=5; ibks10882[2].mark=3; ibks10882[3].mark=5; ibks10882[4].mark=3; ibks10882[5].mark=5; printf ("Names's and surnames's students & their marks\n\n"); while (i++<6) { printf ("%s %s\t%d\n", ibks10882[i].name, ibks10882[i].surname, ibks10882[i].mark); summ+=ibks10882[i].mark; } printf ("Middle mark=%1.2f", summ/6); return 0; }
Заменил цикл while на do while. Ничего не изменилось =/
ап ап ап теме
Решение задачи: «После вывода имени фамилии и оценки следующей строчкой выводится ненужный ноль»
textual
Листинг программы
int i=0; ... while (i<6) { printf ("%s %s\t%d\n", ibks10882[i].name, ibks10882[i].surname, ibks10882[i].mark); summ+=ibks10882[i].mark; i++; } ...
Объяснение кода листинга программы
- Объявлена переменная
i
типаint
со значением 0. - ...
- Происходит цикл
while
, который выполняется пока значение переменнойi
меньше 6. - В каждой итерации цикла выводится строка, содержащая имя, фамилию и оценку.
- Значение переменной
i
увеличивается на 1 после каждой итерации цикла. - Происходит суммирование оценок.
- ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д