1、水仙花数
案例描述:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
例如:1^3 5 ^3 3^3 = 153;
请利用do...while语句求出所有3位数中的水仙花数。
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream> using namespace std;
int main()
{
int num = 100;
do
{
//百位上的数字
int num1 = 0;
//十位上的数字
int num2 = 0;
//个位上的数字
int num3 = 0;
num1 = num / 100;
int tem = num % 100;
switch (tem > 10)
{
case 1:
num2 = tem / 10;
num3 = tem % 10;
break;
default:
num2 = 0;
num3 = tem;
break;
}
if (pow(num1,3) pow(num2, 3) pow(num3, 3) == num)
{
cout << "num = " << num << endl;
}
num ;
}
while (num <= 999);
return 0;
}
2、敲桌子
案例描述:从1开始到数字100,如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream> using namespace std;
int main()
{
int num = 1;
while (num <= 100)
{
int num1 = num / 100;
//百位
if (num1 > 0)
{
cout << num << endl;
}
else
{
int num2 = num / 10;
//十位
if (num2 > 0)
{
int num3 = num % 10;
//个位
if (num2 == 7 || num3 == 7 || num % 7 == 0)
{
cout << "敲桌子" << endl;
}
else
{
cout << num << endl;
}
}
else
{
if (num % 7 == 0 || num == 7)
{
cout << "敲桌子" << endl;
}
else
{
cout << num << endl;
}
}
}
num ;
}
}
3、乘法口诀表
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream> using namespace std;
int main()
{
for (int i = 1; i < 10; i )
{
for (int j = 0; j < i; j )
{
cout << (j 1) << "*" << i << "=" << (j 1) * i << " ";
}
cout << endl;
}
return 0;
}
4、数组逆序
例如: int arr[] = { 1,3,2,4 };
int arr1[] = { 2,6,5,7,9 };
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std; int main()
{
int arr[] = { 1,3,2,4 };
int arr1[] = { 2,6,5,7,9 };
//数组起始下标 为 0;数组结束下标为 sizeof(arr) / sizeof(arr[0]) - 1
for (int i = 0; i <= (sizeof(arr1) / sizeof(arr1[0]) - 1) / 2; i )
{
int temp = arr1[i];
arr1[i] = arr1[sizeof(arr1) / sizeof(arr1[0]) - 1 - i];
arr1[sizeof(arr1) / sizeof(arr1[0]) - 1 - i] = temp;
}
cout << "交换后的数组的长度为:" << sizeof(arr1) << endl;
for (int j = 0; j <= sizeof(arr1) / sizeof(arr1[0]) - 1; j )
{
cout << arr1[j];
}
return 0;
}
5、冒泡排序
作用:最常用的排序算法,对数组内元素进行排序
1、比较相邻的元素。如果第一个比第二个大,就交换它们两个。
2、对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
3、重复以上的步骤,每次比较次数 -1,直到不需要比较。
例如:对 (1、6、4、13、42、59、46、33、35、27、15、3、9、6)进行排序
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream> using namespace std;
int main()
{
int arr[] = {30,20,15,3,26,36,24,21,10,9,16,15,3};
int end = sizeof(arr) / sizeof(arr[0]) - 1;
for (int i = 0; i <= end; i )
{ for (int j = i 1; j <= end; j )
{
if (arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for (int l = 0; l <= end; l )
{
cout << arr[l] << " ";
}
return 0;
}
6、通讯录管理系统
系统需求:
通讯录是一个可以记录亲人、好友信息的工程。
本教程主要利用C 来实现一个通讯录管理系统。
系统中需要实现的功能如下:
- 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人;
- 显示联系人:显示通讯录中所有联系人信息;
- 删除联系人:按照姓名进行删除指定联系人;
- 查找联系人:按照姓名查看指定联系人信息;
- 修改联系人:按照姓名重新修改指定联系人;
- 清空联系人:清空通讯录中所有信息;
- 退出通讯录:退出当前使用的通讯录