C语言函数作业

发布 2022-06-29 02:02:28 阅读 1711

函数:1、以下程序例示了函数参数之间的单向传递,请观察程序的执行结果。

try(int x ,int y,int z)

printf("(2)x=%d y=%d z=%d",x,y,z);

z=x+y;

x=x*x;

y=y*y;

printf("(3)x=%d y=%d z=%d",x,y,z);

main()

int x=2,y=3,z=0;

printf("(1)x=%d y=%d z=%d",x,y,z);

try(x,y,z);

printf("(4)x=%d y=%d z=%d",x,y,z);

2、以下程序企图通过调用swap函数交换主函数中变量x和y中的数据,请观察程序的输出结果。

twr(int a,int b)

int t;

printf("(2)a=%d,b=%d",a,b);

t=a;a=b;b=t;

printf("(3)a=%d,b=%d",a,b);

main()

int a,b;

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

printf("(1)a=%d,b=%d",a,b);

ter(a,b);

printf("(4)a=%d,b=%d",a,b);

3、编写函数isprime(int a),用来判断自变量a是否为素数,若是素数函数返回1,否则返回0。

isprime(int a)

int i;

for(i=2;i if(a%i==0)

return 0;

return 1;

main()

int a;

scanf("%d",&a);

if(isprinme(a)) printf("yes");

else printf("no");

4、编写函数验证偶数为两个素数之和,并输出这两个素数。

isprime(int a)

int i;

for(i=2;i if(a%i==0)

return 0;

return 1;

void even(int x)

int i;

for(i=2;i<=x/2;i++)

if(isprime(i))

if(isprime(x-i))

printf("%d=%d+%d",x,i,x-i);

main()

int x;

scanf("%d",&x);

if(x%2==0) even(x);

else printf("no");

4、编写函数统计输入字符个数。

#include ""

int fun()

char ch;

int x=0;

while((ch=getchar())eof)

x++;return x;

main()

int n=0;

n=fun();

printf("%d",n);

5、编写函数myupper(ch),把ch中的小写字母转换成大写字母作为函数值返回,其它字符不变,用@结束输入。

#include ""

#include ""

myupper(char ch)

if(islower(ch)) ch=ch-32;

else return ch;

main()

char ch;

clrscr();

while((ch=getchar

6、编写函数用以求表达式x2-5x+4,x作为参数传递给函数。

#include ""

#include ""

double fun(double x)

return x*x-5*x+4;

main()

double x,y;

scanf("%lf",&x);

y=fun(x);

printf("%lf",y);

7、编写函数1-1/2+1/3-1/4+1/5···1/n。

double fun(int x)

int i,n=1;

double s=0;

for(i=1;i<=x;i++)

return s;

main()

double s;

int n;

scanf("%d",&n);

s=fun(n);

printf("%lf",s);

8、编写函数返回pi的值满足精度。

pi/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)··最后一项的值要小于输入精度。

double pi(double eps)

int i=1;

double p=0,t=1;

while(t>=eps)

return p*2;

main()

double p,eps;

clrscr();

scanf("%lf",&eps);

p=pi(eps);

printf("%lf",p);

9、编写函数,判断字符串是否是回文。若是回文函数返回值为1,否则返回值为0.回文是顺读和倒读都一样的字符串。如:abcba

fun(char *s)

int i,k;

k=strlen(s);

for(i=0,j=k-1;i if(s[i]!=s[j])

return 0;

return 1;

main()

10、编写函数,删除字符串中指定位置上的字符。删除成功,函数返回被删字符,否则返回空值。

fun(char *a,int n)

int i,k,j;

k=strlen(a);

for(i=0;a[i];i++)

if(i==n)

return 0;

main()

递归:1、求n!

double fun(int n)

if(n==1) return 1;

else return n*fun(n-1);

main()

int n;

double s;

scanf("%d",&n);

s=fun(n);

printf("%lf",s);}

2、用递归算法根据以下求平方根的迭代公式,求某数a的平方根。

x1=1/2(x0+1/x0)

double mysqrt(double a,double x0)

double x1;

x1=(x0+a/x0)/2.0;

if(fabs(x1-x0)>0.00001) 要求的精度。

return mysqrt(a,x1);

else return x1;

main()

double a;

scanf("%lf",&a);

printf("the sqrt of %f=%f",a,mysqrt(a,1.0));

3、请写递归函数,把输入的一个整数转换成二进制数输出。

fun(int x)

if(x/2==0) return 1;

elseprintf("%d",fun(x/2));

return x%2;

main()

int x;

scanf("%d",&x);

printf("%d",fun(x));

1. 编写下列数学表达式的函数fun(x),并利用main()实现输入输出。

#include <>

#include <>

double fun(double x)

if(x<2) return 3.0;

if(x==2) return sin(x)+2*x;

if(x>2) return pow(x,4)/(log(fabs(x+1))+3.0);

void main()

double x,f;

clrscr();

scanf("%lf",&x);

printf("%lf", fun(x));

3. 编写下列数学表达式的函数p(x,n),并利用main()实现输入输出。

#include <>

#include <>

double p(int n,int x)

if(n==0) return 1;

else if(n==1) return x;

else return (2*n-1)*x-p(n-1,x)-(n-1)*p(n-2,x)/n;

void main()

int x;int n;

clrscr();

scanf("%d%d",&n,&x);

printf("%lf", p(n,x));

2. 输入一字符串长度为n的字符数组,在不另定义辅助数组的情况下,实现将该字符串的内容循环左移m个字符(例如:输入的字符串为:

char str=abcdefghij”,m=3,左移后的结果是:“defghijabc”。)

方法一:main()

char str[100], t;

int i, j, n, m;

gets(str);

scanf("%d", m);

n=strlen(str);

for (i=0; i

C语言函数作业

include include definen5 inthcf intu,int v intdaffodilnumber int m intisprimenumber inti voidleapyear int year voidyanghui intdatasorting intstr 10 vo...

c语言函数作业

西安邮电大学。计算机学院。课内实验报告。实验名称函数。专业名称通信工程。班级通工 1302 学生姓名刘攀岩。学号 8位 03131035 指导教师梁琛。实验日期 2014年5月29日。一 实验目的及实验环境。学习c语言中函数章节,在vc 6.0环境下编程。二 实验内容及实验结果。1.编写一函数,求1...

C语言printf函数详解

0n n 1,2,3.宽度至少为n位,不够左边以0填充 格式列表中,下一个参数还是width prec 用于控制小数点后面的位数。无按缺省精度显示 0 当type d,i,o,u,x时,没有影响 当type e,e,f时,不显示小数点。n n 1,2,3.当type e,e,f时,表示的最大小数位数...