精华内容
下载资源
问答
  • #include using namespace std; void inputa (int *array) { int i; for(i = 0; i ; i++) { cin>>*(array+i); } } void counta(int *array, int target_number) { int i, n ... } cout数组中"<>x; counta(array, x); }
    #include <iostream.h>
    using namespace std;
    void inputa (int *array)
    {
             int i;
             for(i = 0; i < 20; i++)
             {
                       cin>>*(array+i);
             }
    }
    void counta(int *array, int target_number)
    {
             int i, n = 0;
             for(i = 0; i < 20; i++)
             {
                       if(*(array+i) == target_number)
                                n++;
             }
             cout<<"数组中"<<target_number<<"的个数为"<<n<<endl;
    }
    int main()
    {
             int array[20], x;
             cout<<"请输入数组"<<endl;
             inputa(array);
             cout<<"请输入要数的数"<<endl;
             cin>>x;
             counta(array, x);
    }

     

    展开全文
  • 已结贴√问题点数:20回复次数:46 一维数组的赋值函数调用#include#define N 30//人数int ReadScore(int score[],long num[],int n);//输入数void StudScore(int score[],char Grade[],int n);//学生成绩及等级void...

    已结贴√

    问题点数:20 回复次数:46

    ca56232b3bbedf9a539d07f37fffb99a.gif

    3144d8b7615c79d9f638db40d5689d26.gif

    a218af6549b45ee526caf607ebff1358.gif

    0f8df0e29816ae721419de940fb833d1.gif

    一维数组的赋值函数调用

    #include

    #define N 30   //人数

    int ReadScore(int score[],long num[],int n);     //输入数

    void StudScore(int score[],char Grade[],int n);  //学生成绩及等级

    void AverforCourse(int score[],int sum[],float aver[],int n);   //课程总分及平均成绩

    void Print(int score[],long num[],char Grade[],int sum[],float aver[],int n);    //按学号输出成绩及等级

    int BinSearch(int score[],long num[],long x,int n);   //查找序号分数

    void SortScore(int score[],long num[],int n);      //按成绩减小排序

    void SortNum(int score[],long num[],int n);    //按学号增大排序

    void PrintScore(int score[],long num[],int n);      //输出按成绩排序的数组

    int main()

    {

    int score[N],sum[N],n,i;

    char Grade[5],op,oq;

    long num[N],x;

    float aver[N];

    printf("Input the total number of the students(n<=30):");

    scanf("%d",&n);

    ReadScore(score,num,n);    //输入数

    AverforCourse(score,sum,aver,n);       //计算课程总分及平均成绩

    for(i = 1;;i++)

    {

    printf("选择用序号增大的形式还是用成绩减小的形式输出成绩(N or S):");

    scanf(" %c",&oq);

    if(oq != 'S')

    {

    SortNum(score,num,n);    //按学号大小排序

    Print(score,num,Grade,sum,aver,n);       //按学号输出成绩等级

    }

    printf("是否还要按照成绩减小的形式输出(Y or N)?\n");

    scanf(" %c",&oq);

    if(oq != 'N')

    {

    SortScore(score,num,n);    //按成绩大小排序

    PrintScore(score,num,n);    //按成绩输出成绩等级

    break;

    }

    else break;

    }

    for(i = 1;;i++)

    {

    printf("Do you want to search for someone?(Anykey or N)");

    scanf(" %c",&op);

    if(op != 'N')

    BinSearch(score,num,x,n);

    else break;

    }

    }

    int ReadScore(int score[],long num[],int n)     //输入数

    {

    int i,j;

    printf("Input student's ID and scores:\n");

    for(i = 0;i

    {

    scanf("%ld%d",&num[i],&score[i]);

    }

    }

    void AverforCourse(int score[],int sum[],float aver[],int n)   //计算学科总分和平均分

    {

    int i,p;

    p = 0;

    for(i = 0;i

    {

    p = p+score[i];

    }

    sum[i] = p;

    aver[i] = (float)sum[i]/n;

    }

    void Print(int score[],long num[],char Grade[],int sum[],float aver[],int n)   //按学号排序

    {

    int i,a = 0,b = 0,c  =0,d = 0,e = 0;

    printf("Sort in numbers:\n");

    printf("Student's ID\t   Scores\tGrade\n");

    for(i = 0;i

    {

    if(score[i]>=90&&score[i]<=100) Grade[i] = 'A',a++;

    if(score[i]>=80&&score[i]<=89) Grade[i] = 'B',b++;

    if(score[i]>=70&&score[i]<=79) Grade[i] = 'C',c++;

    if(score[i]>=60&&score[i]<=69) Grade[i] = 'D',d++;

    if(score[i]>=0&&score[i]<=59) Grade[i] = 'E',e++;

    printf("%12ld\t%8d\t %c\n",num[i],score[i],Grade[i]);

    }

    printf("SumofCourse\t%4d\t",sum[i]);

    printf("\nAverofcourse\t%4.1f\t",aver[n]);

    printf("\nThe number of A:%d,The percent of A:%3.2f%%",a,(float)a/n*100);

    printf("\nThe number of B:%d,The percent of B:%3.2f%%",b,(float)b/n*100);

    printf("\nThe number of C:%d,The percent of C:%3.2f%%",c,(float)c/n*100);

    printf("\nThe number of D:%d,The percent of D:%3.2f%%",d,(float)d/n*100);

    printf("\nThe number of E:%d,The percent of E:%3.2f%%",e,(float)e/n*100);

    printf("\n");

    }

    int BinSearch(int score[],long num[],long x,int n)            //查找函数

    {

    int i,p,k = 1;

    char op;

    printf("Student's number:");

    scanf("%ld",&x);

    for(i = 0;i

    {

    if(x == num[i])

    {

    printf("%d\t",score[i]);

    p = score[i];

    }

    }

    for(i = 0;i

    {

    if(score[i]>p)

    k++;

    }

    printf("名次是:%d\n",k);

    }

    void SortNum(int score[],long num[],int n)    //按学号大小排序

    {

    int i,j,k,temp2;

    long temp1;

    for(i = 0;i

    {

    k = i;

    for(j = i+1;j

    {

    if(num[j]

    {

    k = j;

    }

    }

    if(k!=i)

    {

    temp1 = num[k];num[k] = num[i];num[i] = temp1;

    temp2 = score[k];score[k] = score[i];score[i] = temp2;

    }

    }

    }

    void SortScore(int score[],long num[],int n)    //按成绩大小排序

    {

    int i,j,k,temp1;

    long temp2;

    for(i = 0;i

    {

    k = i;

    for(j = i+1;j

    {

    if(score[j]>score[k])

    {

    k = j;

    }

    }

    if(k!=i)

    {

    temp1 = score[k];score[k] = score[i];score[i] = temp1;

    temp2 = num[k];num[k] = num[i];num[i] = temp2;

    }

    }

    }

    void PrintScore(int score[],long num[],int n)      //按成绩排序

    {

    int i;

    printf("Student's Scores\tID\tGrade\n");

    for(i = 0;i

    {

    printf("%12ld\t%12d\n",score[i],num[i]);

    }

    }

    这个问题就是..会输出好多0,最后程序崩溃.....

    求解答..有点长请各位大神理解.....

    搜索更多相关主题的帖子:

    include 课程

    展开全文
  • void fun(int a[],int n,int *min,int *max) { int i; *max=a[0]; *min=a[0]; for(i=0;i<n;i++) { if(a[i]<*max) *max=a[i]; if(a[i]>*min) *min=a[i]; } } int main() { int aa[M],i,max,min,*p1=&max...

    #include<stdio.h>
    #define M 5
    void fun(int a[],int n,int *min,int *max)
    {
    int i;
    *max=a[0];
    *min=a[0];
    for(i=0;i<n;i++)
    {
    if(a[i]<*max)
    *max=a[i];
    if(a[i]>*min)
    *min=a[i];
    }
    }
    int main()
    {
    int aa[M],i,max,min,*p1=&max,*p2=&min;
    printf(“Input\n”);
    for(i=0;i<M;i++)
    scanf("%d",aa+i);
    fun(aa,M,p1,p2);
    printf(“max=%d,min=%d\n”,max,min);
    return 0;
    }

    展开全文
  • C语言函数指针

    2021-05-21 04:40:01
    2.函数指针的使用我们定义了一个函数指针,但如何来使用它呢?先看如下例:#include #include char * fun(char * p1, char * p2){int i = 0;i = strcmp( p1, p2 );if (0 == i){return p1 ;}else{return p2 ;}...

    1. 函数指针的定义

    顾名思义,函数指针就是函数的指针。它是一个指针,指向一个函数。

    2.函数指针的使用

    我们定义了一个函数指针,但如何来使用它呢?先看如下例:

    #include

    #include

    char * fun(char * p1, char * p2)

    {

    int i = 0;

    i = strcmp( p1, p2 );

    if (0 == i)

    {

    return p1 ;

    }

    else

    {

    return p2 ;

    }

    }

    int main()

    {

    char * (*pf)(char * p1, char * p2);

    pf = &fun;

    (*pf) ( "aa", "bb" );

    return 0;

    }

    3.函数指针数组

    现在我们清楚表达式 “char * (*pf)( char * p) ”定义的是一个函数指针pf 。既然pf

    是个指针,那就可以储存在个数组。把上式修改下:

    char * (*pf[3])(char * p);

    这是定义一个函数指针数组。它是一个数组,数组名为pf ,数组内存储了3 个

    指向函数的

    指针。这些指针指向些返回值类型为指向字符的指针、参数为亿个指向字符

    的指针的函数

    数。这念起来似乎有点拗口。不过不要紧,关键是你明这是一个指针数组,

    是数组。

    函数指针数组怎么使用呢?也给出一个非常简单的例字,只要真正掌握了

    使用方法,

    再复杂的问题都可以应对。如下:

    #include

    #include

    char * fun1(char * p)

    {

    printf( "%s\n", p);

    return p;

    }

    char * fun2(char * p)

    {

    printf( "%s\n", p);

    return p;

    }

    char * fun3(char * p)

    {

    printf( "%s\n", p);

    return p;

    }

    int main()

    {

    char * (*pf[3])(char * p);

    pf[0] = fun1; // 可以直接赋值函数名

    pf[1] = &fun2; // 可以给函数名加上取地址符

    pf[2] = &fun3;

    pf[0]( "fun1");

    pf[0]( "fun2");

    pf[0]( "fun3");

    return 0;

    }

    4.函数指针的数组的应用(简单计算器的实现):

    #include

    int add(int a, int b)

    {

    return a + b;

    }

    int sub(int a, int b)

    {

    return a - b;

    }

    int mul(int a, int b)

    {

    return a*b;

    }

    int div(int a, int b)

    {

    return a / b;

    }

    int main()

    {

    int x, y;

    int input = 1;

    int ret = 0;

    while (input)

    {

    printf( "*************************\n" );

    printf( "  1:add           2:sub  \n" );

    printf( "  3:mul           4:div  \n" );

    printf( "*************************\n" );

    printf( "请选择:" );

    scanf( "%d", &input);

    switch (input)

    {

    case 1:

    printf( "输入操作数:" );

    scanf( "%d %d", &x, &y);

    ret = add(x, y);

    break;

    case 2:

    printf( "输入操作数:" );

    scanf( "%d %d", &x, &y);

    ret = sub(x, y);

    break;

    case 3:

    printf( "输入操作数:" );

    scanf( "%d %d", &x, &y);

    ret = mul(x, y);

    break;

    case 4:

    printf( "输入操作数:" );

    scanf( "%d %d", &x, &y);

    ret = div(x, y);

    break;

    default:

    printf( "选择错误\n" );

    break;

    }

    printf( "ret = %d\n", ret);

    }

    return 0;

    }

    使用函数指针数组的实现:

    #include

    int add(int a, int b)

    {

    return a + b;

    }

    int sub(int a, int b)

    {

    return a - b;

    }

    int mul(int a, int b)

    {

    return a*b;

    }

    int div(int a, int b)

    {

    return a / b;

    }

    int main()

    {

    int x, y;

    int input = 1;

    int ret = 0;

    int(*p[5])(int x, int y) = { 0, add, sub, mul, div }; //转移表

    while (input)

    {

    printf( "*************************\n" );

    printf( "  1:add           2:sub  \n" );

    printf( "  3:mul           4:div  \n" );

    printf( "*************************\n" );

    printf( "请选择:" );

    scanf( "%d", &input);

    if ((input < 4 && input > 1))

    {

    printf( "输操作数:" );

    scanf( "%d %d", &x, &y);

    ret = (*p[input])(x, y);

    }

    else

    printf( "输入有误\n" );

    printf( "ret = %d\n", ret);

    }

    return 0;

    }

    展开全文
  • 函数fact(n),要求fact函数分别用递归和非递归两种方法实现具体信息答:int fac(int n) //非递归{int f=1; for(;n;)f*=n--; return f;}int fac1(int n) //递归{if(n==0)return 1; return n*fac1(n-1);}答:递规 ...
  • 满意答案singoboss2013.06.16采纳率:57%等级:11已帮助:3587人先输入,然后逆序存放,再输出、#include"stdio.h"#define N 10void input(int b[],int length);void Flag(int a[],int length);void main(){int a[N]...
  • C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,y值并屏幕上输出。 有分段函数如下,编程实现输入整www.zhiqu.org 时间: 2020-11-22#include int main(){ int x; double y; scanf("%d",&x)...
  • 数组函数调用

    千次阅读 2018-07-24 23:16:50
    函数调用: 题目:通过编程实现,统计1~n有多少9 (n通过参数传入) #include&lt;stdio.h&gt; void fun(int n);// main函数一般置于调用函数下方; int main() { int n; printf("Please ...
  • 函数,正整数n从右边开始数的第k数字,并在main函数中输入数值测试这函数。 输入样例:1234 3 输出样例:2 若给的数字k超过该整数的位数,应给出提示信息 思路分析: 个函数fun,用于输入数字n和...
  • // 定义函数Maxvoid main() //无返回值主函数{int x, y, z; //定义整型变量x,y,zprintf("Please input two integers : "); //让用户输入整数,务必要用英文输入法输入“,”scanf("%d,%d",&x, &y); //...
  • 我们先看一例子 1、源程序 #include"stdio.h" //这里用define定义M为100 inta[M][M]={0}; voidfun(inta[M][M],intm) { intj,k; for(j=0;j<m;j++) for(k=0;k<m;k++) a[j][k]=(k+1)*(j+1); } intmain() { i...
  • 如何在函数中将2数组声明为参数MATLAB?(How can I declare 2-dimentional array as parameter in function In MATLAB?)我有一个函数,它获取矩阵并对其进行一些操作。 但我不知道如何声明函数的参数。 这是我...
  • 定义一个函数int fun(int n),用来计算整数的阶乘,主函数中输入变量x,调用fun(x)输出x及以下的阶乘值。 输入输出示例 输入:5 输出: 1!=1 2!=2 3!=6 4!=24 5!=120 代码: /*阶乘问题。 输入正整数n,...
  • 首先,我们先要明确一点,函数指针是一指针,只不过这指针指向的对象有些特殊,是一个函数。指针函数是一个函数,只不过函数的返回值是一指针。 一、指针函数,指针函数的一般定义格式是: 类型* 函数名...
  • ,要求阶乘计算调用fun函数实现数据输入及打印结果主函数实现。阶乘计算fun函数原型为: long fun(int m); 参数说明: 参 数: m是要进行阶乘计算的数; 返回值: 数m的阶乘 ****输入提示信息: “Input n:\n” ****...
  • 说明:指针可以不但可以指向一整形,浮点型,字符型,字符串型的变量,也可以指向相应的数组,而且还可以指向一个函数。一个函数在编译的时候会被分配给一入口地址。这个函数入口地址称为函数的指针。可以用一...
  • 例题:请补充fun函数,该函数的功能是:寻找两整数之间的所有素数(包括这两整数),把结果保存在数组a,函数返回素数的个数。 例如,输入3和18,则输出3 5 7 11 13 17。 请勿改动主函数main与其他函数的...
  • 很简单,直接用辗转复相除法判断这两...0: temp=b b=a%b a=temp return b def main(): a=15 b=10 if gcd(a,b)=1: ...3整数,判断是否能构成三角形可以根据数学公式进行判断。一、数学定理 要构成三角形,必须e799b...
  • 函数调用时的数据传递 3、函数调用的过程 4、函数的返回值 四、对被调用函数的声明和函数原型 五、函数的嵌套调用 六、函数的递归调用 七、数组作为函数参数 1、数组元素作为函数实参 2、一维数组名作...
  • 点击查看请使用函数的递归调用编写阶乘的函数,并计算1!+2!+3!+4!+5!具体信息答:include "stdio.h" int ... }/*递归阶乘*/ void main() { int i=1; for(i;i=5;i++) { fac(i);/*调用函数计算阶乘*/ sum+=...
  • 用c语言编写函数,圆的周长和面积,用函数.急求.#include#definePI3.1415926doublearea(doubler){...}iC语言程序 编写函数,圆面积的值,主函数输入半径,并主函数中调它.#includemain(){\x09floatS(floatr);\x09fl...
  • 点击查看用matlab语言编写程序:编写一计算阶乘的函数,再编写一脚本文件,通过键盘输入计算阶乘的n...实现代码如下: function ex4() x=input('请输入正整数n:') s=0; for n=1:x y=exfun(n); s=s+y; end s end ...
  • 函数实现#include double fun ( int n ){ double result = 1.0 ;if (n == 0)return 1.0 ;while( n >1 && n < 170 )result *= n--;return result ;}main ( ){ int n ;printf("I...
  • #include "stdio.h"int prime(int n){if(n>...}int main(){int o;for(o=1;o<=10;o++)printf("%d!=%d ",o,prime(o));}追问这是python语言的编写,希望能用def fact函数来编写ne本回答被网友采纳www.mh456...
  • 这次用调用函数的方法,连接两字符串 被调函数可以说明形参数组的大小,也可以不说明形参数组的大小 例如cat_str(char str1[],char str2[])也可以成cat_str(char str1[N],char str2[M]). 实际上指定形参数组...
  • 点击查看Matlab编写阶乘函数,并调用函数来生成一1!,......,10!的阶乘表具体信息答:Matlab 2015R 及以后版本,都自带阶乘函数,代码为: >> factorial(n) 其输出值为 n! . 若要生成阶乘表,则...
  • 函数指针1)函数指针的例题2. 指针函数3. 函数指针数组1)函数指针数组的用途4. 指向函数指针数组的指针5. 一些后话 1. 函数指针 函数指针就是指向函数的指针;本质上还是一指针 首先我们要知道函数的地址就是函数...
  • C程序设计(第四版) 谭浩强 习题7.4 个人设计习题 7.4 个函数,使给定的一3*3的维整形数组转置,即行列互换。代码块:#include <stdio.h>void transpo(int x[3][3]);main() { int a[3][3] = {34, 58, 67, ...
  • int main() { void inverse(char str[]); char str[100]; printf("input string:\n"); scanf("%s",str); inverse(str); printf("inverse string:%s\n",str); return 0; } void inverse(cha

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,345
精华内容 4,938
关键字:

写2个函数,在main函数中调用input函数实现数组数据的输入、fun函数实现求数组