有懂C语言的吗 从1-10个数里选一个整数,然后在剩下的9个数中再选一个,以此类推 用函数咋写,用到EX表格

作者&投稿:招范 (若有异议请与网页底部的电邮联系)
C语言是函数式编程语言吗~

函数式编程是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用。
所以说JavaScript算是函数式编程语言。

#include
#include
long H(int n,int x)
{
if(n==0)return 1;
if(n==1)return 2*x;
if(n>1)return (2*x*H(n-1,x)-2*(n-1)*H(n-2,x));
}
main()
{
int n,x;
printf("when x=-1,program exits.");
while(1)
{
printf("n=");
scanf("%d",&n);
getchar();
if(n==-1)break;
printf("x=");
scanf("%d",&x);
getchar();
printf("result= %ld
",H(n,x));
}
}

什么意思?

你是说在excel表格里有任意10个数字,然后每次调用函数从中取出1个数字,直到取完所有10个数字?

如果要从excel里读取数字,最简单的办法是,把excel另存为csv文件(数字逗号分割)。

然后用文件流读取文件数据,存放在数组中,读取文件的代码我就不写了。

你要的从10个数字中依次读取随机一个数的函数,我写如下:

演示效果:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<malloc.h>
#include <unistd.h>
int getNum(int **nums,int *size);
int main()
{
    //size就是数字个数,nums就是数组,你如果写文件读写,读出来的数字就存放在nums中就可以了,之后只要循环调用我的getNum函数就可以依次取值了。

    int i,size=10,*nums=(int *)malloc(sizeof(int)*size);
    srand(time(NULL));

    for(i=0;i<10;i++)//我这里为了演示,nums数组里存放1,2,3,4,5,6,7,8,9,10十个数字
        nums[i]=i+1;

    while(1)
        printf("数组中剩余数字个数%d,本次调用函数getNum获得数字%d
",size,getNum(&nums,&size));
        //调用就像这样传参,函数会自动改变数组大小,还有size的值,你什么都不用管
        //如果数组中数字已经被取完,还调用这函数,那么会提示“数组中无数据可取”,并自动结束程序,如果不希望被结束,自行控制调用次数

    return 0;
}
int getNum(int **nums,int *size)
{
    int rnum,i,j,*p;
    if(*size==1)
    {
        *size=0;
        return *nums[0];
    }
    if(*size==0)
    {
        printf("数组中无数据可取!
");
        exit(0);
    }
    i=rand()%(*size);
    rnum=(*nums)[i];
    for(j=i;j<(*size)-1;j++)
        (*nums)[j]=(*nums)[j+1];
    (*size)--;
    p=realloc(*nums,sizeof(int)*(*size));
    if(p==NULL)
    {
        printf("内存申请失败!
");
        exit(0);
    }
    *nums=p;
    return rnum;
}



正定县19617598547: 用c语言编一个程序:从任意10个数中任选4个数并全输出? -
苌伊尿毒: C:#include #include #include int main() { int num[10] = {1,2,3,4,5,6,7,8,9,10}, i; srand((unsigned)time(0)); printf("从原数组: \n"); for(i = 0; i printf("%d ", num[i]); printf("\n中随机选出的4个数为: "); for(i = 0; iprintf("%d ", num[rand()...

正定县19617598547: C语言如何用选择法排序任意输入十个数(从大到小、从小到大)? -
苌伊尿毒: #include <stdio.h> main(void) {int i,j,a[10],p=0,t=0,temp; printf("请输入原数组:\n");for(j=0;j<10;j++)scanf("%d",&a[j]);temp=a[0]; for(j=0;j<9;j++){t=j;temp=a[j];for(i=j+1;i<10;i++)if(temp>a[i]) //这是由小到大排序 如果是大到小则改...

正定县19617598547: c语言编程中:从键盘输入10个整数,然后根据提示选择输入A或者D -
苌伊尿毒: 你是要实现什么功能? 在VC中编程可以用scanf();读取键盘数据,也可用getchar();获取输入的一个字符.如: int a[10],i; for(i=0;i{ scanf(a[i],%d);} 不知道这样用数组行不,不行就直接用最笨的方法 int a0,a1,a2,a3,a4,a5,a6,a7,a8,a9; ...

正定县19617598547: 怎样用C语言从一组特定数选出几个数的所有组合,例如从10个数中选出5个数的所有组合 -
苌伊尿毒: 我擦,这算法有些复杂,没搞对,弄了一个小时只弄出个全排列的,你看能改改不:#include <stdio.h> #define NUM 10int main () {int i, j, k, l, m, n, a[NUM];n = 0;printf("Enter NUM numbers:\n");for(i = 0; i < NUM; i++){scanf("%d", &a[i]...

正定县19617598547: c语言编程:从键盘输入10个数,要求找出里面最大的数和最小的数 -
苌伊尿毒: #include void main() { float max=-10000,min=99999,num; for(int i=0;i{ scanf("%f",&num); if(maxmax=num; if(min>num) min=num; } printf("the max is %f,min is %f:",max,min); }

正定县19617598547: c语言高手帮忙:从键盘输入10个整数.用选择法或冒泡法将它们从小到大的顺序排序,并以此顺序输出. -
苌伊尿毒: #include main() {int s[10],t,i,j,x;printf("input 10 numbers:\n");for(t=0;t<10;t++)scanf("%d",&s[t]);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(s[j]>s[j+1]){t=s[j];s[j]=s[j+1];s[j+1]=t;}printf("the result is:\n ");for(j=0;j<10;j++)printf("%d",s[j]); printf("\n"); }

正定县19617598547: C语言 编程序 用选择法对10个数按从小到大的顺序排列.
苌伊尿毒: int arr[10]; void sort() { for(int i=0;i&lt;10;i++) { for(int j=i;j++;j&lt;10) { if(arr[j]&lt;arr[i]) { int tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; } } } } void main() { int i; for( i=0;i&lt;10;i++) scanf("%d", arr[i]); int j; for(j=0;j&lt;10;j++)printf("%d ", arr[j]) sort(); for(int i=0;i...

正定县19617598547: C语言编程求1到10共10个数中取出3个不同的数,共有几种组合方式 -
苌伊尿毒: #include<stdio.h>double Factorial(int n){double sum=1;while(n>0){sum=sum*n;--n;} return sum; }int main(){int m=10;int n=3;double num=0;num=(Factorial(m))/(Factorial(n)*(Factorial((m-n))));printf("%0.0f",num); }

正定县19617598547: C语言用数组,输入十个数,选择法按从小到大排列 -
苌伊尿毒: 1,.将第二个for语句中的for(j=0;j<=i;j++) 改为for(j=0;j<10;j++) 2.将for(i=0;i<9;i++)改为for(i=0;i<j;i++) 就可以了. (同为海淀区学生,加油)

正定县19617598547: C语言,用选择法对数组中10个整数按由小到大排序?求解释!!! -
苌伊尿毒: 首先以array[0]作为参照,从左到右扫描,找到最小的数据与array[0]位置交换. 接下来以array[1]作为参照,重复上述过程. ... k=i定位参照 k=j找到剩下数组中最小值

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网