Другие языки программирования и технологии

Функция в языке Си, которая если мы вводим числа до 100, пишет верно, если больше то неверно.

Что у меня не так в коде?

#include <stdio.h>

#include <stdlib.h>

float chislo(int a);

int main()

{

int a=0;

int xxx;

printf ("\n Vvedite chislo");

scanf ("\n%d\n",&a);

xxx=chislo(a);

return 0;

}

float chislo(int a)

{

int a;

if ( a < 100 ) {

printf ("our number is in area\n" );

}

else {

printf( "wrong" );

}
Почему тип функции - float, если работаешь ты только с целыми?
Зачем еще раз объявлять переменную?
И перенос строки в scanf лишний. Оба два.
Нафига тебе вообще переменная xxx? Прочитали a, вызвали функцию - вот и все.

#include "stdio.h"

int chislo(int a);

int main(){
int a=0;
printf ("\n Vvedite chislo\n");
scanf ("%d",&a);
chislo(a);
return 0;
}

int chislo(int a){
if ( a <= 100 ) {
printf ("our number is in area\n" );
}
else {
printf( "wrong\n" );
}
}
_____________



Stas Dobrynin
Stas Dobrynin
56 955
Лучший ответ
#include <stdio.h>
#include <locale.h>
const char* to_one_hundred(double);
int main() {
double num;
setlocale(2, "");
while (1) {
printf("Введите число: ");
scanf_s("%Lf", &num);
printf("%s\n", to_one_hundred(num));
}
return 0;
}
const char* to_one_hundred(double number) {
return number < 100 ? "верно" : "не верно";
}
Кирилл Воронов
Кирилл Воронов
96 313
На js было бы так:
a = parseInt(prompt("Число? "));
console.info(a > 100 ? 'Не верно' : 'Верно');

Ты только забыл написать, что будет, если ввести ровно 100. У тебя в условии только больше и меньше 100.
Кирилл Воронов В условии не написано, что больше ста. Написано что больше (чем меньше ста)
Функция ничего не возвращает и в ней второе локальное объявление int a. Саму функцию можно было вообще не писать, обойтись инлайновой проверкой (a<100? printf("in area\n"):printf("out of area\n")).
OM
Oleg Milan
48 067
Судя по твоему коду функция должна что то возвращать? Но она ничего не возвращает, а должна ли?
ты дважды переменную объявляешь, убирай int a;