作业标题(2823)
二分查找-函数实现
作业内容
写一个二分查找函数
功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回-1.
int bin_search(int arr[], int left, int right, int key) // arr 是查找的数组 //left 数组的左下标 //right 数组的右下标 //key 要查找的数字
#include<stdio.h>
int bin_search(int arr[], int left, int right, int key)//二分法查找函数
{
int find = -1;
while (left<=right)
{
int mid = (left + right) / 2;
if (arr[mid] < key)
{
left = mid + 1;
}
else if (arr[mid] > key)
{
right = mid - 1;
}
else
{
find = mid;
break;
}
}
return find;
}
int main()
{
int key = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 1;
scanf("%d", &key);
int b = bin_search(arr, left, right, key);
printf("找到了,下标是%d", b);
return 0;
}
作业标题(677)
乘法口诀表
作业内容
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定
如:输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。
#include <stdio.h>
void huang(int n) {
int i = 1,h;
for (i = 1; i <= n; i++) {
for (h = 1; h <= i; h++) {
printf("%d * %d = %d\t", h, i, i * h);
}
printf("\n");
}
}
int main() {
int n;
scanf_s("%d", &n);
huang(n);
}
作业标题(679)
函数判断闰年
作业内容
实现函数判断year是不是润年。
#include<stdio.h>
int year(int y) {
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) {
return 1; // 闰年
}
else {
return 0; // 非闰年
}
}
int main() {
int y;
scanf_s("%d",&y);
if (year(y)) {
printf("%d是闰年\n", y);
}
else {
printf("%d不是闰年\n", y);
}
return 0;
}
作业标题(680)
函数判断素数作业内容
实现一个函数is_prime,判断一个数是不是素数。
利用上面实现的is_prime函数,打印100到200之间的素数。
#include<stdio.h>
int is_prime(int n) {
int i,count=0;
for (i=2;i<n;i++)
{
if (n % i == 0) {
count = 0;
break;
}
count = 1;
}
return count;
}
int main() {
int i;
for (i = 100; i <= 200; i++) {
if (is_prime(i)) {
printf("%d\n", i);
}
}
}
作业标题(697)
使用函数实现数组操作
作业内容
创建一个整形数组,完成对数组的操作
- 实现函数init() 初始化数组为全0
- 实现print() 打印数组的每个元素
- 实现reverse() 函数完成数组元素的逆置。
要求:自己设计以上函数的参数,返回值。
#include<stdio.h>
void inid(int arr[],int size) {
int i;
for (i = 0; i < size; i++) {
arr[i] = 0;
}
}
void print(int arr[], int size) {
int i;
for (i = 0; i < size; i++) {
printf("%d", arr[i]);
}
}
void reverse(int arr[], int size){
int i,count;
for (i = 0; i < size / 2; i++) {
count=arr[i];
arr[i] = arr[size - 1 - i];
arr[size - 1 - i] = count;
}
}
int main() {
int arr[5] = { 1,2,3,4,5 },i;
reverse(arr, 5);
for (i = 0; i < 5; i++) {
printf("%d", arr[i]);
}
printf("\n");
inid(arr, 5);
print(arr, 5);
}