已通过测试,望采纳
#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);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)