精华内容
下载资源
问答
  • 这是一道看似很简单的有关C语言的时间差问题,其实需要考虑东西还蛮多!!! 举个栗子,思考一下 如果单纯地小时与小时相减,分钟与分钟相减; 2点20-1点10分=1小时10分钟 3点10分-2点50分=1小时负40分钟(这就...

    在这里插入图片描述这是一道看似很简单的有关C语言的时间差问题,其实需要考虑的东西还蛮多的!!!
    举个栗子,思考一下
    如果单纯地小时与小时相减,分钟与分钟相减;
    2点20-1点10分=1小时10分钟
    3点10分-2点50分=1小时负40分钟(这就不是我们想要的正确答案了)
    解决方案:
    我们可以将两个时间(几时几分)换算成分钟,然后再将分钟换算成几小时几分钟。代码如下:

    #include<stdio.h>
    #include<math.h>
    int main(){
    	int hour1,minute1;
    	int hour2,minute2;
    	int final_hour,final_minute;
    	
    	printf("请输入第一个时间:");
    	scanf("%d %d",&hour1,&minute1);
    	printf("请输入第二个时间:");
    	scanf("%d %d",&hour2,&minute2);
    	
    	final_hour=abs((hour2*60+minute2)-(hour1*60+minute1))/60;//小时部分 
    	final_minute=abs((hour2*60+minute2)-(hour1*60+minute1))%60;//分钟部分 
    	
    	if(final_hour==0){
    		printf("%d点%d分与%d点%d分的时间差为%d分钟:",hour1,minute1,hour2,minute2,final_minute);
    	}else{
    		printf("%d点%d分与%d点%d分的时间差为%d小时%d分钟:",hour1,minute1,hour2,minute2,final_hour,final_minute);
    	}
    	
    	return 0; 
    } 
    

    最后的判断语句

    if(final_hour==0){
    		printf("%d点%d分与%d点%d分的时间差为%d分钟:",hour1,minute1,hour2,minute2,final_minute);
    	}else{
    		printf("%d点%d分与%d点%d分的时间差为%d小时%d分钟:",hour1,minute1,hour2,minute2,final_hour,final_minute);
    	}
    

    这部分是为了避免出现0小时几分钟这种情况。
    最后
    分享我从别人那里学到的小干货,C语言中的取绝对值函数:

    1. int型使用abs();
    2. long型使用labs();
    3. float,double型使用fabs();
    展开全文
  • c语言 有趣简单编程 Java是我专业学习和使用第一门语言。 大约十年半以来,这一直是我生计。 但是,这并不是我一整年以来一直学习或使用唯一语言:例如,很久以前,我不得不开发JavaScript代码来实现动态用户...

    c语言 有趣简单编程

    Java是我专业学习和使用的第一门语言。 大约十年半以来,这一直是我的生计。 但是,这并不是我一整年以来一直学习或使用的唯一语言:例如,很久以前,我不得不开发JavaScript代码来实现动态用户界面。 那时,它被称为DHTML ....几年前,我还自学了Kotlin,从未停止使用它。 去年,在一家新公司工作时,我尝试了Clojure-尽管效果不佳。

    在所有情况下,Java仍然代表着我学习和判断其他语言的基础。 这是语言的一些有趣特征,我发现这些特征来自Java背景,颇具挑战性。

    JavaScript:原型

    JavaScript是我必须与Java一起使用的第一语言。 尽管JavaScript在过去的这些年里一直在发展,但其中一个共同的功能却非常奇怪地实现了:新对象的实例化。

    在Java中,首先创建一个

    publicclassPerson{
    
      privatefinalStringname;
      privatefinalLocalDatebirthdate;
    
      publicPerson(Stringname,LocalDatebirthdate){
        this.name=name;
        this.birthdate=birthdate;
      }
    
      publicStringgetName(){
        returnname;
      }
    
      publicLocalDategetBirthdate(){
        returnbirthdate;
      }
    }

    然后,可以继续创建该类的实例

    varperson1=newPerson("John Doe",LocalDate.now());
    varperson2=newPerson("Jane Doe",LocalDate.now());

    JavaScript与Java语法非常相似:

    classPerson{
      constructor(name,birthdate){
        this.name=name;
        this.birthdate=birthdate;
      }
    }
    
    letperson1=newPerson("John Doe",Date.now());
    letperson2=newPerson("Jane Doe",Date.now());

    平行线在那里停止。 得益于JavaScript动态的特性,可以向现有实例添加属性和函数。

    person1.debug=function(){
      console.debug(this);
    }
    
    person1.debug();

    但是,这些仅添加到实例。 其他实例缺少这些补充:

    person2.debug();// Throws TypeError: person2.debug is not a function

    为了向现在和将来的所有实例添加函数(或属性),需要利用原型的概念:

    Person.prototype.debug=function(){
      console.debug(this);
    }
    
    person1.debug();
    person2.debug();
    
    letperson3=newPerson("Nicolas",Date.now());
    
    person3.debug();

    Kotlin:扩展功能/属性

    几年前,我尝试自学Android。 我发现这种体验并不十分适合开发人员:当然,我了解目标之一是尽可能减小占用空间,但这是以非常简洁的API为代价的。

    我记得必须调用带有很多参数的方法,其中大多数为null 我试图找到一种方法来解决这个问题...并发现Kotlin的扩展属性-具有默认参数。 我停止了学习Android的道路,但继续使用Kotlin。

    我爱Kotlin。 许多人赞扬Kotlin的零安全方法。 我喜欢它,但对我来说,最高的价值在于其他地方。

    假设我们经常需要大写字符串。 在Java中实现该目标的方法是使用静态方法创建一个类:

    publicclassStringUtils{
    
      publicstaticStringcapitalize(Stringstring){
        varcharacter=string.substring(0,1).toUpperCase();
        varrest=string.substring(1,string.length()-1).toLowerCase();
        returncharacter+rest;
      }
    }

    在早期,没有一个项目没有StringUtilsDateUtils类。 幸运的是,现在,现有的库提供了最需要的功能, 例如 Apache Commons LangGuava 但是,它们遵循基于静态方法的相同设计原理。 令人遗憾的是,因为Java被认为是一种OOP语言。 不幸的是,静态方法不是面向对象的。

    Kotlin允许在扩展函数和属性的帮助下向现有类分别添加行为。 语法非常简单,并且与面向对象的方法完全兼容:

    funString.capitalize():String{
      valcharacter=substring(0,1).toUpperCase()
      valrest=substring(1,length-1).toLowerCase()
      returncharacter+rest
    }

    在编写Kotlin代码时,我经常使用它。

    在幕后,Kotlin编译器生成的字节码类似于Java代码中的字节码。 它只是“唯一”的语法糖,但是从设计的角度来看,与Java代码相比,这是一个巨大的改进!

    转到:隐式接口实现

    在大多数OOP语言(Java,Scala,Kotlin等)中,类可以遵守合同,也称为接口 这样,客户端代码可以引用该接口,而不关心任何特定的实现。

    publicinterfaceShape{
    
      floatarea();
      floatperimeter();
    
      defaultvoiddisplay(){
        System.out.println(this);
        System.out.println(perimeter());
        System.out.println(area());
      }
    }
    
    publicclassRectangleimplementsShape{
    
      publicfinalfloatwidth;
      publicfinalfloatheight;
    
      publicRectangle(floatwidth,floatheight){
        this.width=width;
        this.height=height;
      }
    
      @Override
      publicfloatarea(){
        returnwidth*height; (1)
      }
    
      @Override
      publicfloatperimeter(){
        return2*width+2*height; (1)
      }
    
      publicstaticvoidmain(String...args){
        varrect=newRectangle(2.0f,3.0f);
        rect.display();
      }
    }
    1. 一个人应该使用BigDecimal来达到精确的目的-但这不是重点

    重要的一点是:由于Rectangle实现Shape ,因此可以在Rectangle任何实例上调用Shape上定义的display()方法。

    Go不是一种OOP语言:它没有类的概念。 它提供结构 ,并且功能可以与这种结构相关联。 它还提供了结构可以实现的接口

    但是,Java实现接口的方法是明确的Rectangle类声明其实现Shape 相反,Go的方法是隐式的 实现接口所有功能的结构隐式实现此接口。

    这将转换为以下代码:

    packagemain
    
    import(
     "fmt"
    )
    
    typeshapeinterface{ (1)
     area()float32
     perimeter()float32
    }
    
    typerectanglestruct{ (2)
     widthfloat32
     heightfloat32
    }
    
    func(rectrectangle)area()float32{ (3)
     returnrect.width*rect.height
    }
    
    func(rectrectangle)perimeter()float32{ (3)
     return2*rect.width+2*rect.height
    }
    
    funcdisplay(shapeshape){ (4)
     fmt.Println(shape)
     fmt.Println(shape.perimeter())
     fmt.Println(shape.area())
    }
    
    funcmain(){
     rect:=rectangle{width:2,height:3}
     display(rect) (5)
    }
    1. 定义shape界面
    2. 定义rectangle结构
    3. 将两个shape函数都添加到rectangle
    4. display()函数仅接受shape
    5. 因为rectangle实现了shape所有功能,并且由于隐式实现,所以rect也是shape 因此,调用display()函数并将rect作为参数传递是完全合法的

    Clojure:“依赖类型”

    我以前的公司在Clojure投入了很多资金。 因此,我尝试学习该语言,甚至写了几篇文章来总结我对语言的理解。

    Clojure在很大程度上受到LISP的启发。 因此,表达式用括号括起来,并且要执行的功能首先位于它们的内部。 另外,Clojure是一种动态类型化的语言:虽然有类型,但没有声明它们。

    一方面,该语言提供了基于合同的编程。 可以指定前置条件和后置条件:在运行时对它们进行评估。 这样的条件可以进行类型检查, 例如,参数是字符串,布尔值等吗? -甚至可以更进一步,类似于_dependent类型

    在计算机科学和逻辑中,从属类型是其定义取决于值的类型。 “整数对”是一种类型。 由于对值的依赖性,“第二对大于第一对的整数对”是从属类型。

    —维基百科
    https://zh.wikipedia.org/wiki/Dependent_type

    它是在运行时强制执行的,因此不能真正称为依赖类型。 但是,这是我所涉猎的语言中最接近的一种。

    之前,我曾详细地写过一个依赖于岗位的类型和基于契约的程序。

    长生不老药:模式匹配

    一些语言自称为提供模式匹配功能。 通常,模式匹配用于评估变量, 例如在Kotlin中:

    varstatusCode:Int
    valerrorMessage=when(statusCode){
      401->"Unauthorized"
      403->"Forbidden"
      500->"Internal Server Error"
      else->"Unrecognized Status Code"
    }

    此用法是类固醇的转换语句。 但是,通常,模式匹配的应用范围更加广泛。 在以下代码段中,将检查第一个常规的HTTP状态错误代码,如果未找到,则默认为更通用的错误消息:

    valerrorMessage=when{
      statusCode==401->"Unauthorized"
      statusCode==403->"Forbidden"
      statusCode-400<100->"Client Error"
      statusCode==500->"Internal Server Error"
      statusCode-500<100->"Server Error"
      else->"Unrecognized Status Code"
    }

    不过,它是有限的。

    Elixir是一种在Erlang OTP上运行的动态类型化语言,将模式匹配提升到了一个全新的水平。 Elixir的模式匹配可用于简单的变量解构:

    {a,b,c}={:hello,"world",42}

    将为a分配:hello ,向b分配“ world”,向c分配42。

    它也可以用于集合的更高级的分解:

    [head|tail]=[1,2,3]

    head将被分配为1,而tail将被分配为[2, 3]

    然而,对于函数重载甚至更是如此。 作为一种功能语言,Elixir没有用于循环的关键字( forwhile ):循环需要使用递归实现。

    例如,让我们使用递归来计算List的大小。 在Java中,这很容易,因为有一个size()方法,但是Elixir API没有提供这种功能。 让我们以Elixir方式伪代码实现它-使用递归。

    publicintlengthOf(List<?>item){
      returnlengthOf(0,items);
    }
    
    privateintlengthOf(intsize,List<?>items){
      if(items.isEmpty()){
        returnsize;
      }else{
        returnlengthOf(size+1,items.remove(0));
      }
    }

    这可以几乎逐行转换为Elixir:

    deflength_of(list),do:length_of(0,list)
    
    defplength_of(size,list)do
      if[]==listdo
        size
      else
        [_|tail]=list (1)
        length_of(size+1,tail)
      end
    end
    1. 模式匹配与可变解构。 头值分配给_变量,这意味着以后无法引用它-因为它没有用。

    但是,如前所述,Elixir模式匹配也适用于函数重载。 因此,写Elixir的名义方法是:

    deflist_len(list),do:list_len(0,list)
    
    defplist_len(size,[]),do:size (1)
    defplist_len(size,list)do (2)
      [_|tail]=list
      list_len(size+1,tail)
    end
    1. 如果列表为空,则调用此函数
    2. 否则调用此函数

    请注意,模式是按照声明的顺序进行评估的:在上面的代码段中,Elixir首先评估具有空列表的函数,并且仅在不匹配的情况下评估第二个函数, 列表不为空。 如果要以相反的顺序声明函数,则每次都会在非空列表上进行匹配。

    Python:理解

    Python是一种动态类型的趋势语言。 就像Java中一样,Python通过for关键字提供循环。 以下片段循环遍历集合中的所有项目,并逐一打印它们。

    fornin[1,2,3,4,5]:
      print(n)

    要收集新集合中的所有项目,可以创建一个空集合,然后将每个项目添加到循环中:

    numbers=[]
    fornin[1,2,3,4,5]:
      numbers.append(n)
    print(numbers)

    但是,可以使用漂亮的Python功能: 进行理解 尽管它与标准循环使用相同的for关键字,但是for comprehension是实现相同结果的功能构造。

    numbers=[nfornin[1,2,3,4,5]]
    print(numbers)

    上一个代码段的输出为[1, 2, 3, 4, 5]

    也可以变换每个项目。 例如,以下代码片段将计算每个项目的平方:

    numbers=[n**2fornin[1,2,3,4,5]]
    print(numbers)

    输出[1, 4, 9, 16, 25]

    理解的好处是可以使用条件句。 例如,以下代码段将仅过滤偶数项,然后将它们平方:

    numbers=[n**2fornin[1,2,3,4,5]ifn%2==0]
    print(numbers)

    输出为[4, 16]

    最后,为了理解,允许使用笛卡尔积。

    numbers=[a:nfornin[1,2,3]forain['a','b']]
    print(numbers)

    将会输出[('a', 1), ('b', 1), ('a', 2), ('b', 2), ('a', 3), ('b', 3)]

    上面的理解也称为列表理解,因为它们旨在创建新列表。 地图理解非常相似,旨在创建...地图。

    结论

    尽管Java是一门不断发展的语言,但这是一件好事。 但是,其他语言中发现的方法也值得研究。 请记住,一种语言构成了人们对问题的思考方式以及解决方案的设计方式。 学习或至少熟悉其他语言是考虑其他观点的好方法。

    翻译自: https://blog.frankel.ch/six-interesting-features-programming-languages/

    c语言 有趣简单编程

    展开全文
  • 程序代码c语言

    2015-10-30 16:38:57
    C语言程序设计很有趣,改编成是关于c语言的简单编写,方法无所谓,精神很重要!
  • 所谓自打印程序是指这样一个程序A:当A编译运行后,其运行结果就是将A程序代码输出出来。...下面是一个C语言的实现,print-me.c源程序如下: int main(){char *me="int main(){char *me=%c

    所谓的自打印程序是指样一个程序A:当A编译运行后,其运行结果就是将A程序的源代码输出出来。

    乍看这个问题,很容易直接想到的方法就是通过读文件的方法将其源代码打印出来。但是如果限定仅仅用C的printf函数,不用其他的函数,该如何处理呢

    下面是一个C语言的实现,print-me.c的源程序如下:

    int main(){char *me="int main(){char *me=%c%s%c;printf(me,34,me,34);}";printf(me,34,me,34);}

    编译运行如下:

    [root@jocks asm80]# gcc print-me.c -o print-me

    [root@jocks asm80]# ./print-me

    int main(){char *me="int main(){char *me=%c%s%c;printf(me,34,me,34);}";printf(me,34,me,34);}

    简单说明:

    34是双引号”的ASCII的十进制表示

    程序的主体就是最后的printf(me,34,me,34)语句,其第一个参数me是格式化输出的控制串。随后的

    34,me,34

    要输出的三个参数,个34在格式串me的%c的位置输出两个双引号”中间的me为在%s的位置输出

    整个me字符串。理解了printf输出时的参数扩展的过程就基本理解了这个打印程序的意义了,关于printf(me,34,me,34)的参数扩展用下图说明就一目了然了

    --本文结束--


    展开全文
  • 我是新学c语言的今天发现了个问题。。 ``` #include main(){ int i; i=getchar(); i=i+'5'; printf("%d",i); } ``` 当i=5时候,它输出结果为:106 代码改为: ``` #include main(){ int i;...
  • C语言编程方法来实现我们在生活中经常玩到一个猜数字小游戏(1到100数字),其主要玩法就是我们编写出一个程序,起先计算机会先自动生成一个数,这个数也就是我们需要去才对数,然后玩家在这个程序执行...

    猜数字

     

     

    规则介绍

    算法思想

    游戏重点

    代码实现

    结果展示

    总结


    规则介绍

    C语言编程的方法来实现我们在生活中经常玩到的一个猜数字小游戏(1到100的数字),其主要玩法就是我们编写出一个程序,起先计算机会先自动生成一个数,这个数也就是我们需要去才对的数,然后玩家在这个程序的执行开始后先输入一个数,拿这个猜的数与计算机生成的数进行比较,如果玩家输入的数比计算机生成的数字大,那么屏幕会输出“猜大了”三个字,如果玩家输入的数比计算机生成的数字小,那么屏幕会输出“猜小了”三个字,一直这样来来回回的猜下去,直到玩家猜的数字与计算机生成的数字相同屏幕输出“恭喜你,猜对了”这几个字时游戏结束。.

     

    算法思想

    这个猜数字游戏的核心是要用到二分查找的方法和思想,二分查找也叫折半查找,它是一种效率较高的查找方法,但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。也就是说使用二分查找的前提是这个数组必须是有序的,它可以是从小到大排序,它也可以是从大到小排序。

     

    游戏重点

    (1)让电脑每次生成的随机数不一样,就要用到srand()函数即srand((unsigned int)time(NULL)),头文件得用<time.h>

    (2)time函数以及它的使用方法,其中time的返回值是一个time_t类型,本质上是一个unsigned long long(表示八个字节的无符号长整形)

    (3)srand的函数参数是一个unsigned int(四个字节),虽然两者在转换的时候会出现四个字节丢失的情况,但是也不影响我们的目标,我们想要的并不是一个准确的时间只要它的种子不同即可。所以这个我们用到了强制转换,也就是在time前面加上一个(unsigned int),意思就是告诉计算机虽然结果有风险,但是这个风险我们自己负责,这个风险在我们的承受范围之内。

     

    代码实现

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>//猜数字游戏
    #include<time.h>
    #include<stdlib.h>
    menu()
    {
    	printf("****************\n");
    	printf("******1.play****\n");
    	printf("******2.exit****\n");
    	printf("****************\n");
    
    
    }
    void game()
    {
    	int guess = 0;
    	int num = rand() % 100 + 1;//产生1到100的随机数
    
    
    	while (1)
    	{
    		printf("请输入猜的数字:\n");
    		scanf("%d", &guess);
    		if (num < guess)
    		{
    			printf("猜大了\n");
    		}
    		else if (num > guess)
    		{
    			printf("猜小了\n");
    		}
    		else
    		{
    			printf("猜对了\n");
    			break;
    		}
    	}
    
    
    
    
    }
    int main()
    {
    	int input = 0;
    	srand((unsigned int)time(NULL));
    	do
    	{
    		menu();
    		printf("请选择:");
    		scanf_s("%d", &input);
    		switch (input)
    		{
    		case 1:
    
    			game();
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,重新输入\n");
    			break;
    
    
    
    
    
    
    		}
    	} while (input);
    	return 0;
    }

    结果展示

    你看我们成功了!!

    总结

    猜数字游戏是对分支和循环语句的简单运用,我们要明白的是电脑内部采用了二分法实现数字的比较,使用随机函数rand()实现了数字的随机,在猜的过程中我们不能将电脑给的数每次都随机,这样我们很难猜对。猜数字对于那些还没入门或者刚刚入门的新手来说是一个不错的入门测试,也是必须要会的。大家不要因为代码简单而不去关注,正是因为这种简单的东西我们没掌握,所以后面难的东西我们才学不好。我们要打好基础,慢慢积累,日后才能成为一个大佬,一起加油同志们!!别忘了给我一键三连哈

     

     

     

     

     

     

     

     

     

     

    展开全文
  • C语言实战105例原代码

    2012-10-19 12:41:05
    由易到难105个C语言例子源码,开始简单有趣,主要是C基本知识,后来涉及病毒、信息管理系统、linux平台等,适合初学者迅速成为C语言高手,也适合C语言爱好者研究。
  • <br />  曾经有人这样说过...闲话不多说,让我们来看一个关于指针操作的简单有趣例子: <br /> 部分代码如下: <br />  #include <br /> void process_keys12 (int * key1,
  • 判断素数算法要求算法思路编译环境方法一:试除法方法二方法三方法4总体代码 算法要求 实现一个函数,判断一个数是不是素数。...最简单直接办法,挨个试。从1开始逐个遍历到数字本身。代码实现:
  • 扫雷游戏是一个十分经典...我们只需让玩家输入坐标就可以扫雷,是不是不同于我们平时玩的扫雷,这样的扫雷是会很有趣的,接下来我们需要用几个模块来模拟游戏规则,然后通过调用函数来使整个代码成功运行。 1.创建地图
  • 题目来自网友分享:腾讯算法面试题 算法与代码 题目如下: 给你10分钟时间,根据上排给出十...题目是比较简单的,我用C语言实现如下(引文中有java实现),其中输出中间过程结果,最后输出总次数: #include
  • 首先我们先来看一个有趣的C语言代码,猜猜输出结果:#include&lt;stdio.h&gt;int main() { int i = 43; printf(&quot;%d\n&quot;, printf(&quot;%d&quot;, printf(&quot;%d&quot;...
  • C语言实例解析精粹源代码

    热门讨论 2009-09-20 03:39:01
    039 简单的文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序...
  • 039 简单的文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 ...
  • 首先我们需要建立一个game.h头文件,以及game.c和test.c两个源文件,进行代码的编写。 game.h #ifndef __GAME_H__ #define __GAME_H__ #include <stdio.h> #include <time.h> #include <stdlib.h&...
  • C语言代码实例.rar

    2009-08-27 20:17:58
    039 简单的文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序...
  • C语言简单实现三子棋(井字棋)小游戏

    千次阅读 多人点赞 2018-04-10 18:15:24
    C语言学习过程中会有很多有趣的实践小程序需要大家编写,这里带给大家一个常见的三子棋小游戏的代码。如果有不足之处,还望指出,感谢浏览。 框架 这里给刚开始学习或接触C语言的小伙伴分享一点我个人的经验,...
  • 039 简单的文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序...
  • 初识c语言

    2021-03-03 21:55:19
    本人大一,寒假期间在b站自学c语言教程,已初步了解c语言并初步学习了有关内容,能写出一些简单的代码,觉得编程很有趣,希望未来能成为一个程序员,在这里做一个总结。 首先我安装了编译器VS2019,之后学习了计算机...
  • 第一个C语言小游戏

    千次阅读 多人点赞 2020-11-29 22:07:34
    大家好,我是一位大一小白,之前并没有想到我会和编程打交道,接触C语言后,我才发现C语言如此有趣,今天,我终于成功完成第一个C语言小游戏------石头剪刀布。虽然代码简单,没有什么技术含量,但是希望各位大佬...
  • 039 简单的文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序...
  • 利用c语言代码打印一个心形(带立体感)

    万次阅读 多人点赞 2016-01-26 17:16:26
    在我们IT行业每天面对的就是敲代码,所以很多人无法接受这份工作,因为很无聊也很枯燥,长期工作会使人情绪低落,其实我们编程很多时候也有有趣的地方,接下来我就用一个简单c语言作图来缓解一下气氛。 源程序: ...
  • 该资料是《C语言入门经典(第4版)》代码及课后练习答案 对应书籍资料见: C语言入门经典(第4版) 基本信息 原书名: Beginning C: From Novice to Professional, Fourth Edition 原出版社: Apress 作者: ...
  • 039 简单的文本编辑器 040 文件字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序...
  • 笑脸的代码

    2014-08-17 22:28:02
    简单有趣的易懂的一个C语言编写的源代码
  • C语言实例解析精粹(第二版) 光盘代码 本文件包括以下内容: ※ 1、文件说明 ※ 2、源码操作说明 ※ 3、光盘目录清单 ◎ 源码操作说明 源代码使用方法是(以实例1为例): 将该实例源码,比如实例11.c文件(可以...
  • C语言实例解析精粹(第二版) 电子书及源代码 附清晰版电子书及源代码 第一部分 基础篇 实例1 第一个C程序 实例2 运行多个源文件 实例3 求整数之积 实例4 比较实数大小 实例5 字符输出 实例6 显示变量所占...
  • C语言实例解析精粹 第一版 电子书及源代码 200 C 程序 第一部分 基础篇 001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符输出 006 显示变量所占字节数 007 自增/自减运算 ...
  •  书中以具体实例为线索,特别注重对例题分析、对知识点归纳、对求解方法引申,同时程序代码中融会了c语言的各种编程技巧,条理清晰,以方便读者举一反三,开发出符合特定要求程序。本书配套光盘中涵盖...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 132
精华内容 52
关键字:

c语言简单有趣的代码

c语言 订阅