C语言编程题,求帮忙
Description已知一维数组中的10个元素各不相同,查找数组中是否存在值为key的数组元素。如果有,输出相应的下标,否则输出notfound。已知数组无序排列。In...
Description
已知一维数组中的10个元素各不相同,查找数组中是否存在值为key的数组元素。如果有,输出相应的下标,否则输出not found。已知数组无序排列。
Input
先从键盘输入10个整数。然后再输入一个待查找的数据key。
Output
若存在,则输出该数所在位置的下标值。若不存在则输出"not found"(输出不包含双引号)。
Sample Input
6 70 -9 80 83 54 3 88 10 2
80
Sample Output
3 展开
已知一维数组中的10个元素各不相同,查找数组中是否存在值为key的数组元素。如果有,输出相应的下标,否则输出not found。已知数组无序排列。
Input
先从键盘输入10个整数。然后再输入一个待查找的数据key。
Output
若存在,则输出该数所在位置的下标值。若不存在则输出"not found"(输出不包含双引号)。
Sample Input
6 70 -9 80 83 54 3 88 10 2
80
Sample Output
3 展开
4个回答
展开全部
#include <stdio.h>
int main()
{
int a[10];
int i,j,k=0,key;
printf("请输入10的数字 ");
for(i=0;i<10;++i)
scanf("%d",a+i);
printf("请输入你要查找的数字 ");
scanf("%d",&key);
for(i=0;i<10;++i)
{
if(a[i]==key)
{
printf("你要的数字在%d\n",i);
k=1;
break;
}
}
if(k!=1)
printf("not found\n");
return 0;
}
int main()
{
int a[10];
int i,j,k=0,key;
printf("请输入10的数字 ");
for(i=0;i<10;++i)
scanf("%d",a+i);
printf("请输入你要查找的数字 ");
scanf("%d",&key);
for(i=0;i<10;++i)
{
if(a[i]==key)
{
printf("你要的数字在%d\n",i);
k=1;
break;
}
}
if(k!=1)
printf("not found\n");
return 0;
}
展开全部
#include <stdio.h>
void Input(int * p, int q)
{
int i;
printf("请输入这十个数:(以空格隔开)\n");
for (i=0;i<q;i++)
{
scanf("%d",&p[i]);
}
}
int Output(int * p, int q, int key)
{
int i;
for (i=0;i<q;i++)
{
if(p[i]== key)
return i;
}
return 10;
}
int main (void)
{
int a[10];
int key;
int k;
Input(a,10);
printf("再输入一个待查找的数据\n");
scanf("%d",&key);
k = Output(a,10,key);
if(10==k)
printf("not found\n");
else
printf("%d\n",k);
}
void Input(int * p, int q)
{
int i;
printf("请输入这十个数:(以空格隔开)\n");
for (i=0;i<q;i++)
{
scanf("%d",&p[i]);
}
}
int Output(int * p, int q, int key)
{
int i;
for (i=0;i<q;i++)
{
if(p[i]== key)
return i;
}
return 10;
}
int main (void)
{
int a[10];
int key;
int k;
Input(a,10);
printf("再输入一个待查找的数据\n");
scanf("%d",&key);
k = Output(a,10,key);
if(10==k)
printf("not found\n");
else
printf("%d\n",k);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个主要在函数按值传递与按地址传递。
函数f中参数y传递的是主函数局部变量y的一个拷贝,所以在函数f中修改y并不会导致主函数中y的改变,而参数x传递的是主函数中局部变量x的地址,在函数f中对这个地址解引用,更改这个地址所存放变量的值就改变了主函数中的局部变量x。
具体你可以了解函数的按值传递与按地址传递。
函数f中参数y传递的是主函数局部变量y的一个拷贝,所以在函数f中修改y并不会导致主函数中y的改变,而参数x传递的是主函数中局部变量x的地址,在函数f中对这个地址解引用,更改这个地址所存放变量的值就改变了主函数中的局部变量x。
具体你可以了解函数的按值传递与按地址传递。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using namespace std;
int main()
{
int i = 0;
int x[10];
for (i = 0; i < 10; i++)
{
scanf("%d", x + i);
}
int input;
// 输入查询整数
scanf("%d", &input)
for (i = 0; i < 10; i++)
{
if (input == x[i])
{
printf("下标为:%d", i);
system("pause");
return 1;
}
}
printf("not found");
system("pause");
return 0;
}
int main()
{
int i = 0;
int x[10];
for (i = 0; i < 10; i++)
{
scanf("%d", x + i);
}
int input;
// 输入查询整数
scanf("%d", &input)
for (i = 0; i < 10; i++)
{
if (input == x[i])
{
printf("下标为:%d", i);
system("pause");
return 1;
}
}
printf("not found");
system("pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询