重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言自定义函数程序设计 c语言中的自定义函数

C语言,编写自定义函数。急急急!!!谢谢

有疑问问#include #include #include double EPS=10E-6; double sum(double a,double b) { return a+b; } double sub(double a,double b) { return a-b; } double mul(double a,double b) { return a*b; } double divv(double a,double b) { return a/b; } int rem(int a , int b) { return a%b; } int addnumber(int c,int d) { int sum=0; for(int i=c;i=d;i++) { sum+=i; } return sum; } int factor(int n) { int f=1; for(int i=1;i=n;i++) { f*=i; } return f; } void displaymenu() { printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \n"); printf("*############高级计算器############* \n"); printf("************************************ \n"); printf("* ①加法运算 * \n"); printf("* ②减法运算 * \n"); printf("* ③乘法运算 * \n"); printf("* ④除法运算 * \n"); printf("* ⑤取余运算 * \n"); printf("* ⑥累加运算 * \n"); printf("* ⑦阶乘运算 * \n"); printf("* ⊙结束运算 * \n"); printf("************************************ \n"); printf("************************************ \n"); } void main() { int c,d; /*用于做四则运算的两个数值的说明*/ double a,b; /*用来做累加函数的两个参数值的说明*/ int intresult; double result; /*用于保存表单运算中函数的返回值*/ int choice; displaymenu();/*保存用户选择项目菜单项*/ while(1) { printf("请选择你所进行运算项目的符号:"); scanf("%d",choice); switch(choice) { case 1: /*加法计算*/ printf("请输入两个数字:"); scanf("%lf%lf",a,b); result=sum(a,b); printf("%lf+%lf的计算结果是:%lf\n",a,b,result); break; case 2: /*减法计算*/ printf("请输入两个数字:"); scanf("%lf%lf",a,b); result=sub(a,b); printf("%lf-%lf的计算结果是:%lf\n",a,b,result); break; case 3: /*乘法计算*/ printf("请输入两个数字:"); scanf("%lf%lf",a,b); result=mul(a,b); printf("%lf*%lf的计算结果是:%lf\n",a,b,result); break; case 4: /*除法计算*/ { scanf("%lf%lf",a,b); if(b-0.0EPS) printf("数字错误\n"); else { printf("请输入两个数字:"); result=divv(a,b); printf("%lf/%lf的计算结果是:%lf\n",a,b,result); } break; } case 5: /*取余计算*/ printf("请输入两个数字:"); scanf("%d%d",c,d); result=rem(c,d); printf("%d % %d的计算结果是:%d\n",c,d,result); break; case 6: /*累加计算*/ printf("请输入两个整数"); scanf("%d%d",c,d); intresult=addnumber(c,d); printf("%d-%d的累加计算结果是:%d\n",c,d,intresult); break; case 7: //阶乘计算 { printf("请输入一个大于0小于10的整数字"); scanf("%d",c); if(c10) { printf("请输入一个大于0小于10的整数字,数据错误。\n"); break; } intresult=factor(c); printf("%d的阶乘计算结果是:%d\n",c,intresult); break; } case 0: printf("谢谢使用。欢迎下次再用。\n"); return ; default: printf("选择错误,程序结束\n"); break; } } }

创新互联建站专注于西湖企业网站建设,响应式网站,商城网站开发。西湖网站建设公司,为西湖等地区提供建站服务。全流程按需定制设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

用c语言编写一个自定义的函数时的基本步骤

1 根据功能,想一个函数名,并设计好返回值类型以及参数列表。参数列表包括参数个数,每个参数类型,以及该参数的作用。

2 根据函数要实现的功能,实现函数的主体代码。

3 按照你设计的想法,传入不同参数类型,验证函数功能并调试。

c语言程序设计题:请用自定义函数的形式编程实现,求s=m!+n!+k! m n k从键盘输入(值均小于7)

代码:

#include stdio.h

请用自定义函数的形式编程实现

求 s = m! + n! + k!,m、n、k 从键盘输入(值均小 于 7)。

int fun(int m);

int main()

{

int m,n,k;

int s;

printf("请输入三个小于7的数:");

scanf("%d %d %d",m,n,k);

s=fun(m)+fun(n)+fun(k);

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

return 0;

}

int fun(int m)

{

int i;

int x=1;

for(i=1;i=m;i++)

{

x=x*i;     

}

return x;

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--gt;m域宽,打印出来以后,在控制台上,显示m位;

如果我们要打印的数的位数如果超过我们设定m则原样输出;

如果我们要打印的数的位数如果小于我们设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

c语言,自定义函数

cheng()函数中,n赋值1之后再也没有改变过,所以x=x*n,不管乘几次,结果还是x。

暂没发现其他错误。

用C语言编写自定义函数:

(1)素数判断函数:是返回1,否则返回0

int prime(int n){

int i;

if(n2  !(n1) || n2)

return 0;

for(i=3;i*i=n;i+=2)

if(!(n%i))

return 0;

return 1;

}

(2)编写排序函数(冒泡排序、选择排序)

void bubbling(int *p,int n){//冒泡

int i,j,k;

for(i=0;in;i++)

for(j=1;jn;j++)

if(p[j]p[j-1])

k=p[j],p[j]=p[j-1],p[j-1]=k;

}

void select(int *p,int n){//选择

int i,j,k;

for(n--,i=0;in;i++){

for(k=i,j=k+1;j=n;j++)

if(p[k]p[j])

k=j;

if(k-i)

j=p[k],p[k]=p[i],p[i]=j;

}

}

(3)查找函数,找到返回下标,否则返回-1

int find(int *p,int n,int x){//顺序

int i;

for(i=0;in;i++)

if(p[i]==x)

return i;

return -1;

}

int fihalf(int *p,int n,int x){//折半,升序为例

int l,r,m;

l=0,r=n-1;

while(m=(l+r)1,lr  p[m]-x)

p[m]x ? l=m+1 : r=m-1;

return p[m]==x ? m : -1;

}

(4)插入函数,升序为例


网站名称:c语言自定义函数程序设计 c语言中的自定义函数
标题网址:http://cqcxhl.com/article/docsgsg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP