如果输入60,怎么把数组里三个60都找到,输出三个序号
#include <stdio.h>
int main()
{
int i;
float score[30]={60,60,60,56,88,99},b;
printf("从键盘上输入一个成绩,判定该成绩是否在数组中,若在则输出所在序号\n");
printf("输入一个成绩:");
scanf("%f",&b);
for(i=0;i<30;i++)
{
if( score[i] != b )
{
continue ;
}
else if(i=29)
{
printf("该成绩不在数组中\n");
break ;
}
else if ( b == score[i] )
{
printf("%d\t",i);
}
}
return 0 ;
}
供参考:
#include <stdio.h>
int main()
{
int i,flg=0; //修改
float score[30]={60,60,60,56,88,99},b;
printf("从键盘上输入一个成绩,判定该成绩是否在数组中,若在则输出所在序号\n");
printf("输入一个成绩:");
scanf("%f",&b);
for(i=0;i<30;i++)
{
//if( score[i] != b ) //修改
//{
// continue ;
//}
//else if(i=29)
//{
// printf("该成绩不在数组中\n");
// break ;
//}
//else
if ( b == score[i] )
{
flg++; //修改
printf("%d\t",i);
}
}
if(!flg) //修改
printf("该成绩不在数组中\n");
return 0 ;
}
这样吗,望采纳,谢谢,代码:
#include <stdio.h>
int main()
{
int i;
float score[30] = { 60,60,60,56,88,99 }, b;
printf("从键盘上输入一个成绩,判定该成绩是否在数组中,若在则输出所在序号\n");
printf("输入一个成绩:");
scanf("%f", &b);
bool flag = true;
for (i = 0; i < 30; i++)
{
if (score[i] == b)
{
flag = false;
printf("%d\t", i);
}
}
if (flag)
{
printf("该成绩不在数组中\n");
}
return 0;
}
效果: