不用指针时,swap(a,b)分别将a和b的值传递给形参变量x和y,其中实参a,b和形参x,y分别占用不同的内存单元,大数和小数的交换是在x,y之间发生的,交换之后x和y标识的内存单元就被释放掉了,因此a和b标识的内存单元当中分别还是原来的数。当用了指针时,swap(p,q)表示将内存单元a和b的地址作为实参,传递给形参变量x和y,此时x,y和p,q中存放的都是a和b的地址,也就是x和p指向变量a所标识的内存单元,y和q指向变量b所标识的内存单元,然后数据交换在x,和y之间进行,由于形参和实参都指向相同的单元,也就是直接交换内存单元a和b的值,所以最终可以达到按序输出地目的。
import javaawtBorderLayout;
import javaawtColor;
import javaawtGraphics;
import javaawtGraphics2D;
import javaawtgeomEllipse2D;
import javautilTimer;
import javautilTimerTask;
import javaxswingJComponent;
import javaxswingJFrame;
import javaxswingJLabel;
import javaxswingJOptionPane;
@SuppressWarnings("serial")
public class demo extends JFrame{
static double i=20,m=20,n=20,h=20,o=20,l=20;
static JLabel label;
static String string;
static int horse,p;
/
@param args the command line arguments
/
public static void main(String[] args) {
// TODO code application logic here
string = JOptionPaneshowInputDialog(null,"1到6号马,请输入您的参赛马的序号:");
horse = IntegerparseInt(string);
demo frame = new demo();
label = new JLabel("赛马游戏");
framesetTitle("赛马游戏");
framesetSize(810,250);
framesetLocation(100, 100);
framesetLayout(new BorderLayout());
framesetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);
framesetResizable(false);
frameadd(label,BorderLayoutNORTH);
font ff = new font();
frameadd(ff);
framesetVisible(true);
}
static public class font extends JComponent{
public font(){
task task = new task();
Timer t = new Timer();
tschedule(task, 1000,200);
}
@Override
public void paintComponent(Graphics g){
Graphics2D g1 = (Graphics2D) g;
g1setPaint(ColorRED);
for(int f=1,i=40;i<=140;i+=20,f++){
g1drawString(f+":", 10, i);
g1drawLine(30, i, 800, i);
}
Ellipse2D e = new Ellipse2DDouble(i,20,20,20);
g1setPaint(ColorRED);
g1draw(e);
g1fill(e);
Ellipse2D e1 = new Ellipse2DDouble(m,40,20,20);
g1setPaint(ColorBLUE);
g1draw(e1);
g1fill(e1);
Ellipse2D e2 = new Ellipse2DDouble(n,60,20,20);
g1setPaint(ColorGREEN);
g1draw(e2);
g1fill(e2);
Ellipse2D e3 = new Ellipse2DDouble(h,80,20,20);
g1setPaint(ColorBLACK);
g1draw(e3);
g1fill(e3);
Ellipse2D e4 = new Ellipse2DDouble(o,100,20,20);
g1setPaint(ColorYELLOW);
g1draw(e4);
g1fill(e4);
Ellipse2D e5 = new Ellipse2DDouble(l,120,20,20);
g1setPaint(ColorCYAN);
g1draw(e5);
g1fill(e5);
g1setPaint(ColorBLACK);
g1drawLine(800, 20, 800, 200);
repaint();
}
class task extends TimerTask {
@Override
public void run() {
i+=Mathrandom()10;
m+=Mathrandom()10;
n+=Mathrandom()10;
h+=Mathrandom()10;
o+=Mathrandom()10;
l+=Mathrandom()10;
if((i>=780)||(m>=780)||(n>=780)||(h>=780)
||(o>=780)||(l>=780)){
if((i>=780)==true){
p=1;
}else{
if((m>=780)==true){
p=2;
}else{
if((n>=780)==true){
p=3;
}else{
if((h>=780)==true){
p=4;
}else{
if((o>=780)==true){
p=5;
}else{
if((l>=780)==true){
p=6;
}
}
}
}
}
}
if(p==horse){
JOptionPaneshowMessageDialog(null, "恭喜您,您买的"+horse+"号马赢了!");
}else{
JOptionPaneshowMessageDialog(null, p+"号马赢了! 您选择的 "+horse+"号马输了!");
}
Systemexit(0);
}
}
}
}
}
这个是我自己写赛马游戏我感觉挺好玩的反正就此猜呗嘿嘿
最开始学c++,第一个遇到的程序一般都为
#include <iostream>
using namespace std;
int main()
{
cour<<"hollo,world!"<<endl;
return 0;
}
再接着就是如比较两个数大小的(略)
下面给你一个比较简单的判断某年某月某日是本年的第几天:
#include <iostream>
using namespace std;
int dayfun (int nowyear,int nowmonth,int nowday)
{
bool isrunnian=(((nowyear%4==0)&&(nowyear%100!=0))||(nowyear%400==0));
int whichday=0;
for (int i=1;i<nowmonth;i++)
{
switch(i){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
{whichday+=31;break;}
case 4: case 6:case 9: case 11:
{whichday+=30;break;}
case 2:
if(isrunnian==true)
{whichday+=29;break;}
else
{whichday+=28;break;}
}
}
return whichday+nowday;
}
int main()
{
int nowyear,nowmonth,nowday,ff=0;
cout<<"请输入一个日子:"<<endl;
cout <<"year=";
cin>>nowyear;
cout<<"month=";
cin>>nowmonth;
cout<<"day=";
cin>>nowday;
ff=dayfun(nowyear,nowmonth,nowday);
cout<<nowmonth<<"月"<<nowday<<"日"<<"是"<<nowyear<<"年的第"<<ff<<"天"<<endl;
return 0;
}
应该还行吧
易语言概述
一.易语言简介
易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。易语言降低了广大电脑用户编程的门槛,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。易语言汉语编程环境是一个支持基于汉语字、词编程的、全可视化的、跨主流 *** 作系统平台的编程工具环境;拥有简、繁汉语以及英语、日语等多语种版本;能与常用的编程语言互相调用;具有充分利用API,COM、DLL、OCX组件,各种主流数据库,各种实用程序等多种资源的接口和支撑工具。易语言有自主开发的高质量编译器,中文源代码被直接编译为CPU指令,运行效率高,安全可信性高;拥有自己的数据库系统,且支持访问现有所有数据库;内置专用输入法,支持中文语句快速录入,完全解决了中文输入慢的问题;易语言除了支持界面设计的可视化,还支持程序流程的即时可视化;除了语句的中文化之外,易语言中还专门提供了适合中国国情的命令,如中文格式日期和时间处理、汉字发音处理、全半角字符处理、人民币金额的处理等;易语言综合采用了结构化、面向对象、组件、构架、集成化等多种先进技术,并在运行效率、性能价格比、全可视化支持、适应本地化需要、面向对象以及提供Windows,Linux上的运行平台等具有特色;现有各种支持库多达40多个,户可以使用她来满足几乎所有的Windows编程需求,多媒体功能支持强大,完善的网络、端口通讯和互联网功能支持,网上与论坛上的学习资源众多。在易语言及其编译器的设计与实现、可视化汉语编程的构建、提供多种语言版本等方面具有创新。目前易语言已取得国家级鉴定,鉴定会专家一致认为:易语言在技术上居于国内领先地位,达到了当前同类产品的国际先进水平。
二.易语言的文化背景
中华民族拥有五千年文化历史,民族文化源远流长,从黄帝开始即结节记事,后仓颉造字,从而有了文字,在秦朝即统一了文字,那时的文字是篆书,后一步一步发展成为隶书、楷体等。
中国计算机应用的发展在经过 *** 作系统汉化显示环境,中文输入法的两次较大跨越后,正经历一个重要的历史时期:中文化编程已成为当务之急。
英文编程软件只能使用英文输入程序代码,并且需要用户掌握大量专业英文术语,这是国人难以进入软件开发大门的根本所在!
而且国人的述事习惯与外国人的语法习惯还有很大区别,如外国人表示"按顺序排 从大到小方式",而中国人的表达方式为:"按从大到小方式顺序排"或简称"按升序排"。外国人的语法大多数是与中国人不同的,再加上英文有多种语态,有时间动词,有不同的复数形式,这在中国人学习外语上都不能很好的适应。更何况英文编程中大多数用大写缩写的方法表示一个概念、定义和变量,因此如果不了解的人是无从知道,而中文几个字即可简单表示了。中文具有比较明确的归类表达方式,如公交车、小汽车、自行车、吉普车均是行走的车辆,都与车有关,而英语每个事物都有一个不同的名词,不容易记忆,如BUS公交车,CAR小汽车,BIKE自行车,JEEP吉普车。因此这种方式如果套用到编程上,那么每个变量均用不同的代表,那样要记忆的词汇量就非常巨大了,有个对比,中国人只要掌握3000个字就能读名著,而外国人必须掌握30000个以上单词才能看明白报纸。因此小的记忆量可以适合在编程中只考虑方法,而不必过多地考虑语法、变量的名称等。而且由于中文是方块字,包含的信息量也大,能够见文知义。
通过以上,东西方文化的差异造成对编程学习上的很大区别,中文文化背景决定了中国人还是学自己的编程语言好。
三.易语言的特点与强大优势
1、全中文支持,全部自主知识产权
2、拥有自己的编译器
3、跨平台编程
4、拥有自己的数据库系统,且支持访问现有所有数据库。
5、内置专用输入法,支持中文语句快速录入
6、全可视化编程
7、中文本土化特色的支持
8、多种语言支持
9、可以与其它编程语言协作开发
10、支持世界先进编程技术
11、人机界面友好,集成化程序设计界面
12、代码即为文档、源程序格式统一
13、超强的程序编辑器
14、多媒体功能支持强大
15、完善的网络、端口通讯和互联网功能支持
16、支持调用API底层函数
17、支持标准外部OCX组件
18、可由易语言支持库无限扩充其功能
19、模块化开发
20、强大的学习与帮助系统
四.易语言具有的重要意义
由于易语言所特有的易学、易用、实用,在我国具有如下重要发展意义:
1、推动软件产业化
众所周知,印度之所以能够成为软件大国,与他们使用英文作为母语是分不开的。现在有了易语言,国人也能够使用自己的母语进行编程,并且所编写出来的源程序可以轻松通过系统附带工具翻译转换为任何一种外文,为我国实现软件产业化和软件批量出口,培养大量软件人才奠定坚实的基础。
2、提高社会生产率
现在很多各行各业具有丰富工作经验的人们苦于很难学会英文编程语言,从而无法将自己的工作经验通过计算机软件的形式表达出来。是让专业程序员来学习行业知识,还是让行业专家来学习软件开发,一直是一个很难解决的问题。现在有了易语言,行业专家也能轻松学会软件开发,从而能够将其工作经验彻底地体现到计算机软件中去,为他人和社会所用,提高社会生产率。
3、推广编程教育
邓小平同志曾经提到过:"计算机要从娃娃抓起"。现在有了易语言,不必要先去等待学生掌握足够多的英文知识,即可马上开始学习计算机编程。并且由于易语言支持现有的先进编程理念和技术,与现有其它编程语言能够相互融合贯通,是最好的编程教育工具。
4、保障国家安全
易语言是从最底层一步一步发展起来的,拥有全部自主知识产权和核心技术。推广应用易语言不会带来任何安全或后门隐患,并且可以为国家整体战略而作具体调整和更改。
5、配合国家整体发展战略
根据上一点和国家目前推广应用linux *** 作系统的战略决定,易语言现在已经支持对linux *** 作系统软件的开发,从而对丰富linux平台下的应用软件起到帮助作用,改变现行linux应用软件缺乏的问题。
6、发展自己的核心技术
在易语言中,拥有几项关键性的核心技术,譬如编译器技术、数据库技术等等,推广应用易语言能够让我们可以对其继续发展和完善,和国内同行互相交流学习,提高我国在这些关键领域的科技水平和竞争能力。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
但是我个人认为易语言有优有喜!首先它可以使中国人用中文编写一些东西其次它可以提高国民信息技术素质再次使中国的国家安全得到保障然而它还是实验商品技术还不够成熟请记住一句经典IT行话“真正的程序员用C”。
2011年
以上就是关于C语言高手进 关于两个数互换的经典程序全部的内容,包括:C语言高手进 关于两个数互换的经典程序、请问谁有JAVA的经典程序求!!!~~、求C++经典程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)