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

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日

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害