Compare commits
No commits in common. "1424dc887418b0aa662817d3b83fa311b840ac5d" and "f3750b28514920058ccef71e53c0c4cc5981a8a5" have entirely different histories.
1424dc8874
...
f3750b2851
|
@ -1,54 +0,0 @@
|
|||
// 接收一个数值数组,实现数组中元素值从小到大排序
|
||||
// 例如:输入 3 2 1 5 4
|
||||
// 输出 1 2 3 4 5
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void show(int arr[], int size)
|
||||
{
|
||||
int i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
cout << arr[i] << "\t";
|
||||
i++;
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
void sort(int arr[], int size)
|
||||
{
|
||||
for (int i = 0; i < size - 1; i++)
|
||||
{
|
||||
for (int j = 0; j < size - i - 1; j++)
|
||||
{
|
||||
if (arr[j] > arr[j + 1])
|
||||
{
|
||||
arr[j] = arr[j] ^ arr[j + 1];
|
||||
arr[j + 1] = arr[j] ^ arr[j + 1];
|
||||
arr[j] = arr[j] ^ arr[j + 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
// 从键盘输入 5 个数值
|
||||
int arr[5];
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
cout << "请输入第" << i + 1 << "个数:";
|
||||
cin >> arr[i];
|
||||
}
|
||||
cout << endl;
|
||||
|
||||
cout << "排序前:" << endl;
|
||||
show(arr, 5);
|
||||
|
||||
sort(arr, 5);
|
||||
cout << "排序后:" << endl;
|
||||
show(arr, 5);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
// 接收一个数值数组,对数组中的数值求最大值并输出。
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int maxNum(int arr[], int size)
|
||||
{
|
||||
int max = arr[0];
|
||||
|
||||
while (--size)
|
||||
{
|
||||
if (arr[size] > max)
|
||||
{
|
||||
max = arr[size];
|
||||
}
|
||||
}
|
||||
|
||||
return max;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int arr[] = {18, 2, 3, 9, 5, 7}; // 完全初始化
|
||||
int max = maxNum(arr, sizeof(arr) / sizeof(arr[0]));
|
||||
cout << "最大值是: " << max << endl;
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
// 定义函数, 实现字符串的反转并输出
|
||||
// 例如: abcdefg -> gfedcba
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void reverse(char str[], int len)
|
||||
{
|
||||
int i = 0; // 为什么要从 0 开始? 因为字符串的第一个字符是 str[0]
|
||||
int j = len - 1 - 1; // 为什么要再减 1? 因为字符串最后一个字符是 '\0'
|
||||
for (; i < j; i++, j--)
|
||||
{
|
||||
str[i] = str[i] ^ str[j];
|
||||
str[j] = str[i] ^ str[j];
|
||||
str[i] = str[i] ^ str[j];
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
char str[] = "abcdefg";
|
||||
int len = sizeof(str) / sizeof(str[0]);
|
||||
cout << "原字符串: " << str << endl;
|
||||
reverse(str, len);
|
||||
cout << "反转后: " << str << endl;
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
// 定义函数, 实现字符串中指定位置字符删除
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void delChar(char str[], int index)
|
||||
{
|
||||
int i = index;
|
||||
while (str[i] != '\0')
|
||||
{
|
||||
str[i] = str[i + 1];
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
char str[] = "abcdefg";
|
||||
int index;
|
||||
cout << "原字符串: " << str << endl;
|
||||
cout << "请输入要删除的位置: ";
|
||||
cin >> index;
|
||||
if (index < 0 || index > sizeof(str) / sizeof(str[0]))
|
||||
{
|
||||
cout << "位置不合法" << endl;
|
||||
return 0;
|
||||
}
|
||||
delChar(str, index);
|
||||
cout << "删除后: " << str << endl;
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
// 定义函数, 实现字符串中某个字符的查找, 并返回字符的下标或 -1
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
int findCharAt(char str[], int size, char ch)
|
||||
{
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
if (str[i] == ch)
|
||||
return i;
|
||||
else if (str[i] == '\0' && str[i] != ch)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
// char str[] = "abcdefg";
|
||||
char str[128];
|
||||
cout << "请输入字符串: ";
|
||||
cin >> str;
|
||||
char ch;
|
||||
cout << "请输入要查找的字符: ";
|
||||
cin >> ch;
|
||||
int size = sizeof(str) / sizeof(str[0]);
|
||||
int index = findCharAt(str, size, ch);
|
||||
cout << "下标为: " << index << endl;
|
||||
return 0;
|
||||
}
|
25
day9/d1.cpp
25
day9/d1.cpp
|
@ -1,25 +0,0 @@
|
|||
// 实现2个整数之和并返回的功能
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// 1. 定义函数
|
||||
// a, b是形参
|
||||
// addNums是函数名
|
||||
int addNums(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int x, y;
|
||||
cout << "请输入两个整数:";
|
||||
cin >> x >> y;
|
||||
|
||||
// 2. 调用函数
|
||||
// [变量 = ] 函数名(实参列表);
|
||||
int ret = addNums(x, y); // x, y 是实际变量的数据, 称之为实参
|
||||
cout << "两个整数之和为:" << ret << endl;
|
||||
return 0;
|
||||
}
|
25
day9/d2.cpp
25
day9/d2.cpp
|
@ -1,25 +0,0 @@
|
|||
// 函数的声明
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
// 函数的声明
|
||||
int addNums(int a, int b);
|
||||
|
||||
int main()
|
||||
{
|
||||
int x, y;
|
||||
cout << "请输入两个整数:";
|
||||
cin >> x >> y;
|
||||
|
||||
// 2. 调用函数
|
||||
int ret = addNums(x, y); // x, y 是实际变量的数据, 称之为实参
|
||||
cout << "两个整数之和为:" << ret << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 函数的定义
|
||||
int addNums(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
30
day9/d3.cpp
30
day9/d3.cpp
|
@ -1,30 +0,0 @@
|
|||
// 有效循环n次,则addNums调用n次,每一次调用都会入栈(创建栈帧)。
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int addNums(int a, int b); // 函数的声明
|
||||
|
||||
int main()
|
||||
{
|
||||
int x, y;
|
||||
while (1)
|
||||
{
|
||||
cout << "请输入两个整数:";
|
||||
cin >> x;
|
||||
if (x == 0)
|
||||
break;
|
||||
cin >> y;
|
||||
// 调用函数
|
||||
int ret = addNums(x, y);
|
||||
cout << "计算结果为:" << ret << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 函数的定义
|
||||
int addNums(int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
24
day9/d4.cpp
24
day9/d4.cpp
|
@ -1,24 +0,0 @@
|
|||
// 判断给定的整数是否为偶数
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int isEven(int n)
|
||||
{
|
||||
if (n % 2 == 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
cout << "请输入一个整数:";
|
||||
cin >> n;
|
||||
if (isEven(n))
|
||||
cout << "是偶数" << endl;
|
||||
else
|
||||
cout << "不是偶数" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
// 判断给定的整数是否为偶数
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int isEven(int *n)
|
||||
{
|
||||
if (*n % 2 == 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
cout << "请输入一个整数:";
|
||||
cin >> n;
|
||||
if (isEven(&n))
|
||||
cout << "是偶数" << endl;
|
||||
else
|
||||
cout << "不是偶数" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
51
day9/d5.cpp
51
day9/d5.cpp
|
@ -1,51 +0,0 @@
|
|||
|
||||
// 定义函数,接收一个数组和一个整数,从数组中查找到第一个比给定的整数大的数的位置且返回。
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
void show(int arr[], int size)
|
||||
{
|
||||
int i = 0;
|
||||
while (i < size)
|
||||
{
|
||||
cout << arr[i] << " ";
|
||||
i++
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
// arr[] 是 int 类型的一维数组, 此形参准备从外部接收一个 int[] 类型的数组的首地址
|
||||
int find(int arr[], int n, int size)
|
||||
{
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
if (arr[i] > n)
|
||||
return i; // 结束循环、结束函数并返回 i
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int arr[] = {1, 2, 3, 0, 5, 7}; // 完全初始化
|
||||
// [注意] 计算数组的长度, 在定义数组的区域可以计算, 如果作为参数传递, 就无法计算了
|
||||
// 这是因为数组作为参数传递时, 会退化为指针, 无法计算长度;
|
||||
// 如果改为指针, 就可以计算长度了, 但是指针无法初始化, 所以必须在定义时初始化
|
||||
int len = sizeof(arr) / sizeof(arr[0]);
|
||||
|
||||
cout << "--- main() ---" << endl;
|
||||
show(arr, len);
|
||||
int n = 0;
|
||||
cout << "查找的数:";
|
||||
cin >> n;
|
||||
|
||||
int index = find(arr, n, len);
|
||||
if (index == -1)
|
||||
cout << "没有找到" << endl;
|
||||
else
|
||||
cout << "找到了,位置是:" << index << ", 第一个比" << n << "大的数是:" << arr[index] << endl;
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue