c语言作业函数答案,C语言函数复习题答案

C语言函数复习题答案

1、/*编写程序,求AB(A的B次幂)。要求:实现求AB的功能用函数实现,在主函数中实现数据A、B的输入和结果的输出。其中B为正整数,A为任意实数。*/

#include "stdio.h"

void main ()

{ long cm(int x,int y);

int A;int B;int i=1;long s=1;

printf("分别输入底数和幂数:");

scanf("%d %d",&A,&B);

if(i<=B)

s=cm(A,B);

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

}

long cm(int x,int y)

{ long s=1;

int i;

for (i=1;i<=y;i++) s=s*x;

return s;

}

4、/*编写函数,实现将两个字符串连接(不使用库函数strcat) */

#include "stdio.h"

#include "stdio.h"

void main()

{char a[20],b[20];

void cat(char a[],char b[]);

gets(a);gets(b);

cat (a,b);

puts (a);

}

void cat(char a[],char b[])

{int aa,bb,i,j;

aa=strlen(a),bb=strlen(b);

for (i=aa,j=0;j

a[i]=b[j];

a[i]='\0';

}

6、/*编写一个函数,将三个数按由小到大的顺序排列并输出。在main函数中输入三个数,调用该函数完成这三个数的排序。*/

#include

void main()

{int a, b, c;

void paixu(int a,int b,int c);

printf("输入三个数:");

scanf("%d%d%d",&a,&b,&c);

paixu(a,b,c);

}

void paixu(int a,int b,int c)

{int flag;

if(a>b)

{ flag=a;

a=b;

b=flag;

}

if(a>c)

{ flag=a;

a=c;

c=flag;

}

if(b>c)

{ flag=b;

b=c;

c=flag;

}

printf("%d,%d,%d",a,b,c);

}

7、/*编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中输入一个整数,调用该函数,

判断该数是不是素数,若是则输出“yes”,否则输出“no” */

#include "stdio.h"

main()

{int sushu(int a);

int a;

printf("输入一个整数:");

scanf("%d",&a);

if(sushu(a)) printf("是素数");

else printf("不是素数");

}

int sushu(int a)

{ int i;int j=1;

for(i=2;i<=a-1;i++)

if(a%i==0) j=0;

return j;

}

8、/*写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,

如:1634=14+64+34+44)。在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则

输出“yes”,否则输出“no”。*/

#include

main()

{void rose(int n);

int i;

scanf("%d",&i);

for(i=1000;i<=9999;i++)

if(rose(i)) printf("yes");

else printf("no");

}

void rose(int n)

{int g,s,b,q;

g=n%10;

s=n/10%10;

b=n/100%10;

q=n/1000;

if(g*g*g*g+s*s*s*s+b*b*b*b+q*q*q*q==n)

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

}

9、/*编写一个函数,函数的功能是求出所有在正整数M和N之间能被5整除、但不能被3整除的数并输出,其中M<N。

在主函数中调用该函数求出100至200之间,能被5整除、但不能被3整除的数。*/

#include

v

oid main()

{int xyz(int i);

int i;

for (i=100;i<=200;i++)

if(xyz(i))

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

}

int xyz(int i)

{int j=0;

if(i%

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值