0
点赞
收藏
分享

微信扫一扫

函数练习作业

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//作业讲解


//创建一个数组,用函数实现初始化,打印每个元素,数组元素的逆序
//void Init(int* arr, int sz)
//{
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// arr[i] = i;
// }
//}
//void Print(int* arr, int sz)
//{
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// printf("%d ", arr[i]);
// }
// printf("\n");
//}
//void Reverse(int* arr, int sz)
//{
// int left = 0;
// int right = sz - 1;
// while (left < right)
// {
// int tmp = arr[left];
// arr[left] = arr[right];
// arr[right] = tmp;
// left++;
// right--;
// }
//}
//int main()
//{
// int arr[10] = { 0 };
// int sz = sizeof(arr) / sizeof(arr[0]);
// Init(arr, sz);
// Print(arr, sz);
// Reverse(arr, sz);
// Print(arr, sz);
// return 0;
//}



//将两个数组的内容交换
//void Print(int* arr, int sz)
//{
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// printf("%d ", arr[i]);
// }
// printf("\n");
//}
//int main()
//{
// int arr1[] = { 1,3,5,7,9 };
// int arr2[] = { 0,2,4,6,8, };
// int tmp = 0;
// int sz = sizeof(arr1) / sizeof(arr1[0]);
// int i = 0;
// Print(arr1, sz);
// Print(arr2, sz);
// for (i = 0; i < sz; i++)
// {
// tmp = arr1[i];
// arr1[i] = arr2[i];
// arr2[i] = tmp;
// }
// printf("\n");
// Print(arr1, sz);
// Print(arr2, sz);
// return 0;
//}



//求两个数二进制位的不同个数
//int get_diff_bit(int m, int n)
//{
// int tmp = m ^ n;//两个数异或后不同位就变成1
// int count = 0;
// while (tmp)
// {
// tmp = tmp & (tmp - 1);//统计有几个1
// count++;
// }
// return count;
//}
//int main()
//{
// int m = 0;
// int n = 0;
// scanf("%d%d", &m, &n);
// int count = get_diff_bit(m, n);
// printf("count=%d\n", count);
// return;
//}



//分别打印出一个数二进制的奇数位和偶数位
//void print(int a)
//{
// int i = 0;
// printf("奇数位:\n");
// for (i = 30; i >= 0; i -= 2)
// {
// printf("%d ", (a >> i) & 1);
// }
// printf("\n");
// printf("偶数位:\n");
// for (i = 31; i >= 0; i -= 2)
// {
// printf("%d ", (a >> i) & 1);
// }
// printf("\n");
//}
//int main()
//{
// int a = 0;
// scanf("%d", &a);
// print(a);
// return 0;
//}



//用指针打印数组内容
//void print(int* p, int sz)
//{
// int i = 0;
// for (i = 0; i < sz; i++)
// {
// printf("%d ", *(p + i));
// }
//}
//int main()
//{
// int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
// int sz = sizeof(arr) / sizeof(arr[0]);
// print(arr, sz);
// return 0;
//}



//打印乘法表
//void print_table(int n)
//{
// int i = 0;
// for (i = 1; i <= n; i++)
// {
// int j = 0;
// for (j = 1; j <= i; j++)
// {
// printf("%-2d*%-2d=%-4d", i, j, i * j);
// }
// printf("\n");
// }
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// print_table(n);
// return 0;
//}



//递归方式逆序字符串中的字符
//int my_string(char arr[])
//{
// int i = 0;
// while (arr[i]!='\0')
// {
// i++;
// }
// return i;
//}
////循环方法
////void revese_string(char arr[])
////{
//// int left = 0;
//// int right = my_string(arr)-1;
//// while (left < right)
//// {
//// int tmp = arr[left];
//// arr[left] = arr[right];
//// arr[right] = tmp;
//// left++;
//// right--;
//// }
////}
////递归方法
//void revese_string(char* arr)
//{
// char tmp = arr[0];
// int len = my_string(arr);
// arr[0] = arr[len - 1];
// arr[len - 1] = '\0';
// if (my_string(arr + 1) >= 2)
// {
// revese_string(arr + 1);
// }
// arr[len - 1] = tmp;
//}
//int main()
//{
// char arr[30] = {0};
// scanf("%s", arr);
// revese_string(arr);
// printf("%s\n", arr);
// return 0;
//}



//递归 求一个非负整数组成它的数字之和
//int DigitSum(int a)
//{
// if (a > 9)
// {
// return DigitSum(a / 10) + a % 10;
// }
// else
// {
// return a;
// }
//}
//int main()
//{
// unsigned int a = 0;
// scanf("%d", &a);
// int ret = DigitSum(a);
// printf("ret=%d\n", ret);
// return 0;
//}



//递归实现n的k次方
//double Pow(int n, int k)
//{
// if (k < 0)
// return(1.0 / Pow(n, -k));
// else if (k == 0)
// return 1;
// else
// return n* Pow(n, k - 1);
//}
//int main()
//{
// int n = 0;
// int k = 0;
// scanf("%d%d", &n, &k);
// double ret = Pow(n, k);
// printf("ret=%lf", ret);
// return 0;
//}

举报

相关推荐

Linux练习作业

练习作业All

练习作业一

第1周练习作业

python学习作业

HCIA复习作业

0 条评论