2015-12-06 3 views
0

Предположим, что у нас есть массив с температурой целых месяцев, набранных пользователем.Выберите и напечатайте определенную группу целых чисел из массива

int april[31]; 
int i; 

for(i=0; i<31; i++) 
{ 
    printf("Give today's temperature: \n"); 
    scanf("%d", &april[i]); 
} 

for(i=0; i < 5; i++) 
    printf("Day %d = %dC\n", i+1, april[i]); 

Затем пользователь вводит два числа (дни месяца, < = 31 & &> 0), что программа будет показывать на экране температур между этими цифрами. Пример:

GIVE A SPACE OF 2 DAYS SO I'LL SHOW YOU THE TEMPS(1-31): 
>>2 10 
THE TEMPS ARE: 28, 25, 23, 27, 26, 25, 24, 29, 30 

Должен ли я просто сделать новый массив для них, или есть какой-нибудь способ рода «вырвать» группу последовательных значений массива и напечатать их?

+0

Если все, что вы хотите сделать, это напечатать, то просто используйте 'printf' в цикле for, управляемом числами, введенными пользователем. –

+3

'for (i = 0; i <31; i ++) «Вы понимаете, что« i = 0 »и« i <31 »означают? Если вы измените эту инициализацию и условие, вы можете достичь своей цели. –

ответ

2
int start, end; 
printf("GIVE A SPACE OF 2 DAYS SO I'LL SHOW YOU THE TEMPS(1-31):"); 
scanf("%d %d", &start, &end); 
for (int k = start - 1; k < end - 1; k++) { 
    printf("%d ", april[k]); 
} 
+0

Большое вам спасибо – Coursal