#利用函数实现strlen。
(strlrn:求字符串的实际长度)
程序代码
3 #include<stdio.h>
4 int sjcd(char str[]);
5
6 int main()
7 {
8 char str1[30];
9 gets(str1);
10 sjcd(str1);
11 return 0;
12 }
13
14 int sjcd(char str[])
15 {
16 int i;
17 int n = 0;
18 for(i=0;str[i]!='\0';i++)
19 {
20 n++;
21 }
22 printf("%d\n",n);
23 }
运行结果:
ubuntu@ubuntu:函数$ ./a.out
asdqasd
7
# 利用函数实现strcpy
(strcpy:把源字符串中的内容拼接到目标字符串后面 )
程序代码
3 #include<stdio.h>
4 char cpy(char str3[],char str4[]);
5
6 int main()
7 {
8 char str1[30]={0};
9 char str2[20]={0};
10 scanf("%s",str1);
11 scanf("%s",str2);
12 cpy(str1,str2);
13 return 0;
14 }
15 char cpy(char str3[],char str4[])
16 {
17 int i = 0;
18 for(i=0;str4[i]!=0;i++)
19 {
20 str3[i]=str4[i];
21 }
22 printf("%s\n",str3);
23 }
运行结果
ubuntu@ubuntu:函数$ ./a.out
qqqqq
aaa
aaaqq
ubuntu@ubuntu:函数$ ./a.out
abcdefg
pppp
ppppefg
#利用函数实现减法sub,加法add,乘法mul,除法div函数;
方法一:
2 #include<stdio.h>
3 float jianfa(float A,float B);
4 float jiafa(float A,float B);
5 float chengfa(float A,float B);
6 float chufa(float A,float B);
7
8 int main()
9 {
10 float i = 0;
11 float j = 0;
12 float k = 0;
13 scanf("%f",&i);
14 scanf("%f",&j);
15 k=jianfa(i,j);
16 printf("%f\n",k);
17 return 0;
18 }
19 //定义一个减法函数
20 float jianfa(float A,float B)
21 {
22 float C = 0;
23 C=A-B;
24 return C;
25 }
26
27 //定义一个加法函数
28 float jiafa(float A,float B)
29 {
30 float C;
31 C=A+B;
32 return C;
33 }
34 //定义一个除法函数
35 float chufa(float A,float B)
36 {
37 float C;
38 C=A/B;
39 return C;
40 }
41 //定义一个乘法函数
42 float chengfa(float A,float B)
43 {
44 float C;
45 C=A*B;
46 return C;
47 }
48
1 //利用函数实现减法sub,加法add,乘法mul,除法div函数;
2 #include<stdio.h>
3 float jsq(float i,char j,float k);
4
5 int main()
6 {
7 float i = 0;
8 char j;
9 float k = 0;
10 float num = 0;
11 scanf("%f%c%f",&i,&j,&k);
12 num=jsq(i,j,k);
13 printf("%f\n",num);
14 return 0;
15 }
16 float jsq(float i,char j,float k)
17 {
18 float num = 0;
19 if(j==43)
20 {
21 num=i+k;
22 }
23 if(j==45)
24 {
25 num=i-k;
26 }
27 if(j==42)
28 {
29 num=i*k;
30 }
31 if(j==47)
32 {
33 num=i/k;
34 }
35 return num;
36 }
37
方法二:
1 //利用函数实现减法sub,加法add,乘法mul,除法div函数;
2 #include<stdio.h>
3 float jsq(float i,char j,float k);
4
5 int main()
6 {
7 float i = 0;
8 char j;
9 float k = 0;
10 float num = 0;
11 A: scanf("%f%c%f",&i,&j,&k);
12 num=jsq(i,j,k);
13 printf("%f\n",num);
14 goto A;
15 return 0;
16 }
17 float jsq(float i,char j,float k)
18 {
19 float num = 0;
20 if(j==43)
21 {
22 num=i+k;
23 }
24 if(j==45)
25 {
26 num=i-k;
27 }
28 if(j==42)
29 {
30 num=i*k;
31 }
32 if(j==47)
33 {
34 if(k==0)
35 {
36 printf("除数不能为");
37 }
38 else
39 {
40 num=i/k;
41 }
42 }
43 if(j!=43&&j!=45&&j!=42&j!=47)
44 {
45 printf("错误!");
46 }
43 return num;
44 }
45
运行结果
减法
ubuntu@ubuntu:函数$ ./a.out
5
4
1.000000
加法
ubuntu@ubuntu:函数$ ./a.out
4
5
9.000000
乘法
ubuntu@ubuntu:函数$ ./a.out
5
2
10.000000
除法
ubuntu@ubuntu:函数$ ./a.out
5
2
2.500000
#封装一个可以求前N项和的函数
1 #include<stdio.h>
2 int add1(int n);
3
4 int main()
5 {
6 int n = 0;
7 scanf("%d",&n);
8 n= add1(n);
9 printf("%d\n",n);
10 return 0;
11 }
12 int add1(int n)
13 {
14 int i = 1;
15 int j = 0;
16 for(;i<=n;i++)
17 {
18 j=j+i;
19 }
20 return j;
21 }
运行结果:
ubuntu@ubuntu:函数$ ./a.out
4
10
ubuntu@ubuntu:函数$ ./a.out
10
55
#