1.编写一个函数,通过输入球的半径,返回球的体积;
代码:
1 /*
2 需求:编写一个函数,通过输入球的半径,返回球的体积;V=(4/3)πr^3
3 */
4 #include <stdio.h>
5
6 double v_a(int r)
7 {
8 double PI = 3.1415926;
9 double v = (4.0/3)*PI*(r*r*r);
10
11 return v;
12 }
13
14 int main()
15 {
16 int i;
17 printf("请输入一个整型半径:");
18 scanf("%d",&i);
19
20 // double V = v_a(r);
21 printf("您输入的半径圆的体积为:%.3f立方\n",v_a(i));
22
23 return 0;
24 }
结果:
2.编写一个函数,通过输入一个数字字符,返回该数字
代码:
1 /*
2 需求:编写一个函数,通过输入一个数字字符,返回该数字
3 */
4 #include <stdio.h>
5
6 int nbr(char a)
7 {
8 a = a - '0';
9
10 return a;
11 }
12
13 int main()
14 {
15 char b;
16 printf("请输入一个'0'~'9'的字符:");
17 scanf("%c",&b);
18
19 int j = nbr(b);
20
21 printf("你输入的字符%c所对应的数字是:%d\n",b,j);
22
23 return 0;
24 }
结果:
3.编写一个函数,输入四个数据分别表示2个点的x,y坐标,返回两点之间的距离;
代码:
1 /*
2 需求:编写一个函数,输入四个数据分别表示2个点的x,y坐标,返回两点之间的距离
3 */
4 #include <stdio.h>
5 #include <math.h>
6
7 double r_t(double x1,double y1,double x2,double y2)
8 {
9 double a = (x1 - x2) * (x1 - x2);
10 double b = (y1 - y2) * (y1 - y2);
11 double c = sqrt(a + b); //横坐标相减的平凡和纵坐标相减的平方进行开根
12
13 return c;
14 }
15
16 //主函数中输入两个横纵坐标
17
18 int main()
19 {
20 float i1,i2,j1,j2;
21 printf("请输入第一个点的坐标:");
22 scanf("%f %f",&i1,&j1);
23
24 printf("请输入第二个点的坐标:");
25 scanf("%f %f",&i2,&j2);
26
27 printf("您输入两点坐标的距离为:%f\n",r_t(i1,j1,i2,j2));
28
29 return 0;
30 }
结果:
4.编写一个函数,通过参数输入一个整型数,返回该数各位上数字的平方和;
代码:
1 /*
2 需求:编写一个函数,通过参数输入一个整型数,返回该数各位上数字的平方和;
3 */
4 #include <stdio.h>
5
6 int sum_a(int i)
7 {
8 int j,k,num;
9 while(i != 0)
10 {
11 j = 0;
12 j = i % 10;
13 i = i / 10;
14 k = j * j;
15 num += k;
16 }
17 printf("您输入数字各位上的平方为:%d\n",num);
18
19 return num;
20
21
22 }
23
24 int main()
25 {
26 int a;
27 printf("请输入一个整数:");
28 scanf("%d",&a);
29
30 sum_a(a);
31
32
33 return 0;
34 }
结果:
5.编写一个函数,通过参数输入x的值,当 x>5时, f(x) = 4x+7;否则 f(x) = -2x+3,返回结果值
代码:
1 /*
2 需求:编写一个函数,通过参数输入x的值,当 x>5时, f(x) = 4x+7;否则 f(x) = -2x+3,返回结果值
3 */
4
5 #include <stdio.h>
6
7 int a_b(int x)
8 {
9 int fx = 0;
10
11 if(x > 5)
12 {
13 fx = 4*x+7;
14 }
15 else
16 {
17 fx = -2*x+3;
18 }
19
20 return fx;
21
22 }
23
24 int main()
25 {
26 int a;
27 printf("请您输入一个整数:");
28 scanf("%d",&a);
29
30 printf("您输入值的返回值为f(x)=%d\n",a_b(a));
31
32 return 0;
33 }
结果:
6.设计一个函数,用来求出多个数据的平均值;
代码:
1 /*
2 需求:设计一个函数,用来求出多个数据的平均值
3 */
4 #include <stdio.h>
5
6 double a_b(double sum,int j)
7 {
8 double i = 0;
9 i = sum / j;
10
11 return i;
12
13 }
14
15 int main()
16 {
17 int n = 0,a,num = 0;
18 printf("请输入您需要输入的整数的个数:");
19 scanf("%d",&n);
20 for(int m = 1;m <= n;m++)
21 {
22 printf("请输入你需要的数据:");
23 scanf("%d",&a);
24 num += a;
25 }
26
27 printf("您输入数据的平均值为:%f\n",a_b(num,n));
28
29 return 0;
30 }
结果:
7.设计一个函数,用来查找一个字符串中某个字符的位置;
代码:
1 /*
2 需求:设计一个函数,用来查找一个字符串中某个字符的位置
3 */
4 #include <stdio.h>
5 char a_b(char n)
6 {
7 int m;
8 char a[9] = {"love you!"};
9 int pp = 1;
10 for(m = 0;m < 9;m++)
11 {
12 if(n == a[m])
13 {
14 printf("您数入的字符下标为:%d,是字符串第%d个元素!\n",m,m+1);
15 pp = 0;
16 }
17 }
18 if(pp = 1)
19 {
20 printf("输入字符不正确!!\n");
21 }
22
23 return 0;
24 }
25
26 int main()
27 {
28 char a;
29 printf("请您输入一个‘love you!’中任意一个字符包括空格及感叹号!\n");
30 scanf("%c",&a);
31 a_b(a);
32
33 return 0;
34 }
结果:
8.设计一个函数,把一个整型数字转成对应的字符串格式
代码:
1 /*
2 需求:设计一个函数,把一个整型数字转成对应的字符串格式
3 */
4 #include <stdio.h>
5
6 char a_b(int i)
7 {
8 printf("您输入整数的字符串格式是:%c\n",(char)i);
9 return 0;
10 }
11
12 int main()
13 {
14 int a;
15 printf("请输入一个整数:\n");
16 scanf("%d",&a);
17
18 a_b(a);
19
20 return 0;
21
22 }
结果:
9.设计一个函数,统计字符串中大写字母的个数
代码:
1 /*
2 需求:设计一个函数,统计字符串中大写字母的个数
3 */
4 #include <stdio.h>
5
6 char a_b(int len,char arr[len])
7 {
8 int i,sum = 0;
9
10 for(i = 0;i < len;i++)
11 {
12 if(arr[i] < 91 && arr[i] > 64)
13 {
14 sum++;
15 }
16 }
17 return sum;
18 }
19
20 int main()
21 {
22 int m = 0;
23
24 printf("请输入您需要输入字符串的长度:");
25 scanf("%d",&m);
26
27 char arr1[m];
28
29 printf("请您输入一个字符串:\n");
30 for(int j = 0; j < m;j++)
31 {
32 scanf("%c",&arr1[j]);
33 }
34
35 printf("您输入的字符串中有%d个大写字母\n",a_b(m,arr1));
36
37 return 0;
38 }
结果:
10.设计函数,实现strcmp 的功能;
代码:
1 /*
2 需求:设计函数,实现strcmp 的功能;
3 */
4 #include <stdio.h>
5 int my_strcmp(const char arr1[],const char arr2[])
6 {
7 int i = 0;
8
9 // 判断数组中是否存在字符,如果不存在就跳出循环
10 while(arr1[i] && arr2[i])
11 {
12 if(arr1[i] != arr2[i])
13 {
14 return arr1[i] - arr2[i];
15 // 此时会产生两个结果,一个正数(1),一个是负数(-1)
16 }
17 i++;
18 }
19
20 return arr1[i] - arr2[i];
21 }
22
23
24 int main()
25 {
26 const char str1[] = "MaJie";
27 const char str2[] = "MaYingLong";
28
29 int result = my_strcmp(str1,str2);
30
31 if(result < 0)
32 {
33 printf("'%s' 小于 '%s'\n",str1,str2);
34 }
35 else if(result > 0)
36 {
37 printf("'%s' 大于 '%s'\n",str1,str2);
38 }
39 else
40 {
41 printf("'%s' 和 '%s' 相同\n",str1,str2);
42 }
43
44 return 0;
45 }
11.编写函数,用于判断输入的字符是不是个数字。是返回1,不是返回0.
代码:
1 /*
2 需求:编写函数,用于判断输入的字符是不是个数字。是返回1,不是返回0
3 */
4 #include <stdio.h>
5
6 int a_b(char a)
7 {
8 if(a >= 48 && a <= 57)
9 {
10 printf("返回值是1,您输入的是字符数字\n");
11 return 1;
12 }
13 else
14 {
15 printf("返回值是0,您输入的不是字符数字\n");
16 return 0;
17 }
18
19 }
20
21 int main()
22 {
23 char i;
24 printf("请输入一个字符:");
25 scanf("%c",&i);
26
27 a_b(i);
28
29 return 0;
30
31 }
结果:
12.设计一程序,实现一个简单的计算器。
‘要求:有菜单函数 和加、减、乘、除的函数 主函数调用这些函数实现程序的功能.要求菜单函数能 够输出如下的界面
1、加法 2、减法 3、乘法 4、除法 0.退出‘
代码:
1 /**
2 *设计一程序,实现一个简单的计算器。
3 * 要求:有菜单函数 和加、减、乘、除的函数 主函数调用这些函数实现程序的功能.要求菜单函数能 够输出如下的界面
4 * 1、加法 2、减法 3、乘法 4、除法 0.退出
5 */
6 #include <stdio.h>
7
8 double a_b(int i,double x,double y)
9 {
10 switch(i)
11 {
12 case 1:
13 printf("%.2lf+%.2lf=%.2lf\n",x,y,x+y);
14 break;
15
16 case 2:
17 printf("%.2lf-%.2lf=%.2lf\n",x,y,x-y);
18 break;
19
20 case 3:
21 printf("%.2lf*%.2lf=%.2lf\n",x,y,x*y);
22 break;
23
24 case 4:
25 if(y == 0)
26 {
27 printf("除数不能为0\n");
28 }
29 else
30 {
31 printf("%.2lf/%.2lf=%.2lf\n",x,y,x/y);
32 }
33 break;
34 }
35
36 }
37 int main()
38 {
39
40 int p;
41 double a,b;
42
43 printf("*************************************\n");
44 printf("*************************************\n");
45 printf("***********新版计算器 1.0************\n");
46 printf("*************************************\n");
47 printf("*************************************\n");
48
49 printf("请输入您要选择的运算方式:\n");
50 printf("输入数字1进行加法\n");
51 printf("输入数字2进行减法\n");
52 printf("输入数字3进行乘法\n");
53 printf("输入数字4进行除法\n");
54 printf("输入数字0退出\n");
55
56 scanf("%d",&p);
57 if(p !=0)
58 {
59 printf("请输入两个您要运算的数:\n");
60 scanf("%lf %lf",&a,&b);
61
62 a_b(p,a,b);
63 }
64 else
65 {
66 printf("退出计算器!!\n");
67 }
68 return 0;
69 }
结果:
13.设计函数实现冒泡排序;
代码:
1 #include <stdio.h>
2
3 int a_b(int len,int arr[len])
4 {
5 int i,j,t;
6 //对数组arr使用冒泡排序法进行排序(使用的标准冒泡排序法)
7
8 //外层循环:控制比较的轮数,因为有11个数,所以需要比较length-1轮
9 for(int i = 0;i < len-1;i++)
10 {
11 //内层循环:每一轮中比较的次数,每一轮比较的次数为length - 1 - i
12 for(int j = 0;j < len - 1 - i;j++)
13 {
14 //相邻的两个数进行比较,满足条件交换位置
15 if(arr[j] > arr[j + 1])
16 {
17 t = arr[j];
18 arr[j] = arr[j + 1];
19 arr[j + 1] = t;
20 }
21 }
22 }
23
24 printf("冒泡排序后遍历数组:\n");
25
26 for(i = 0;i < len;i++)
27 {
28 printf("%d ",arr[i]);
29 }
30 printf("\n");
31
32
33 }
34
35 int main()
36 {
37 //创建一个数组,用来存储排序的数列
38 int arr1[10];
39 int a; //i:比较轮数,j:每一轮比较的次数,t:临时变量,用来比较时交换数据
40
41 printf("请输入10个测试整数:\n");
42
43 //计算数组大小
44 int length = sizeof(arr1) / sizeof(int); //等价于sizeof[0]
45
46 //通过循环录入数据
47 for(a = 0;a < length;a++)
48 {
49 scanf("%d,",&arr1[a]);
50 }
51
52 a_b(length,arr1);
53
54 return 0;
55 }
结果: