结果出错

时间:2015-10-08 17:31:47

标签: c

int idade, salario,maior, menor, media, somasalario =0, i=0; 
char sexo; 
char estadoc;

do { 

   printf("Insira a sua idade:");
   scanf("%d", &idade);
    if (idade > maior) {
        maior = idade;
    }
    if (idade < menor) {
        menor = idade;
    }

   printf("Insira o seu salario:");
   scanf("%d", &salario);
   somasalario += salario;


       printf("Introduza o seu sexo:");
       scanf("%c", &sexo);
       printf("Introduza o seu estado civil:");
       scanf("%c", &estadoc);

       printf("Salario menor que 0!");


}while(idade !=-1); 

printf("idade maior: %d", maior);

}

这是我的代码,当我运行该程序时,printf保持这样:

&#34; Insira o seu salario:500 Introduza o seu sexo:Introduza o seu estado civil: &#34;

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

我已对您的计划进行了各种更正。它现在有效,虽然它似乎没有做任何非常有用的事情。事实上它总是告诉我“Salario menor que 0!”

#include <stdio.h>
#include <limits.h>                                 // added header

int main(void)
{
    int idade=0, salario=0, maior=INT_MIN, menor=INT_MAX, somasalario=0; 
    char sexo=' ', estadoc=' ';                     // initialised variables

    do { 
        printf("Insira a sua idade: ");
        if (scanf("%d", &idade) != 1)
            return 1;                               // input error
        if (idade > maior) {
            maior = idade;
        }
        if (idade < menor) {
            menor = idade;
        }

        printf("Insira o seu salario: ");
        if (scanf("%d", &salario) != 1)
            return 1;                               // input error
        somasalario += salario;

        printf("Introduza o seu sexo: ");
        if (scanf(" %c", &sexo) != 1)               // added space to clean input
            return 1;                               // input error
        printf("Introduza o seu estado civil: ");
        if (scanf(" %c", &estadoc) != 1)            // added space to clean input
            return 1;                               // input error

        printf("Salario menor que 0!\n");           // added newline
    } while(idade !=-1); 

    printf("idade maior: %d\n", maior);             // added newline
    return 0;
}