ccccc只有一个名字 2022-10-29 22:05 采纳率: 87.5%
浏览 46
已结题

c语言,函数题,fibonacci数,查找指定元素,求交集

问题描述】5.4 输入2个正整数m和n(m≥1,n≤10000),输出m~n之间所有的Fibonacci数,以整数输出。Fibonacci数列(第一项起):1,1,2,3,5,8,13,21,…。要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。例如,fib(7)的返回值是13。
【输入输出样例1】
 

img

【输入输出样例2】
 

img

【样例说明】
输出结束后需要换行。
输入提示符中冒号为英文字符,后面无空格。

/5.4 输入2个正整数m和n(m≥1,n≤10000),
输出m~n之间所有的Fibonacci数,
以整数输出。
Fibonacci数列(第一项起):1,1,2,3,5,8,13,21,…。
要求定义并调用函数fib(n),
它的功能是返回第n项Fibonacci数。
例如,fib(7)的返回值是13。
/
#include<stdio.h>
#define N 1000
int fib(int n);//函数声明
int main()
{
    int n,m,i;//scanf("%d",&i);
    printf("Input m:");
    scanf("%d",&m);
    printf("Input n:");
    scanf("%d",&n);//输入
    for(i=0;i<1000;i++)
        if(fib(i)<=n&&fib(i)>=m)//判断是否在区间内
           printf("%d\n",fib(i));//函数调用
    return 0;
}
int fib(int n)//函数定义
{
    int a[N],j;
    a[1]=1;a[0]=1;
    for(j=2;j<=n;j++){
        a[j]=a[j-1]+a[j-2];
    }
    return a[n-1];
}
问题描述】5.9 在数组中查找指定元素。输入一个正整数n(1<n≤10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,如果找到则输出相应的最小下标,否则输出“Not Found”。要求定义并调用函数search(list,n,x),它的功能是在数组list中查找元素x,若找到则返回相应的最小下标,否则返回-1。
【输入输出样例1】
 

img

【输入输出样例2】
 

img

【样例说明】
输出结束后需要换行。
输入提示符中冒号为英文字符,后面无空格。

/*在数组中查找指定元素
输入一个正整数n(1<n≤10)

#include<stdio.h>
int search(int list[],int n,int x);
int main()
{
    int n,a[10],i,x;
    printf("Input n:");
    scanf("%d",&n);
    printf("Input %d integers:",n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    printf("Input x:");
    scanf("%d",&x);
    if(search(a,n,x)==-1)printf("Not Found\n");
    else printf("Index=%d",search(a,n,x));
    return 0;
}
int search(int list[],int n,int x)
{
    int i;
    for(i=n-1;i>=0;i--)
       if(list[i]==x)
            return i;
    return -1;
}

【问题描述】5.10 输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素,要求在主函数中输入A和B数组,并输出交集中的元素,在被调函数中实现求这两个集合的交集,返回交集元素的个数。定义函数为mix(a,b,c),功能为将数组A和B中的交集赋给数组C,函数返回值为交集元素的个数。
【输入输出样例】

img

【样例说明】

输出结束后不需要换行。
输入提示符中冒号为英文字符,后面无空格。
交集元素输出格式为%4d。

/输入两个由整型数构成的集合
(元素个数均为5)
分别放到数组A和B中
求这两个集合的交集
(交集的元素由两个集合中的相同元素构成)
最后输出交集中的元素
要求在主函数中输入A和B数组
并输出交集中的元素
在被调函数中实现求这两个集合的交集
返回交集元素的个数
定义函数为mix(a,b,c)
功能为将数组A和B中的交集赋给数组C
函数返回值为交集元素的个数
/
#include<stdio.h>
int mix(int a[],int b[],int c[]);
int main()
{
    int a[4],b[4],c[4],i;
    printf("PLease Enter Array A,5 digits:");
    for(i=0;i<5;i++)
        scanf("%d",&a[i]);
    printf("PLease Enter Array B,5 digits:");
    for(i=0;i<5;i++)
        scanf("%d",&b[i]);
    mix(a,b,c);
    return 0;
}
int mix(int a[],int b[],int c[])
{
    int i,j,count=0;
    printf("A B intersection is:");
    for(i=0;i<5;i++){
        for(j=0;j<5;j++)
        if(a[i]==b[j]){
            c[count]=b[j];
            count++;
            printf("%4d",b[j]);}
    }

    return count;
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月6日
    • 创建了问题 10月29日

    悬赏问题

    • ¥15 爬取豆瓣电影相关处理
    • ¥15 手机淘宝抓清除消息接口
    • ¥15 C#无selenium
    • ¥15 LD衰减计算的结果过大
    • ¥15 用机器学习方法帮助保险公司预测哪些是欺诈行为
    • ¥15 计算300m以内的LD衰减
    • ¥15 数据爬取,python
    • ¥15 怎么看 cst中一个面的功率分布图,请说明详细步骤。类似下图
    • ¥15 为什么我的pycharm无法用pyqt6的QtWebEngine
    • ¥15 FOR循环语句显示查询超过300S错误怎么办