初识C语言必备经典程序(1)

   初识C语言,无疑需要掌握一些最基础的代码,下到嵌套循环冒泡排序的代码,上到函数指针都需要我们掌握。今天我们就来仔细看一下C语言必备的一些代码,理解优先,我们从日常应用到数学规律再到数组指针的编程顺序依次展开。

1.学生成绩


#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
	//定义一个数组存储五名学生,三门成绩
	//求出每名学生的总成绩,平均成绩.
	//求出每门学科的总成绩,平均成绩.
	int arr[5][3] = { 0 };
	//获取学生成绩
	for (int i = 0; i < 5; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			scanf("%d", &arr[i][j]);



		}
	}
	//打印学生成绩
	for (int i = 0; i < 5; i++)
	{
		int sum = 0;
		for (int j = 0; j < 3; j++)
		{
			sum += arr[i][j];
			//printf("%d", arr[i][j]);

		}
		printf("第%d名学生的总成绩为:%d\t平均成绩为:%d\n", i + 1, sum, sum / 3);
		//printf("\n");

	}
	for (int i = 0; i < 3; i++)
	{
		int sum = 0;
		for (int j = 0; j < 5; j++)
		{
			//求出一列的值
			sum += arr[j][i];
		}
		printf("第%d门功课的总成绩为:%d\t平均成绩为:%d\n", i + 1, sum, sum / 5);

	}
	return 0;

}


2.数组逆置

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int i = 0;
	int j = sizeof(arr) / sizeof(arr[0]) - 1;
	while (i < j)
	{
		int temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
		i++;
		j--;

	}
	for (int i = 0; i < 10; i++)
	{
		printf("%d\n", arr[i]);

	}
	return 0;
}

3.水仙花

int main()
//从100-999各个位数的立方和相加等于这个数本身就是一个水仙花;
{
	int i = 100;
	do
	{
		//个位数
		int a = i % 10;
		//十位数
		int b = i / 10 % 10;
		//百位数
		int c = i / 100;
		//条件判断
		if (a * a * a + b * b * b + c * c * c == i)
		{ printf("%d\n", i);
		}
		i++;
	} while (i <= 999);
		return 0;
}
	

4..敲七游戏

int main()
{
	//凡是带7或7的倍数需要敲桌子,否则正常输出.
	int i = 1;
	while (i<100)
	{
		//7的倍数||个位数带七||十位带七.
		if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)
		{
			printf("敲桌子\n");
		}
		else
		{
			printf(" % d\n", i);
		}
	   i++;
	}
	return 0;
}

5.九九乘法口诀

int main()
{
	//外层控制行,内层控制列.
	for (int i = 1; i <= 9; i++)
	{
		for (int j = 1; j <= i; j++)
		{
			printf("%d * %d=%d\t",j, i,i*j);
		}
			printf("\n");	
	}
	return 0;

6.圆的周长与面积求解

#define PI 3.14159
#include 
int main()
{
	//PI
	//const float PI = 3.14159;(不安全)
	float r = 2;
	float s = PI * r * r;
	float l = 2 * PI * r;
	printf("圆的面积:%f\n", s);
	printf("圆的周长; %f\n", l);
	return 0;
}

7.双色球

#include
#include
int main()
{
	//双色球 取6个不重复的红球编号为1-32和1个蓝球编号为1-16.
	srand((unsigned int)time(NULL));
	int arr[6] = { 0 };
	int value = 0;
	int flag = 0;
	int j;
	for (int k = 0;k < 10; k++);
	{
		flag = 0;
		for (int i = 0; i < 6; i++)
		{
			value = rand() % 32 + 1;
			//去重
			for ( j = 0; j < flag; j++)
			{
				if (value == arr[j])
				{
					i--;
					break;
				}
			}
			if (j == flag)
			{
				arr[flag] = value;
				flag++;
			}
		}
		for (int i = 0; i < 6; i++)
		{
			printf("%d", arr[i]);
		}
		printf("+ %d\n",rand() % 16 + 1);
	}
	return 0;
}

8.电子时钟

int main()
{
	for (int i = 0; i < 24; i++)
	{
		for (int j = 0; j < 60; j++)
		{
			for (int k = 0; k < 60; k++)
			{
				//清屏
				system("cls");
				printf("%02d:%02d:%02d\n", i, j, k);
				Sleep(960);
			}
		}
		    
	}

}

9.冒泡排序普通版

int main()
{
	int arr[] = { 9,1,5,7,2,10,8,4,6,3 };
	//外层控制行
	for (int i = 0; i < 10 - 1; i++)
	{
		//内层控制列
		for (int j = 0; j < 10 - 1 - i; j++)
		{
			//比较两个元素满足条件交换
			if (arr[j] > arr[j + 1])
			{
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
		    }

		}
			
	}
	for (int i = 0; i < 10; i++)
	{
		printf("%d\n", arr[i]);
	}
	return 0;
}

扩:冒泡排序函数版

void BubbleSort(int arr[], int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j = 0; j < len - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;


			}
		}
	}
}
int main()
{
	int arr[] = { 9,1,4,7,3,10,3,8,6,5 };
	BubbleSort(arr, sizeof(arr) / sizeof(arr[0]));
	for (int i = 0; i < 10; i++)
	{
		printf("%d\\n", arr[i]);
	}
	return 0;
}

10.猜数字游戏

//猜数字
//通过程序随机一个1-100之内的数
#include
#include
int main()
{
	//产生随机数
	//1.导入头文件
	//2.添加随机数种子
	//3.获取随机数
	//srand((unsigned int)time(NULL));
	int value = rand() % 10  (0-9)
	//for (int i = 0; i < 10; i++)
	//{
	//	int value = rand() % 10;
	//	printf("%d\n",value);
	//}
	int value = rand() % 100;
	int num;
	for (;;)
	{
		printf("请输入数字:\n");
		scanf("%d", &num);
		if (value > num)
		{
			printf("您输入的数太小了\n");
		}
		else if (value < num)
		{
			printf("您输入的数太大了\n");
		}
		else
		{
			printf("恭喜你猜对了\n");
			break;
		}
	}
	return 0;
}

    以上代码均以经过调试,希望对大家能有帮助,有问题请指正哈,计划下一期更新数组字符串加指针的综合代码,敬请期待!

你可能感兴趣的:(c++)