Rudimentare 2022-05-22 17:49 采纳率: 60%
浏览 60
已结题

c语言:for循环,在数组中查找数据,如果有重复的数据怎么查找

如果输入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 ;
}

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-05-22 18:17
    关注

    供参考:

    #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 ;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 创建了问题 5月22日