程序调试帮助,c语言。

来源:百度知道 编辑:UC知道 时间:2024/05/04 10:07:21
题目:输入3位员工的编号,姓名,基本工资,津贴,输出月工资加津贴最少员工的信息
struct stuff
{ int num;
char name[81];
float s1,s2;
};
main()
{ struct stuff a[3];
int i,k;
float min;
for(i=0;i<3;i++)
{ printf("\nnumber:");
scanf("%d",&a[i].num);
printf("\nname:");
scanf("%s",a[i].name);
printf("\ninput s1 and s2:");
scanf("%f %f",&a[i].s1,&a[i].s2);
}
min=a[0].s1+a[0].s2;
for(i=1;i<3;i++)
if(a[i].s1+a[i].s2<min)
{ min=a[i].s1+a[i].s2;
k=i;
}
printf("%d %s %f %f",a[k].num,a[k].name,a[k].s1,a[k].s2);
}
编译是可以通过的,不过大家尝试一下输入,就回发现,一到float型的s1,s2程序就会自动的跳出来了...

郁闷啊
这是一个正确的程序啊.............
#include"stdio.h"
struct stuff
{ int num;
char name[81];
float s1,s2;
};
main()
{ struct stuff a[3];
int i,k;
float min;
for(i=0;i<3;i++)
{ printf("\nnumber:");
scanf("%d",&a[i].num);
printf("\nname:");
scanf("%s",a[i].name);
printf("\ninput s1 and s2:");
scanf("%f %f",&a[i].s1,&a[i].s2);
}
min=a[0].s1+a[0].s2;
for(i=1;i<3;i++)
if(a[i].s1+a[i].s2<min)
{ min=a[i].s1+a[i].s2;
k=i;
}
printf("%d %s %f %f",a[k].num,a[k].name,a[k].s1,a[k].s2);
}

好象是对的哦

编译是可以通过的,不过大家尝试一下输入,就回发现,一到float型的s1,s2程序就会自动的跳出来了...
谢谢上面2位的回答...