C语言:计算整数的最大公约数(函数)

C语言:计算整数的最大公约数(函数),第1张

已通过测试,望采纳

#include <stdioh>

void input(int b[],int n);

int f(int a[],int n);

main()

{ int a[20],n,d;

scanf("%d",&n);

input(a,n);

d=f(a,n);

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

}

int f(int a[],int n) / 计算n个整数的最大公约数的函数/

{ int t;

int i,flag=1;

for(t=a[0];;t--)

{ flag=1;

for(i=0;i<n&&flag==1;i++)

{ if(a[i]%t==0)

flag=1;

else

{ flag=0;

break;

}

}

if(flag==1)

goto m;

}

m:

return t;

}

void input(int b[],int n) / 输入n个元素到一维数组/

{ int i;

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

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

}

C语言中求绝对值的函数有两个:abs()和fabs()。

1、abs()  是用来求整型表达式的绝对值,比如:abs(x)  就是求整型变量x的绝对值。

2、fabs()  是用来求浮点型表达式的绝对值,比如:abs(x)  就是求浮点型变量(float型或double型)x的绝对值。

根据你的数据是int,long,还是double型,要用不同的函数

#include <mathh>

iy   =   abs(   ix   );  //int型

ly   =   labs(   lx   );  //long型

dy   =   fabs(   dx   );  //double型

扩展资料:

C语言其他常用函数:

1、atof:将str指向的字符串转换为一个double型的值,返回双精度计算结果。

2、atoi:将str指向的字符串转换为一个int型的值,返回转换结果。

3、exit:中止程序运行。将status的值返回调用的过程。

4、labs:计算long型整数num的绝对值,返回计算结果。

5、random:产生0到num之间的随机数,返回一个随机(整)数。

函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。

您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。

函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。

C 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。

函数还有很多叫法,比如方法、子例程或程序,等等。

定义函数

C 语言中的函数定义的一般形式如下:

return_type function_name( parameter list )

{

body of the function

}

-C语言函数

思路:除二取余数,当除数为0时停止,反序输出数组的值(即余数)

void

convert(int

m)

{

int

a[16]={0},j=0;

for

(int

i=0;i<16;i++)

{

if

(m!=0)

{

j++;

a[i]=m%2;

m=m/2;

}

else

break;

}

for

(int

k=15;k>=0;k--)

{

cout<

评论

0

0

加载更多

#include<stdioh>

long f(long int x)

{

int a[100];

int i;

for(i=1;;i++)

{

a[i]=x%10;

x=x/10;

if(x==0)break;

}

return (i);

}

void main()

{

long x;

int m;

printf("输入一个任意位数的整数:");

scanf("%ld",&x);//这里改了

m = f(x);

printf("%ld的位数为%ld!",x,m);//这里也改了

}

其实您应该自己思考思考解决下呀。下面代码仅供参考:

#include<stdioh>

int main()

{

char c1,c2='$'; // c1用来读取输入,c2做个中间变量

while((c1=getchar())!='\n') // 读取一个输入的数字到c1到回车结束

{

if(c2 != '$') printf("%c ", c2); // 第一次先不输出,使用c1赋值c2后再输出,加空格

c2 = c1; // 赋值

}

printf("%c", c2); // 输出回车前的那个数字,加空格

return 0;

}

注意,上述代码没有坚持输入合法性,比如输入12bf12这样的,如果需要,自己加一下判断吧。

#include <stdioh>

int sum(int str[10])

{

int i,sum=0;

for(i=0;i<10;i++) sum+=str[i];

return sum;

}

double avg(int sum)

{return(sum/100);}

void main()

{

int i,j,str[10];

double k;

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

scanf("%d",&str[i]);

j=sum(str);k=avg(j);

printf("和:%d\n平均值:%f",j,k);

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12155472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存