gpt4 book ai didi

c - 我在 C 程序中没有得到正确的输出?

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:31 25 4
gpt4 key购买 nike

我正在为 C 程序使用 Dev-c++Code::Blocks IDE。我想从用户循环最多 10 次。但我没有得到正确的输出。我第一次从第二次获得正确的输出后我没有得到正确的输出。


#include<stdio.h>

main() {
char g;
int yos,qual,sal,a = 1;
printf("\nEnter M for Male and F for Female");
printf("\nEnter 0 for Graduate and 1 for Post-Graduate");

while(a<=10) {
printf("\n\n\nEnter gender, year of service , qualification : ");
scanf("%c%d%d",&g,&yos,&qual);
if(g=='M' && yos>=10 && qual==1)
sal = 15000;
else if((g=='M' && yos>=10 && qual==0) || (g=='M' && yos<10 && qual==1))
sal = 10000;
else if(g=='M' && yos<10 && qual==0)
sal = 7000;
else if(g=='F' && yos>=10 && qual==1)
sal = 12000;
else if(g=='F' && yos>=10 && qual==0)
sal = 9000;
else if(g=='F' && yos<10 && qual==1)
sal = 10000;
else if(g=='F' && yos<10 && qual==0)
sal = 6000;
printf("\nSalary of the employee is : %d",sal);
a++;
}

}

enter image description here

最佳答案

两件事。在 scanf() 中的 %c 之前放置一个 space 将吃掉它之前的所有空格,并检查 返回的正确输入数code>scanf() 将防止愚蠢的输出。我输入了第一组 newline 分隔符,第二组使用 space 分隔符。

#include <stdio.h>

int main()
{
char g;
int yos, qual;

printf("\nEnter char, int, int: ");
if (3 != scanf(" %c%d%d", &g, &yos, &qual))
printf ("Error\n");
else
printf("You entered: %c %d %d\n", g, yos, qual);

printf("\nEnter char, int, int: ");
if (3 != scanf(" %c%d%d", &g, &yos, &qual))
printf ("Error\n");
else
printf("You entered: %c %d %d\n", g, yos, qual);

return 0;
}

程序输入/输出

Enter char, int, int: a
1
2
You entered: a 1 2

Enter char, int, int: b 6 7
You entered: b 6 7

关于c - 我在 C 程序中没有得到正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29376518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com