C语言经典题目练习(每道题目限时30min)

文章目录

  • 前言
  • 2020-10-30
    • 题目及分析
    • 代码实现
    • 总结
  • 2020-10-31
    • 题目及分析
    • 代码实现
    • 总结
  • 2020-11-1


前言

由于stm32单片机的学习很吃C语言的功底,因此单开这个博客来记录C语言的练习过程。


2020-10-30

(先占一个坑每天抽时间完成一道题目!)

题目及分析

题目
从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出。

分析
需要一个数组来存放10个整数,并且需要用选择排序函数对其进行排序,最后输出结果。


代码实现

#include 
#define MAX 10

int main(void)
{
	int i, j, num, a[MAX];
	
	//每输入一个数,就对该数进行处理 
	for(i = 0; i < MAX; i ++)
	{
		printf("Enter No. %d", i+1);
		scanf("%d", &num);
		
		for(j = i-1; j >= 0 && a[j] > num; j--)
		
		a[j+1] = a[j];
		a[j+1] = num;
	}
	//outcome
	for(i = 0; i < MAX; i ++)
	{
		printf("No.%d = %d\n", i+1, a[i]);
	}
	
	return 0;
}

总结

好久没做C语言,基本的语法规则基本都忘光了,而且教材上学的根本不够用,之前虽然看过C与指针,但是没有进行练习,导致现在十分生疏。 需要练习和复习的部分有: 1 C语言常用函数 2 数组函数的使用等方法 3 指针和数组在函数中的应用 4 代码风格需要继续熟悉

挖坑:复习之后尝试用函数解决

2020-10-31

题目及分析

题目
输入十个数,用选择法对十个数进行排序。

分析
核心是选择法的算法:先将最小的数和第一个数交换,再将后9个数中最小的数和第二个数交换,以此类推

代码实现

#include 

void Select_Sort(int *, int); //选择排序法的函数声明 

int main()
{
	int a[10], i;
	
	for(i = 0; i < 10; i ++) 
	{
		scanf("%d", &a[i]);
	}
	
	Select_Sort(a, 10);
	
	printf("排序后结果如下所示:");
	
	for(i = 0; i < 10; i++)
	{
		printf("%d\n", a[i]);
	}
	
	return 0;
}
//选择法排序
//@author zhaiwei
void Select_Sort(int * array, int n)
{
	int i,j,t;
	for (i = 0; i < n-1; i ++)
	{
		for(j = i+1; j < n; j ++)
		{
			if(array[j] < array[i])
			{
				t = array[i]; 
				array[i] = array[j]; 
				array[j] = t;
			}
		}
	}
}



总结

今天复习了C语言的基础只是和语法,相较于昨天更加得心应手。


2020-11-1

你可能感兴趣的:(作业记录与笔记,c语言)