初识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;
}
以上代码均以经过调试,希望对大家能有帮助,有问题请指正哈,计划下一期更新数组字符串加指针的综合代码,敬请期待!