1. 首页 > 科技

为什么会输出错误,关于用c语言自定义函数cal(x,n)计算x^n/n!的结果?

为什么会输出错误,关于用c语言自定义函数cal(x,n)计算x^n/n!的结果?

c语言问题 为什么输出错误

排序内层循环数组越界,2维数组用错。

粗糙改了一下,如果数据格式符合应该没问题:

#include<stdio.h>

#include<string.h>

int main()

{

    char f(int a[5],char b[5][20]);

    int a[5],i,k;

    char b[5][20];

    printf("请输入五组:  员工号+员工姓名\n");

    for(i=0;i<5;i++)

        scanf("%d %s",&a[i],b[i]);

    f(a,b);

    scanf("%d",&k);

    for(i=0;i<5;i++){ 

        if (a[i]==k){

            printf("%s\n",b[i]);

        }

    }

    return 0;

}

char f(int a[5],char b[5][20])

{

    int i,t,j;

    char *p,s[20];

    for(j=0;j<5;j++)

        for(i=0;i<5-j-1;i++)

            if(a[i]>a[i+1])

            {

                t=a[i];

                a[i]=a[i+1];

                a[i+1]=t;

                strcpy(s,b[i]);

                strcpy(b[i],b[i+1]);

                strcpy(b[i+1],s);

            }

    printf("排序后\n");

    for(i=0;i<5;i++)

        printf("%d %s\n",a[i],b[i]);

}

C语言编写程序输出x的n次方结果,x和n从键盘输入

//文件1 pow.c

#include"linkin.h"

float mypow(float x, int n)

{

    float result = 1;

    for(int i = 0;i < n; i++)

        result *= x;

    return result;

}

//文件2 print.c

#include<stdio.h>

#include"linkin.h"

void print(float c){printf("%f",c);}

//文件3 insert.c

#include<stdio.h>

#include"linkin.h"

float insert(void)

{

    float x;

    scanf("%f",&x);

    return x;

}

int insert(void)

{

    int x;

    scanf("%d",&x);

    return x;

}

//文件4 linkin.h

float mypow(float x, int n);

void print(float c);

float insert(void);

int insert(void);

//文件5 main.c

include"linkin.h"

int main()

{

    float x;

    int n;

    x = insert();

    n = insert();

    print(mypow(x,n));

    return 0;

}

为什么我用C语言编写的乘法运算程序结果输出错误

INT型的值范围为-32768-32767

你这个结果是54243,溢出了,当然显示不正常,/U为长整形,可以正常显示

C语言pow函数的输出结果不正确

double r,n,p;// 定义为 int n 对应下面%d

scanf("%f%d", &r,&n);//double 型 格式输入 %lf

r=r+1;

p=pow(r,n);

printf("%f\n", p);//改为%lf

这里你 用float型 输入输出double型数据 会造成数据缺失