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

2023-04-12 13:41:15 浏览数 (1)

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

1.学生成绩

代码语言:javascript复制
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
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名学生的总成绩为:%dt平均成绩为:%dn", 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门功课的总成绩为:%dt平均成绩为:%dn", i   1, sum, sum / 5);

	}
	return 0;

}

2.数组逆置

代码语言:javascript复制
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("%dn", arr[i]);

	}
	return 0;
}

3.水仙花

代码语言:javascript复制
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("%dn", i);
		}
		i  ;
	} while (i <= 999);
		return 0;
}

4..敲七游戏

代码语言:javascript复制
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(" % dn", i);
		}
	   i  ;
	}
	return 0;
}

5.九九乘法口诀

代码语言:javascript复制
int main()
{
	//外层控制行,内层控制列.
	for (int i = 1; i <= 9; i  )
	{
		for (int j = 1; j <= i; j  )
		{
			printf("%d * %d=%dt",j, i,i*j);
		}
			printf("n");	
	}
	return 0;

6.圆的周长与面积求解

代码语言:javascript复制
#define PI 3.14159
#include <stdio.h>
int main()
{
	//PI
	//const float PI = 3.14159;(不安全)
	float r = 2;
	float s = PI * r * r;
	float l = 2 * PI * r;
	printf("圆的面积:%fn", s);
	printf("圆的周长; %fn", l);
	return 0;
}

7.双色球

代码语言:javascript复制
#include<time.h>
#include<stdlib.h>
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("  %dn",rand() % 16   1);
	}
	return 0;
}

8.电子时钟

代码语言:javascript复制
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("d:d:dn", i, j, k);
				Sleep(960);
			}
		}
		    
	}

}

9.冒泡排序普通版

代码语言:javascript复制
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("%dn", arr[i]);
	}
	return 0;
}

扩:冒泡排序函数版

代码语言:javascript复制
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.猜数字游戏

代码语言:javascript复制
//猜数字
//通过程序随机一个1-100之内的数
#include<time.h>
#include<stdlib.h>
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("%dn",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;
}

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

0 人点赞