c语言题目

【问题描述】有n个整型数据,在这n个数据中查找一个指定的数。若找到,输出find!,否则输出nofind!。【输入形式】第1行是一个整数T,表示有T行测试数据。每行的第1... 【问题描述】有n个整型数据,在这n个数据中查找一个指定的数。若找到,输出find!,否则输出no find!。

【输入形式】第1行是一个整数T,表示有T行测试数据。每行的第1个数n(n<=10)表示该组测试数据的个数,后跟n个整数及1个待查找的数x,即在前面的n个数中查找数x。

【输出形式】若找到,输出find!,否则输出no find!。

【样例输入】

2

5 2 3 4 5 6 3
10 46 52 5 30 85 120 76 8 99 12 22
【样例输出】

find!
no find!
展开
 我来答
自我编程
2019-07-04 · 科技优质答主
自我编程
采纳数:1481 获赞数:4279

向TA提问 私信TA
展开全部

根据题意:
题目1:函数参数是除数(这里传值8),返回满足条件的数字和。
题目2:函数参数是要找的项目数(这里传值10),返回对应项的值。

#include<stdio.h>

#define MIN 50

#define MAX 1000

int fa(int a);//对应题目1的函数,参数:要除的数,返回可以被整除的数之和

int getByIndex(int n);//对应题目2,返回数列第n项,错误返回-1

int main()

{

printf("1、%d~%d之间能被%d整除的数字之和为:%d\n",MIN,MAX,8,fa(8));

printf("2、数列头三个数为4,5,6,以后的每个数为前三数和,求此数列第%d项:%d\n",10,getByIndex(10));

return 0;

}

int fa(int a)//对应题目1的函数,参数:要除的数,返回可以被整除的数之和

{

int i,sum=0;

for(i=MIN;i<=MAX;i++)

if(i%a==0)

sum+=i;

return sum;

}

int getByIndex(int n)//对应题目2,返回数列第n项,错误返回-1

{

if(n<1)

return -1;

int i,nums[n];

nums[0]=4,nums[1]=5,nums[2]=6;

for(i=3;i<n;i++)

nums[i]=nums[i-1]+nums[i-2]+nums[i-3];

return nums[n-1];

}

rWuA9562
2018-11-05 · TA获得超过2575个赞
知道大有可为答主
回答量:5193
采纳率:87%
帮助的人:453万
展开全部
对于A答案,预处理可以包含1.宏定义指令;2.条件编译指令;3.头文件包含指令;4.编译程序可以识别的特殊符号;对于B答案,先条件编译指令#ifdef,#ifndef这两组不一定要位于开始。对于C答案,预编译程序完成的实际上是对源程序中部分内容的“替代”,经过替代生成一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件。所以选C 希望对你有帮助!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cabeng
2018-12-12 · TA获得超过755个赞
知道小有建树答主
回答量:801
采纳率:55%
帮助的人:481万
展开全部
#include<stdio.h>
#include<stdlib.h>
int main()
{
int rowCount; //测试数据的行数
int buf[12]; //第一个位置存放本行数据的个数,后边存放本行的数据,数据的末尾存放待查找的目标
int i, j;
int *findResult;
//读取测试数据的行数
scanf("%d", &rowCount);
if (rowCount < 1)
return -1;
//分配每行数据查找结果的存储空间
findResult = (int *)malloc(sizeof(int) * rowCount);
for (i = 0; i < rowCount; i++) {
setbuf(stdin, NULL);
//读取每行数据的个数
scanf("%d", &buf[0]);
if(buf[0] < 1 || buf[0] > 10)
return -2;
//读取测试数据及待查找的目标
for (j = 0; j <= buf[0]; j++)
scanf("%d", &buf[j + 1]);
//查找目标是否在测试数据中
findResult[i] = 0;
for (j = 0; j < buf[0]; j++)
if(buf[j + 1] == buf[buf[0] + 1]){
findResult[i] = 1;
break;
}
}
//输出结果
for (i = 0; i < rowCount; i++)
printf("%s\n", findResult[i] == 1 ? "find!" : "no find!");
//释放分配的空间,否则内存泄露了
free(findResult);
//让屏幕暂停,以便查看结果
system("PAUSE");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岔路程序缘

2018-12-13 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3340万
展开全部
main()
{int a[100],t,n,s,i,j;
scanf("%d",&t);
for(i=0;i<t;i++)
{scanf("%d",&n);
for(j=0;j<n;j++)scanf("%d",a[j]);
scanf("%d",&s);
for(j=0;j<n;j++)
if(s==a[j]){printf("find");break;}
if(j==n)printf("no find");
追答
还没答完呢😄
最后再加两个右花括号:
}}
程序就完整了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式