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像这样保持:
“ Insira o seu salario:500
简介:关于公民的简介:
”
有人可以帮我吗?
最佳答案
我已对您的程序进行了各种更正。现在它可以工作,尽管它似乎并没有什么用处。实际上,它总是告诉我“ 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;
}