读书人

真心不晓得错在哪?初学者跪求解决。(

发布时间: 2012-03-28 15:40:03 作者: rapoo

真心不晓得错在哪?菜鸟跪求解决。。。(总是输出最后一个数)
描述: 定义一个职工结构体数组,从键盘输入5位职工的信息,打印出最高的工资。

输入: 从键盘输入5位职工的信息(4个数据,每个占一行,工资有两位小数)。
输出: 打印出最高的工资。

[code=C/C++][/code]
#include <stdio.h>

struct WorkerType
{
char name[20];
char IDnum[20];
int age;
float wage;
}worker[5];

void scan();
void print();

int main()
{
scan();
print();
return 0;
}

void scan()
{
int i;
for(i=0;i<5;i++)
{
scanf("%s",worker[i].name);
scanf("%s",worker[i].IDnum);
scanf("%d",&(worker[i].age));
scanf("%f",&(worker[i].wage));
}
}

void print()
{
int i;
float mwage;
mwage=worker[0].wage;
for(i=1;i<5;i++)
{
if(mwage<worker[i].wage); //就算不成立,debug时观察也能继续。求解。。。
{
mwage=worker[i].wage;
}
}
printf("%.2f\n",mwage);
}

[解决办法]

C/C++ code
void print(){  int i;  float mwage;  mwage=worker[0].wage;  for(i=1;i<5;i++)  {  if(mwage<worker[i].wage)//把这里的“;”去掉  {  mwage=worker[i].wage;  }  }  printf("%.2f\n",mwage);} 

读书人网 >C++

热点推荐