Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从C中的端子计算最小/最大值_C_Assign_Infinity - Fatal编程技术网

从C中的端子计算最小/最大值

从C中的端子计算最小/最大值,c,assign,infinity,C,Assign,Infinity,我想创建一个程序,当我输入5个数字时,该程序将打印最大的第一个数字和最大的第二个数字。(1.数字的值为=0)。当我输入5个大于0的数字时没有问题,但当我输入5个小于0的数字时,该程序将打印第一个最大的数字是0,第二个最大的数字是1 #include <stdio.h> int main() { int number = 0, first, second, numbercounter = 0; first = number; while (numbercou

我想创建一个程序,当我输入5个数字时,该程序将打印最大的第一个数字和最大的第二个数字。(1.数字的值为=0)。当我输入5个大于0的数字时没有问题,但当我输入5个小于0的数字时,该程序将打印第一个最大的数字是0,第二个最大的数字是1

#include <stdio.h>

int main() {
    int number = 0, first, second, numbercounter = 0;
    first = number;

    while (numbercounter < 5) {
        printf("5 tamsayi girin:", ++numbercounter);
        scanf("%d", &number);

        if (number > first) {
            second = first;
            first = number;
        } else if (number > second)
            second=number;
    }

    printf("En buyuk sayi: %d \n", first);
    printf("En buyuk ikinci sayi:%d \n", second);

    if (first % second == 0) {
        printf("%d, %d'nin tam katidir.\n", first, second);
    } else {
        printf("%d, %d'nin tam kati degildir.\n", first, second);
    }

    if (first == second) {
        printf("%d ve % esittir.\n", first, second);
    } else {
        printf("%d ve %d esit degildir.\n", first, second);
    }
    if (first % 2 != 0) {
        printf("%d tektir.\n", first);
    } else {
        printf("%d cifttir.\n", first);
    }

    return 0;
}
#包括
int main(){
int number=0,第一个,第二个,numbercounter=0;
第一个=数字;
while(数字计数器<5){
printf(“5 tamsayi girin:,++数字计数器);
scanf(“%d”和编号);
如果(编号>第一个){
第二=第一;
第一个=数字;
}否则如果(数字>秒)
第二个=数字;
}
printf(“En buyuk sayi:%d\n”,第一个);
printf(“En buyuk ikinci sayi:%d\n”,第二个);
如果(第一个%s==0){
printf(“%d,%d'nin tam katidir.\n”,第一,第二);
}否则{
printf(“%d,%d'nin tam kati degildir.\n”,第一,第二);
}
如果(第一个==第二个){
printf(“%d ve%esitir.\n”,第一个,第二个);
}否则{
printf(“%d ve%d esit degildir.\n”,第一,第二);
}
如果(第一个%2!=0){
printf(“%d tektir.\n”,第一个);
}否则{
printf(“%d cifttir.\n”,第一个);
}
返回0;
}

有两个问题:

  • first
    0
    开头。如果
    number
    为负值,则
    If(number>first)
    为false
  • second
    在未初始化的情况下使用,如果
    number没有整数表示无穷大。如果您想要最负的带符号整数,请使用
    中的
    INT\u MIN
    。哦,谢谢,您能给我解释更多或制作一个示例吗?嗯<代码>第一个=第二个=整数分钟#include <stdio.h> #include <limits.h> int main() { int number = 0, first = INT_MIN, second = INT_MIN, numbercounter = 0;
        first = number;