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