函数练习

创建一个整形的数组,  分别实现函数init()初始化数组、  实现empty()清空数组、  实现reverse()函数完成数组元素的逆置。

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>


void init(int arr[], int len){

	int i = 0;

	printf("请输入数字,输入后按Enter确认\n");

	for (i = 0; i < len; i++){

		scanf("%d", &arr[i]);   //初始化,有点笨办法的感觉,手动输入一个数组
	}
	printf("初始化得到数组:\n");

	for (i = 0; i < len; i++){

		printf("%d", arr[i]);
	}
}



void reverse(int *arr, int len){

	int temp = 0, i = 0;
	for (i = 0; i < len / 2; i++){

		temp = arr[i];
		arr[i] = arr[len - 1 - i];
		arr[len - 1 - i] = temp;
	}
	printf("逆置后的数组为: \n");

	for (i = 0; i < len; i++){

		printf("%d", arr[i]);
	}
}


void empty(int arr[], int len){

	int i = 0;
	for (i = 0; i < len; i++){

		arr[i] = 0;
	}
	printf("清空后的数组为: \n");
	for (i = 0; i < len; i++){

		printf("%d", arr[i]);
	}
}

这一部分我写的特别累赘,可能基本功还不够好,不会简化~

记得花括号写在上一行(老师说的)

void menu(){

	printf("*********************************************\n");
	printf("**************1、初始化数组****************\n");
	printf("**************2、数组元素逆置**************\n");
	printf("**************3、清空数组元素**************\n");
	printf("**************4、退出该程序******************\n");
	printf("*********************************************\n");
} 

int main(){

	int *arr;
	int n = 0;
	int m = 0;
	int a = 0;
	int count = 1;

	printf("数组的大小:");

	scanf("%d", &n);

	arr = (int *)malloc(n);

	menu();

	while (count){

	printf("\n请选择您的操作:\n");
	scanf("%d", &a);

	switch (a){

	    case 1:init(arr, n - 1);
			count = 1;
			break;

		case 2:reverse(arr, n - 1);
			break;

		case 3:empty(arr, n - 1);
			break;

		case 4:count = 0;
			break;

		default:
			printf("输入错误,请重新输入:\n");
		}
	}

	system("pause");
	return 0;
}

输出结果:

养成良好的编程习惯!从今天就改正!!!

//大厂boss喜欢的代码编写风格


int main(){

system("pause");

return 0;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写Python函数练习题可以帮助您提高对Python函数的理解和运用能力。以下是一些Python函数练习题的示例: 1. 编写一个函数,接受用户输入的两个数字,并返回它们的和。您可以使用下面的代码作为参考: ```python def add_numbers(a, b): return a + b num1 = int(input("请输入第一个数字: ")) num2 = int(input("请输入第二个数字: ")) result = add_numbers(num1, num2) print("两个数字的和为:", result) ``` 2. 编写一个函数,接受用户输入的字符串,并将其中的字符倒序输出,但保留标点符号的位置不变。例如,将字符串"I enjoy reading!"经过函数调用后变为"!gnidaer yojne I"。您可以使用下面的代码作为参考: ```python def reverse_string(string): punctuation = ['!', ',', '.', '?'] # 标点符号列表 new_string = '' for i in range(len(string)): if string[i in punctuation: # 如果字符是标点符号,则保持位置不变 new_string += string[i] else: new_string += string[len(string)-i-1 # 其他字符倒序输出 return new_string user_input = input("请输入一个字符串: ") result = reverse_string(user_input) print("倒序输出后的字符串为:", result) ``` 3. 编写一个函数,接受用户输入的一个数字n,然后输出小于等于n的所有H(n)值。H(n)是指将一个数的各个数位的平方相加,然后再重复这个过程,直到最后得到的数字是1或者循环结束。您可以使用以下代码作为参考: ```python def calculate_hn(n): hn_values = [] for i in range(n+1): num = i while num != 1 and num != 4: # H(n)的循环结束条件是1或者循环结束 num = sum(int(digit)**2 for digit in str(num)) if num == 1: hn_values.append(i) return hn_values user_input = int(input("请输入参数n: ")) result = calculate_hn(user_input) print("H(n)小于等于参数n的所有值为:", result) ``` 4. 编写一个函数,实现折半查找。折半查找是一种在有序列表中查找指定元素的方法,通过将列表分成两半并比较中间值来确定要查找的元素在哪一半中。您可以使用以下代码作为参考: ```python def binary_search(array, target): low = 0 high = len(array) - 1 while low <= high: mid = (low + high) // 2 if array[mid == target: return mid elif array[mid < target: low = mid + 1 else: high = mid - 1 return -1 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] target_number = int(input("请输入要查找的数字: ")) result = binary_search(numbers, target_number) if result != -1: print("数字在列表中的索引位置为:", result) else: print("数字不在列表中") ``` 希望这些示例可以帮助您开始练习Python函数。如果您有更多的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值