这道c语言题目怎么做

改错题设a是一个整数数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到,输出x在数组a中的下标位置;如果没有找到,输出“没有找到与... 改错题
设a是一个整数数组,n和x都是整数,数组a中各元素的值互异。在数组a的元素中查找与x相同的元素,如果找到,输出x在数组a中的下标位置;如果没有找到,输出“没有找到与x相同的元素!”
源程序如下:
#include <stdio.h>
int main( )
{
int i, x, n, a[n];

printf("输入数组元素的个数:");
scanf("%d", &n);
printf("输入数组%d个元素:",n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
printf( "x= " );
scanf("%d", &x);
for(i = 0; i < n; i++)
if(a[i] != x) break;
if(i!=n)
printf( "没有找到与%d相等的元素!\n", d);
else
printf( "和%d相同的数组元素是a[%d]=%d\n", x, i, a[i]);

return 0;
}
展开
 我来答
百度网友28b4182
2012-02-19 · TA获得超过7221个赞
知道大有可为答主
回答量:4847
采纳率:100%
帮助的人:1806万
展开全部
#include <stdio.h>
int main( )
{
int i, x, n, a[100];//数组定义中,中括号内一定要是常量的

printf("输入数组元素的个数:");
scanf("%d", &n);
printf("输入数组%d个元素:",n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
printf( "x= " );
scanf("%d", &x);
for(i = 0; i < n; i++)
if(a[i] == x) break; //相等的时候退出
if(i==n)//相等的时候说明上面没有找到,因为如果找到的话是提交退出的,肯定是i<n
printf( "没有找到与%d相等的元素!\n", x);//d未定义
else
printf( "和%d相同的数组元素是a[%d]=%d\n", x, i, a[i]);

return 0;
}
百度网友a125722f
2012-02-19 · TA获得超过126个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:104万
展开全部
#include <stdio.h>
#include<malloc.h>
int main( )
{
int i, x, n;//C语言定义数组时,a[n]不能n不能用变量,只能是确定的数,如果像这样,可以改成下边的
int *a;
a=(int *)malloc(sizeof(int)*n);
printf("输入数组元素的个数:");
scanf("%d", &n);
printf("输入数组%d个元素:",n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
printf( "x= " );
scanf("%d", &x);
for(i = 0; i < n; i++)
if(a[i] != x) break;
if(i!=n)
printf( "没有找到与%d相等的元素!\n", d);
else
printf( "和%d相同的数组元素是a[%d]=%d\n", x, i, a[i]);

return 0;
}
其他地方都正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
asd313346541
2012-02-19 · 超过21用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:53.9万
展开全部
第一,你的数组定义a[n]错了.
第二,for循环下面要用"{ }"括起来;
第三,break语句好像不能在这儿用吧,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式