我刚开始接触c语言的时候是在大一,因为只有学好c语言,你才可以去学习Java和C++,但是大一学习的时候几乎都是在混着,前面听着还行,就是学习到指针那一章的时候,老师突然不教了,可能是因为我们的课程上完了,但是还没有讲完,后来就没有怎么学习过c了,后来一直都在学习Java,但是后来考上研究生后,选择的导师是用c和c++的,有时候老师布置的题都让用c和c++,所以每次老师在布置作业的时候,我都要在网上查好久的资料,尤其是...
#include<stdio.h>
//快速排序
void quickSort(int a[],int left,int right)
{int i,j,temp;i = left;j = right;temp = a[left];if(left>right)return;while(i!=j){while(a[j]>=temp &&j>i)j--;if(j>i)a[i++] = a[j];while(a[i]<=temp&&j>i)i++;if(j>i)a[j--] = a[i];}a[i] = temp;quickSort(a,left,i-1);quickSort(a,i+1,right);
}
//冒泡排序
void bubbleSort(int a[],int len)
{int i,j,temp;for(i = 0;i<len;i++){ for(j = 0...
功能:在C语言程序中,很多地方都需要手动输入数据。比如你需要打印一串数组:0,1,2,3,4,5,6,7,8,9第一步你需要一个一个数字在控制台输入。然后才能打印。常规代码:for(int i=0;i<=10;i++)scanf("%d",&a[i]) 那么今天我们要省略自己输入那一步呢,我们可以读取一个文件中的数据然后打印出来。实例:下面是一个简单文件读取测试程序,从input.txt中读取数据,将读到的数据存到数组a[10]中,并且打印到控制台上。代码奉上:#include...
参考范例:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<mysql.h>#define MAX_COLUMN_LEN 32int main(int argc , char *argv[]){ MYSQL db; MYSQL_RES *res; MYSQL_ROW row; //初始化数据库 mysql_init(&db); //连接数据库 if(mysql_real_connect(&db,"127.0.0.1","root","huawei","information_schema",0,NULL,0)) { printf("connect!!!\n"); } //查询 if (mysql_real_query(&db, "sel...
2014.06.17 01:17简介: 选择排序是一种O(n^2)级别的交换排序算法,属于新手必学算法。描述: 个人觉得选择排序的代码是所有排序中最直观,最符合人类大脑思维的了。当我第一次有排序的需求时(初中时自学了一点C语言,算是人生第一次写代码),我自己试着写下的代码就是选择排序,当然我上了大学才知道“选择排序”是什么。很显然,直观且容易实现的算法基本都是最鹾的,而不直观且容易实现的算法基本都是最神的。很显然,选...
约瑟夫环问题(C语言、数据结构版)一、问题描述N个人围城一桌(首位相连),约定从1报数,报到数为k的人出局,然后下一位又从1开始报,以此类推。最后留下的人获胜。(有很多类似问题,如猴子选代王等等,解法都一样)二、思路分析 (1)可将人的顺序简单编号,从1到N; (2)构造一个循环链表,可以解决首位相连的问题,同时如果将人的编号改为人名或者其他比较方便 (3)将人的编号插入到结构体的Data域;...
在C语言中,double、long、unsigned、int、char类型数据所占字节数http://blog.csdn.net/lyl0625/article/details/7350045============================实在记不住,贴下来: 和机器字长及编译器有关系:所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应...
Part2 : 按要求写出符合要求的表达式,补全程序。 给出补全后完整的程序源码及运行结果截图。 Test 1:判断其是奇数还是偶数#include <stdio.h>
#include<stdlib.h>int main()
{int x;printf("please input:\n");scanf("%d", &x);if (x % 2 == 0)printf("even");elseprintf("odd");system("pause");return0;
} Test 2 判断是否是工作日#include <stdio.h>
#include<stdlib.h>int main()
{int days;printf("please inpu...
题目如下:这道题目理解起来其实并不难,关键是加密算法的实现,这里先把关键函数贴上来:代码1 1char CharConv(char Mark)2{3int orgin_num = Mark; // get ascii value of char 4int i = 0,temp = 0;5int Arr[8],LeftArray[5];6for(i=0;i<8;i++)7 Arr[i] = (Mark>>i)&1; //save binary bit(8 bits per char) into array8 i = Arr[0]; //switch bit(0 <--> 1 2 <--> 3 4 <--> 5)9 Ar...
C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。尽管这几种类型数据的长度和范围随处理器的类型和C语言编译程序的实现而异,但以b i t为例,整数与CPU字长相等,一个字符通常为一个字节,浮点值的确切格式则根据实现而定。对于多数微机,表2 - 1给出了五种数据的长度和范围。 表中的长度和范围的取值是假定C P U的字长为1 6 b i t。 C语言还提供了几种聚合类型(aggregate types),包括数组、指针、结构...
StaticLinkLinst.h#ifndef STATIC_LINKLIST_H
#define STATIC_LINKLIST_Htypedef void StaticLinkListNode; //静态单链表节点
typedef void StaticLinkList; //静态单链表/*
* 创建静态单链表
* @param capacity 静态单链表的最大容量
* @return 返回静态单链表的指针
*/
StaticLinkList* StaticLinkList_Create(int capacity);/*
* 销毁静态单链表
* @param list 静态单链表的指针
*/
void StaticLinkList_Destr...
1、C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double) 类型字节数类型字节数char1short2int根据系统而定,可能是2或4long4float4double8同时字符型和整形还可以继续分为带符号的和不带符号的,默认情况下都是带符号的,如果想使用不带符号的,则使用时带上 unsigned说明即可,如果是带符号的,那么最高位将表示符号位,最高位为0表示为正数,最高位为1表示为负数,因此根据这个可...
在深入浅出数据结构(7)的末尾,我们提到了栈可以用于实现计算器,并且我们给出了存储表达式的数据结构(结构体及该结构体组成的数组),如下://SIZE用于多个场合,如栈的大小、表达式数组的大小#define SIZE 1000//表达式的单个元素所使用的结构体
typedef struct elem {int num = 0; //若元素存储操作数则num为该操作数char oper = ‘=‘; //若元素存储操作符则oper为该操作符bool IsNum = false; //用于判断元素是否为操作...
1 #include <stdio.h> /*就是一条预处理命令,它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。*/2int main() /*C程序就是执行主函数里的代码,也可以说这个主函数就是C语言中的唯一入口。*/3{
4 printf("I love imooc!"); /*看一下这里的打印语句是否正确*/5return0;
6 }二:数据类型1 #include <stdio.h>
2int main()
3{
4int age=18;/*定义age变量*/5 printf("我今年...
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include <stdio.h>
#define N 12
typedef struct
{ char num[10];double s;
} STREC;
double fun( STREC *a, STREC *b, int *n )
{int i;double av=0;*n=0;for(i=0;i<N;i++){av+=a[i].s/N;}for(i=0;...