Получить последовательность по правилу - C (СИ) (79824)
Формулировка задачи:
Ребят, вот такая задача:
даны действ. числа а1,а2,...,аn(n>10). получить последовательность b1,b2...,b10, где b1=a1+a2+...+an,
b2=a2+a3+...+an, b10=a10+a11+...an;
я сделал так : где ошибка не могу понять?
подскажите пожалуйста
#include <stdio.h>
#define SIZE 10
int main(void)
{
int usr=0,i=0,j=0;
float a[SIZE],b[SIZE];
do
{
printf("Vvedite razmer (ne menee 11):\n");
scanf("%d",&usr);
}
while(usr<11);
printf("Elements:\n");
for (i=0;i<usr;++i)
{
printf("a[i]:");
scanf("%d",&a[i]);
}
for (i=0; i<10; ++i)
{
b[i]=0;
for (j=i; j<usr; ++j)
b[i]+=a[j];
}
printf("Massiv:\n");
for (i=0; i<10; ++i)
{
printf("%d:",b[i]);
return 0;
}
}Решение задачи: «Получить последовательность по правилу»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
int usr=0,i=0,j=0;
float a[100],b[100];
do
{
printf("Vvedite razmer (ne menee 11):\n");
scanf("%d",&usr);
}
while(usr<11);
printf("Elements:\n");
for (i=0;i<usr;++i)
{
printf("a[i]:");
scanf("%d",&a[i]);
}
for (i=0; i<10; ++i)
{
b[i]=0;
for (j=i; j<usr; ++j)
b[i]+=a[j];
}
printf("Massiv:\n");
for (i=0; i<10; ++i)
{
printf("%d:",b[i]);
return 0;
}
}
Объяснение кода листинга программы
Код на языке C выполняет следующие действия:
- Объявляет переменные
usr,iиjтипаint, а также массивыaиbтипаfloat. - Запускает бесконечный цикл, прерываемый только после ввода числа больше или равного 11.
- Выводит сообщение
Elements:и считывает значения элементов массиваaс помощью функцииscanf(). - Выполняет цикл для заполнения массива
bсуммой элементов массиваaс помощью цикла двойного цикла. - Выводит сообщение
Massiv:и выводит значения элементов массиваbс помощью циклаfor. - Возвращает 0, чтобы завершить работу программы.