C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..

在数组a中按照顺序查找值为y的元素。若数组a中不存在该元素,则输出不存在;若存在这样的元素,则显示元素的下标,以及元素的总个数#include<stdio.h>#defi... 在数组a中按照顺序查找值为y的元素。若数组a中不存在该元素,则输出不存在;若存在这样的元素,则显示元素的下标,以及元素的总个数
#include <stdio.h>
#define N 10
void main()
{
int a[N],y,k,flag;
printf("shu ru y zhi: ");
scanf("%d",&y);
printf("shu ru shu zu: \n");
k=0;
do{
scanf("%d",&a[k]);
k++;
}while(k<N);
flag=0;
k=0;
while (k<N)
{
if(a[k]!=y)k++;
else
{
flag++;
k++;
}
}
if(flag==0)printf("zhi wei %d de yuan su bu cun zai\n",y);
}
此程序怎么记录元素下标呢?
展开
 我来答
帐号已注销
2013-06-02 · TA获得超过527个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:168万
展开全部
#include <stdio.h>
#define N 10
void main()

int a[N],y,k,flag;
int b[N];      //保存元素的下标
printf("shu ru y zhi: ");
scanf("%d",&y);
printf("shu ru shu zu: \n");
k=0;
do{
scanf("%d",&a[k]);
k++;
}while(k<N);

flag=0;
k=0;
while (k<N)

if(a[k]==y)
{
b[flag++] = k; //  在这里保存下标
}
k++;
}
if(flag==0)
printf("zhi wei %d de yuan su bu cun zai\n",y);
else
{
printf("存在%d个元素,下标为:",flag);
for(int i=0; i<flag; i++)
{
printf("%d ",b[i]);
}
}
}

何处可人生
2013-06-02 · 超过21用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:52.1万
展开全部
while (k<N)
{
if(a[k]!=y)k++;
else
{
printf("下标值为%d",k);
flag++;
k++;
}
}
if(flag==0)printf("zhi wei %d de yuan su bu cun zai\n",y);
}
我觉得这个程序应该是这样,并不需要把下标值保存起来,遇到了输出即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式