C语言编程题,求帮忙

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

#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;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-15
#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);

}
第2个回答  2019-03-13
这个主要在函数按值传递与按地址传递。
函数f中参数y传递的是主函数局部变量y的一个拷贝,所以在函数f中修改y并不会导致主函数中y的改变,而参数x传递的是主函数中局部变量x的地址,在函数f中对这个地址解引用,更改这个地址所存放变量的值就改变了主函数中的局部变量x。
具体你可以了解函数的按值传递与按地址传递。
第3个回答  2013-06-15
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;
}

C语言编程作业,求解答
作业1:result(int)= c (char) * i (int) + f (float) \/ d (double) -(f + i);第一步:f+i, 一个float和int相加,按精度高的float进行计算,结果为float result = char * int + float\/double - float;第二步:char * int, 他们都是整数相加为int result =int + float\/double...

c语言编程题,麻烦写在纸上,谢谢了~~
int a=0,b=0,c=0;for(a=1; a<=4; a++){ for(b=0;b<=5;b++){ for(c=1;c<=6;c++){ if(a+b+c==7){ printf("红球%d个,白球%d个,黑球%d个.\\n",a,b,c);} } } } return 0;} 第三题:include <stdio.h> int main(){ int a=0,b=0,c=0;int cnt = 0;f...

c语言编程求助,越多越好我可以加,一题也行,感谢大神!
1#include<stdio.h>int prime(int n){ int flag=1; if(n<=1) return 0; for(int i=2;i*i<=n;i++){ if(n%i==0){ flag=0; break; } } if(flag) return 1; else return 0;}int main(){ int t; scanf("%d",&t); if(prime(t...

急求用c语言编程写出这十题
1,include<stdio.h>void main(){ printf("我的名字是张三.\\n"); printf("我是一个男性。\\n"); printf("我今年24岁了。\\n"); printf("我在三年二班。\\n"); }2,include<stdio.h>void main(){ int m; m=923; printf("m=%d.\\n",m); }3,include<stdio.h>void main(){ flo...

C语言编程题,都是基础的,望达人解答。
1.main(){ int a,b;scanf("%d%d",&a,&b);printf("a+b=%d",a+b);} 2.main(){ int a,b;scanf("%d%d",&a,&b);if(a>b)printf("最小值是%d",b);if(a<b)printf("最小值是%d",a);if(a==b)printf("两个值相等");} 3.main(){ int a,b;scanf("%d%d",&a,&b)...

c语言编程题目,帮帮我
\/* 这个问题其实就是求直角三角形的两个直角边的和。边距通过行号和列号来求。 比如m的行号列号 (5, 3),n的号(2, 2) 两个点的行和列的差就是两条边距 3, 1.结果就是 3 + 1 = 4; 编译器:gcc。 这代码应该不会有编译器不兼容的现象。*\/#include<stdio.h>in...

简单C语言编程,求解答
S=sqrt(s*(s-a)*(s-b)*(s-c))+0.0005;printf("\\n三角形的面积为:%10.3lf",S);getch();} (附加题)6.编程将用户输入的十进制数转换成十六进制数和八进制数,并输出,要求界面友好。include "stdio.h"main(){ int n;printf("请输入一个十进制数:");scanf("%d",&n);printf...

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

C语言编程,求解
一、程序需要四个函数,分别是入口主函数、输入函数、输出函数、排序函数。二、题目要求按首字母排序,未限制大小写,因此不能直接用字母比大小,需根据大小写求字母差值,用差值比较。三、字符串排序交换,用函数strcpy。下面是代码:include<stdio.h> include<string.h> define MM 12\/\/月份个数 define...

c语言程序设计有关编程题,急求答案
1题#include "stdio.h"main(){ int n,i;float sum=0,t,a=1.0,b=1;printf("please input n:");scanf("%d",&n);for(i=0;i<n;i++){ t=a\/b;sum+=t;b=b+2;} printf("sum=%f\\n",sum);} 2题#include "stdio.h"include"math.h"main(){ int n,bai,shi,ge;while(1)...

相似回答