英语读音规则与拼法a|itte怎么读音

日语|日语翻译|日语在线翻译|日语学习|日语输入法|日语词典|日语教程|日语等级考试|学日语|日语一级|日语一级答案|日语一级报名|日语考试|小语种口语网
日语词汇,日语语法,日语对话,日语字母,日语发音,learn japanese(日本語) | japanese course| speak japanese | japanese Pronunciation | japanese alphabet 日语翻译 日语在线翻译 日语学习 日语输入法 学日语 日语学习网站 日语初级学习网站 基本日语学习 日语词典 日语学习网站 日语学习视频 日语学习软件 日语学习网 日语在线学习 如何学习日语 日语入门学习 日语学习方法 在线学日语 从零开始学日语 怎么学日语 怎样学日语 如何学日语 学日语视频 学日语的网站 快速学习日语的方法 自学日语学习网站
日语大概是当前人类所使用的语言中,最复杂的一种了。在日语里除了有平假名,片假名之外,还有英文字母(罗马字),汉字,与阿拉伯数码等等。这可能是因为日本人崇拜优势外国文化,并且虚心学习的缘故。 例如以前中国极兴盛的时期,日本人派遣唐使到中国学习,将中国整个文化复制至日本。平假名,片假名就是日本人从中国字里撷取较简单且容易书写的部分演变而成。平假名,片假名的功用类似英文本母。只要将不同的字母拼起来就可以变成一个单字了。平假名通常用来表示日本语及汉字。而片假名用来说明外来语所独有但日语没有的字。对日本人而言,中文不算外来语。
おはよう。早上好 |
こんにちは。 你好 |
よいお天気ですね。 天气真好。
字母与读音
日语视频学习资料
&纽约英语口语网-英语学习演示视频
ようこそ (yōkoso)
今日は (konnichiwa)
おっす (ossu) - 用于男性朋友之间
もしもし (moshi moshi) - 喂
我很好, 谢谢. 您哪?
お元気ですか? (o genki desu ka)
はい、元気です。あなたは? (hai, genki desu. anata wa?)
お蔭様で元気です (o kagesama de genki desu)
很久没见了
久しぶり (hisashiburi) お久しぶりですね (o hisashiburi desu ne)
你叫什么名字?
お名前はなんですか? (o-namae wa nan desu ka)
... だ (... da) (inf) ...です (... desu) (frm)
你是哪国人?
どこからですか (Doko kara desu ka?)
どちらからですか (Dochira kara desu ka?) - frm
私は ... からです (watashi wa ... kara desu)
很高兴见到你
初めまして (hajimemashite)
初めまして。どうぞ宜しく (hajimemashite. dōzo yoroshiku) reply
お会いできて嬉しいです (oaidekite ureshii desu)
お早うございます (ohayō gozaimasu) お早う (ohayō)
今日は (konnichiwa)
今晩は (konbanwa)
おやすみなさい (oyasumi nasai) おやすみ (oyasumi)
さようなら (sayōnara)
行って来ます (ittekimasu)
行ってらっしゃい (itterasshai)
じゃあまたね (jā mata ne)
ご幸運を祈ります! (gokoūn o inorimasu)
干杯/祝你健康
乾杯 (kanpai) lit. "dry glass"
良い一日を (Yoi ichinichi o)
祝你用餐愉快
どうぞめしあがれ (douzo meshiagare)
いただきます (itadakimasu) - 饭钱说
ご馳走さま (gochisōsama) - 饭后说
祝你一路顺风
よい旅行を (yoi ryokō o)
ごきげんよう!
行っていらっしゃい! (itte irasshai )
一路平安を祈る (ichiroheian o inoru)
わかりません (wakarimasen) わからない (wakaranai) - inf
请慢一点说
ゆっくり話してください (yukkuri hanashite kudasai)
请把这个写下来
書いてください (kaite kudasai)
你说土耳其语吗?
是的, 会一点
日本語を話しますか (Nihongo o hanashimasu ka?)
日本語が話せますか (Nihongo ga hanasemasu ka?)
日本語が出来ますか (Nihongo ga dekimasu ka?)
はい、話します (Hai, hanashimasu)
はい、話せます (Hai, hanasemasu)
はい、出来ます (Hai, dekimasu)
すみません! (sumimasen)
这个多少钱?
いくらですか (ikura desu ka?)
ごめんなさい! (gomen nasai)
どうも (dōmo)
ありがとう (arigatō)
ありがとうございます (arigatō gozaimasu)
どうもありがとう (dōmo arigatō)
どうもありがとうございます (dōmo arigatō gozaimasu)
どう致しましてどういたしまして (dō itashimashite)
厕所在哪里?
便所はどこですか。 (benjo wa doko desu ka)
トイレはどこですか。 (toire wa doko desu ka)
这位先生/女士付钱
この人が全部払います (konohito ga zembu haraimasu)
你愿意和我跳舞吗?
一緒に踊りませんか。 (isshoni odorimasenka?)
好きです (suki desu) 好きだ (suki da)
好きだよ (suki dayo) 大好きです (daisuki desu)
愛してるよ (aishiteru yo)
好きよ (suki yo) 愛してるわ (aishiteru wa) - 女士用
お大事に (odaiji ni)
.....用日语怎么说?
...を日本語で何と言いますか。 (...o nihongo de nanto īmasu ka?)
让我安静一下!
ほっといて! (hottoite!)
救命!着火了!
助けて! (tasukete!)
火事だ! (kaji da!)
快叫警察!
警察を呼んでください! (keisatsu o yonde kudasai!)
圣诞快乐,新年愉快
メリークリスマス (merī kurisumasu)
New Year greeting - 'Western' style
新年おめでとうございます (shinnen omedetō gozaimasu)
良いお年を (yoi otoshi o) - inf
良いお年をお迎え下さい (yoi otoshi o omukae kudasai) - frm
明けましておめでとうございます
(akemashite omedetō gozaimasu)
旧年中大変お世話になりました
(kyūnenjū taihen osewa ni narimashita)
本年もよろしくお願いいたします
(honnen mo yoroshiku onegai itashimasu)
复活节快乐
復活祭おめでとう (fukkatsusai omedetō)
イースターおめでとう (īsutā omedetō)
お誕生日おめでとうございます (otanjōbi omedetō gozaimasu)
会一种语言是永远不够的
一つの言語は決して十分ではない
(hitotsu no gengo wa keshite jūbun de wa nai)
日语 1 [一]
我和你 私 _ あ _ た
私とあなた
watashi to anata
我们两人 / 俩 私 _
watashi tachi
他和她 彼 _ 彼 _
kare to kanojo
他们两人 / 俩 彼 _
一个家庭 家 _
我的家庭 / 我的家人 私 _ 家 _
watashi no kazoku
我的家庭在这里 。 私 _ 家 _ は _ こ _ い _ す。
私の家族はここにいます。
watashi no kazoku ha koko ni i masu
我在这里。 私 _ こ _ に _ ま _ 。
私はここにいます。
watashi ha koko ni i masu
你在这里。 あ _ た _ こ _ に _ ま _ 。
あなたはここにいます。
anata ha koko ni i masu
他在这里和她在这里。 彼 _ こ _ に _ ま _ 。 _ し _ 彼 _ は _ こ _ い _ す。
彼はここにいます。そして彼女はここにいます。
kare ha koko ni i masu soshite kanojo ha koko ni i masu
我们在这里。 私 _ は _ こ _ い _ す。
私達はここにいます。
watashi tachi ha koko ni i masu
你们在这里。 あ _ た _ は _ こ _ い _ す。
あなた達はここにいます。
anata tachi ha koko ni i masu
他们都在这里。 彼 _ は _ こ _ に _ ま _ 。
彼らは皆ここにいます。
karera ha mina koko ni i masu
日语 2 [二]
祖父 / 外祖父 祖 _ / _ じ _ さ _
祖父 / おじいさん
sofu / ojiisan
祖母 / 外祖母 祖 _ / _ ば _ さ _
祖母 / おばあさん
sobo / obaasan
他和她 彼 _ 彼 _
kare to kanojo
父亲 父 / お _ さ _
父 / お父さん
chichi / otousan
母亲 母 / お _ さ _
母 / お母さん
haha / okaasan
他和她 彼 _ 彼 _
kare to kanojo
他和她 彼 _ 彼 _
kare to kanojo
哥哥 / 弟弟 兄 _
姐姐 / 妹妹 姉 _
他和她 彼 _ 彼 _
kare to kanojo
叔叔 / 伯父 / 叔父 / 舅父 / 姑父 お _
阿姨 / 婶婶 / 舅妈 / 姨妈 / 姑妈 お _
他和她 彼 _ 彼 _
kare to kanojo
我们是一个家庭 / 我们是一家人。 私 _ は _ 族 _ す。
私達は家族です。
watashi tachi ha kazoku desu
这是个不小的家庭。 家 _ は _ さ _ あ _ ま _ ん。
家族は小さくありません。
kazoku ha chiisaku ari mase n
这是一个大家庭。 家 _ は _ き _ で _ 。
家族は大きいです。
kazoku ha ookii desu
认识,相识
你好 / 喂! こ _ に _ は!
こんにちは!
konnichiha !
你好! こ _ に _ は!
こんにちは!
konnichiha !
你好吗 / 最近怎么样?(用于问候) お _ 気 _ す _ ?
お元気ですか?
o genki desu ka
您来自欧洲吗? ヨ _ ロ _ パ _ ら _ ら _ た _ で _ か?
ヨーロッパからこられたのですか?
yoroppa kara ko rare ta no desu ka
您来自美国吗? / 您从美洲来吗? ア _ リ _ か _ こ _ れ _ の _ す _ ?
アメリカからこられたのですか?
amerika kara ko rare ta no desu ka
您来自亚洲吗? ア _ ア _ ら _ ら _ た _ で _ か?
アジアからこられたのですか?
ajia kara ko rare ta no desu ka
您住在哪一个宾馆? ど _ ら _ ホ _ ル _ お _ り _ す _ ?
どちらのホテルにお泊りですか?
dochira no hoteru ni o tomari desu ka
您在这里已经多久了? こ _ ら _ は _ う _ れ _ ら _ ご _ 在 _ す _ ?
こちらにはもうどれくらいご滞在ですか?
kochira ni ha mou dore kurai go taizai desu ka
您要停留多久? ど _ く _ い _ 滞 _ の _ 定 _ す _ ?
どれくらいご滞在の予定ですか?
dore kurai go taizai no yotei desu ka
您喜欢这里吗? こ _ は _ に _ り _ し _ か?
ここは気に入りましたか?
koko ha kiniiri mashi ta ka
您在这里度假吗? こ _ ら _ は _ 暇 _ す _ ?
こちらでは休暇ですか?
kochira de ha kyuuka desu ka
欢迎您到我这儿来! 一 _ 来 _ く _ さ _ 。
一度来てください。
ichido ki te kudasai
这是我的住址。 こ _ が _ の _ 所 _ す。
これが私の住所です。
kore ga watashi no juusho desu
我们明天见面吗? 明 _ 会 _ ま _ か?
明日会えますか?
ashita ae masu ka
我很抱歉, 我已有安排了。 残 _ な _ ら _ 日 _ 先 _ が _ り _ す。
残念ながら明日は先約があります。
zannen nagara ashita ha senyaku ga ari masu
再见! バ _ バ _ !
バイバイ!
再见! さ _ う _ ら!
さようなら!
sayounara !
一会儿见! ま _ ね!
我们在哪里? こ _ は _ こ _ す _ ?
ここはどこですか?
koko ha doko desu ka
我们在学校里。 学 _ で _ 。
学校です。
gakkou desu
我们在上课。 授 _ が _ り _ す。
授業があります。
jugyou ga ari masu
这些是学生。 こ _ ら _ 生 _ で _ 。
こちらが生徒です。
kochira ga seito desu
这是女老师。 こ _ ら _ 先 _ で _ 。
こちらが先生です。
kochira ga sensei desu
这是班级 / 教室。 こ _ ら _ ク _ ス _ す。
こちらがクラスです。
kochira ga kurasu desu
我们做什么? 何 _ し _ す _ ?
何をしますか?
nani o shi masu ka
我们学习。 勉 _ を _ ま _ 。
勉強をします。
benkyou o shi masu
我们学习一门语言。 言 _ を _ い _ す。
言語を習います。
gengo o narai masu
我学习英语。 私 _ 英 _ を _ い _ す。
私は英語を習います。
watashi ha eigo o narai masu
你学习西班牙语。 あ _ た _ ス _ イ _ 語 _ 習 _ ま _ 。
あなたはスペイン語を習います。
anata ha supein go o narai masu
他学习德语。 彼 _ ド _ ツ _ を _ い _ す。
彼はドイツ語を習います。
kare ha doitsu go o narai masu
我们学习法语。 私 _ は _ ラ _ ス _ を _ い _ す。
私達はフランス語を習います。
watashi tachi ha furansugo o narai masu
你们学习意大利语。 あ _ た _ は _ タ _ ア _ を _ い _ す。
あなた達はイタリア語を習います。
anata tachi ha itaria go o narai masu
他们学习俄语。 彼 _ は _ シ _ 語 _ 習 _ ま _ 。
彼らはロシア語を習います。
karera ha roshia go o narai masu
学习语言是很有趣的。 語 _ を _ ぶ _ は _ 白 _ で _ 。
語学を学ぶのは面白いです。
gogaku o manabu no ha omoshiroi desu
我们要理解 / 听懂人们(讲话)。 私 _ は _ を _ 解 _ き _ よ _ に _ り _ い _ で _ 。
私達は人を理解できるようになりたいのです。
watashi tachi ha hito o rikai dekiru you ni nari tai no desu
我们想和人们说话 / 交谈。 私 _ は _ と _ を _ た _ の _ す。
私達は人と話をしたいのです。
watashi tachi ha hito to hanashi o shi tai no desu
国家和语言
约翰来自伦敦的。 ジ _ ン _ ロ _ ド _ 出 _ で _ 。
ジョンはロンドン出身です。
jon ha rondon shusshin desu
伦敦位于大不列颠。 ロ _ ド _ は _ ギ _ ス _ あ _ ま _ 。
ロンドンはイギリスにあります。
rondon ha igirisu ni ari masu
他讲英语。 彼 _ 英 _ を _ し _ す。
彼は英語を話します。
kare ha eigo o hanashi masu
玛丽亚来自马德里。 マ _ ア _ マ _ リ _ ド _ 身 _ す。
マリアはマドリッド出身です。
maria ha madoriddo shusshin desu
马德里位于西班牙。 マ _ リ _ ド _ ス _ イ _ に _ り _ す。
マドリッドはスペインにあります。
madoriddo ha supein ni ari masu
她讲西班牙语。  彼 _ は _ ペ _ ン _ を _ し _ す。
彼女はスペイン語を話します。
kanojo ha supein go o hanashi masu
彼得和马耳塔来自柏林 。 ピ _ タ _ と _ ル _ は _ ル _ ン _ 身 _ す。
ピーターとマルタはベルリン出身です。
pita to maruta ha berurin shusshin desu
柏林位于德国。 ベ _ リ _ は _ イ _ に _ り _ す。
ベルリンはドイツにあります。
berurin ha doitsu ni ari masu
你们两个都说德语吗? あ _ た _ は _ 人 _ も _ イ _ 語 _ 話 _ ま _ か?
あなた達は二人ともドイツ語を話しますか?
anata tachi ha ni nin tomo doitsugo o hanashi masu ka
伦敦是一个首都。 ロ _ ド _ は _ 都 _ す。
ロンドンは首都です。
rondon ha shuto desu
马德里和柏林也都是首都。 マ _ リ _ ド _ ベ _ リ _ も _ 都 _ す。
マドリッドとベルリンも首都です。
madoriddo to berurin mo shuto desu
首都都是又大又吵的。 首 _ は _ き _ て _ る _ い _ す。
首都は大きくてうるさいです。
shuto ha ookiku te urusai desu
法国位于欧洲。 フ _ ン _ は _ ー _ ッ _ に _ り _ す。
フランスはヨーロッパにあります。
furansu ha yoroppa ni ari masu
埃及位于非洲。 エ _ プ _ は _ フ _ カ _ あ _ ま _ 。
エジプトはアフリカにあります。
ejiputo ha afurika ni ari masu
日本位于亚洲。 日 _ は _ ジ _ に _ り _ す。
日本はアジアにあります。
nippon ha ajia ni ari masu
加拿大位于北美洲。 カ _ ダ _ 北 _ に _ り _ す。
カナダは北米にあります。
kanada ha hokubei ni ari masu
巴拿马位于中美洲。 パ _ マ _ 中 _ に _ り _ す。
パナマは中米にあります。
panama ha chuubei ni ari masu
巴西位于南美洲。 ブ _ ジ _ は _ 米 _ あ _ ま _ 。
ブラジルは南米にあります。
burajiru ha nanbei ni ari masu音节划分:ap?pe?tite
中频词,你记住了吗?
['aep?ta?t]
['aep??ta?t]
胃口,食欲;
嗜好,爱好
大家都在背:
1. There is nothing like a long walk to arouse the appetite.
没有什么比走很长的路更能激起食欲的了。
来自柯林斯例句
2. Symptoms are a slight fever, headache and loss of appetite.
症状包括低烧、头痛和食欲不振。
来自柯林斯例句
3. The public has an insatiable appetite for stories about the famous.
公众对名人有着难以满足的好奇心。
来自柯林斯例句
4. Lili had clearly regained her appetite but Doran was disinterested in food.
莉莉显然已经恢复了食欲,但多兰却提不起胃口。
来自柯林斯例句
5. Contrary to popular belief, moderate exercise actually decreases your appetite.
与通常的看法相反,适度的运动事实上会降低食欲。
来自柯林斯例句
永久的,永恒的,长期的 (per全部永久+pet追求,寻求+ual……的→追求永久的)
冲动的,鲁莽的 (impetus[n.推动[力],促进,冲动]+ous……的→impetuous冲动的)
竞争的;好竞争的;[价格等的]有竞争力的 (compete[v.比赛,竞争]+itive……的→adj.竞争的;好竞争的;[价格等的]有竞争力的)
开胃食品,开胃物 (appet=appetite胃口+izer东西→n.开胃食品,开胃物)
食欲,胃口;欲望,性欲;爱好,趣味 (ap一再+pet追求,寻求+ite表名词→一再追求→有胃口)
竞争, 竞赛 (compete[v.比赛,竞争]+ition表名词→n.竞争, 竞赛)
使永存,使永记不忘 (per全部,永久+pet追求,寻求+uate=ate表动词→追求永久)
[向…]请愿,正式请求 (pet追求,寻求+ition表名词→追寻状态→请愿[词性变化:可做动词])
讨好,抚慰 (pro前+piti=pet追求,寻求+ate表动词→追到前面去→获宠爱)
1. “欲望,渴望”释义下的同义词
其他释义下的同义词
胃口;食欲 Your appetite is your desire to eat.&
He has a healthy appetite...
他胃口很好。
Symptoms are a slight fever, headache and loss of appetite.
症状包括低烧、头痛和食欲不振。
强烈欲望;渴望 Someone's appetite for something is their strong desire for it.&
【搭配模式】:oft N for n
...his appetite for success.
他对成功的强烈渴望
...Americans' growing appetite for scandal...
美国人对丑闻日益增强的好奇心
She gave him just enough information to whet his appetite.
她向他透露的信息刚好能吊起他的胃口。
1. 欲望,强烈欲望
He was a person of gross sexual appetites.
他是个性欲旺盛的人。
2. 胃口, 食欲
The baby has a good appetite.
这个婴儿食欲很好。
1. a feeling
"an appetite for life"
"the object of life is to satisfy as many appetencies as possible"- Granville Hicks
1.食欲:一种天然欲望,尤指自然而反复的对食物的欲望
0){var rand = parseInt(Math.random() * (000)+100000);top.location.href='/'+encodeURIComponent(document.getElementById('s').value.trim().replace( / /g, '_'))+'?renovate='+}else{top.location.href='/'+encodeURIComponent(document.getElementById('s').value.trim().replace( / /g, '_'));};}" action="/">
查过的词自动加入生词本
Tip:此功能设置只能在登录状态下生效
需要改进的内容:
单词大小写
其他(请在下面补充描述)
错误描述:
您还可在这里补充说明下 O(∩_∩)O~
方便的话,请您留下一种联系方式,便于问题的解决:C++ 算法 - 荒乱的没日没夜。。。
- 博客频道 - CSDN.NET
1827人阅读
第3章 控制语句&
/* 1、打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153 = 13 + 53 + 33。 */&
#include&iostream.h&&
void main()&
int i, a=0, b=0, c=0;&
for(i=100;i&1000;i++)&
b=i/10%10;&
c=i/100%10;&
if(a*a*a+b*b*b+c*c*c==i)&
cout&&&i=&&&i&&&
/* 2、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6 = 1 + 2 + 3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面的格式输出其因子:&
6 -〉1,2,3 */&
#include&iostream.h&&
void main()&
int i,j,sum=0,a[50],k,t;&
for(i=1;i&=1000;i++)&
&&&&&&& for(j=1;j&i;j++)&
if(i%j==0)&
sum+=j;&
a[k++]=j;&
if(sum==i)&
cout&&i&&&-&&;&
for(k=0;k&t;k++)&
cout&&a[k];&
if(k&t-1)cout&&&,&;&
/* 3、求Sn=a+aa+aaa+…+aa…a之值,其中a是一个数字。例如:2+22+222+…+22222(此时n=5),n由键盘输入。*/&
#include&iostream.h&&
void main()&
double a,sn=0.0,sum=0.0;&
cout&&&please input a number&;&
&&& cout&&&please input n number&;&
&&& for(i=2;i&=n;i++)&
sum=sum*10+a;&
cout&&&Sn=&&&sn&&&
/* 4、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过了多少米?第10次反弹多高?*/&
#include&iostream.h&&
void main()&
double h1=100,h2=100,sum=0.0;&
for(i=1;i&=10;i++)&
sum+=h2;&
h1=h1/2.0;&
cout&&&sum=&&&sum&&&&& &&&&h1=&&&h1&&&
/* 5、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。*/&
#include&iostream.h&&
void main()&
int number,i;&
number=1;&
for(i=10;i&1;i--)&
number=(number+1)*2;&
cout&&&number=&&&number&&&
8.++程序中使用流格式输入、输出,我们可以怎么做?&
答:在程序的开头包含头文件iostream.h&
&&&& cin输入,cout输出。&
#include&iostream.h&&
void main()&
&& cout&&&请输入a的值:&;&
&& cin&&a;&
&& cout&&&a的值为:&&&a&&&
第4章 函数&
/* 1、写一函数用“气泡法”对输入的10个字符按由小到大的顺序排列。*/&
#include&iostream.h&&
void main()&
int i,j,temp,a[10];&
cout&&&please input ten numbers:\n&;&
for(i=0;i&10;i++)&
cin&&a[i];&
for(i=0;i&10;i++) //每循环一次确定数组中一个数的位置&
for(j=i+1;j&10;j++) //每次循环对比一个数的大小&
if(a[i]&a[j])&
temp=a[j];&
a[j]=a[i];&
cout&&&resort result=&;&
for(i=0;i&10;i++)&
cout&&a[i]&&& &;&
/* 2、用递归方法求n阶勒让得多项式的值,递归公式为&
&&&&&&&& 1 (n = 0)&
Pn(x) =& x (n = 1)&
&&&&&&&& ((2n-1)*x*Pn-1(x)-(n-1)*Pn-2(x))/n (n & 1) */&
#include&iostream.h&&
double fun (double,double);&
void main()&
double n,x,&
cout&&&input n and x&&&&
cin&&n&&x;&
sum=fun(n,x);&
cout&&&P&&&n&&&(&&&x&&&)&&&&=&&&sum&&&
double fun(double n1,double x1)&
if (n1==0)&
return 1;&
else if (n1==1)&
return& x1;&
else if (n1&1)&
return ((2*n1-1)*x1*fun(n1-1,x1)-(n1-1)*fun(n1-2,x1))/n1;&
/* 3、编写一函数,由实参传来一字符串,统计此字符串中字母、数字、空格、和其它字符的个数,并在主函数中输入字符串以及输出上述结果。 */&
#include&iostream.h&&
void judge(char a[]);&
void main()&
const int size=100;&
char a[size];&
cin.getline(a,size);&
judge(a);&
void judge(char a[100])//判断字符类型&
int letter=0,number=0,others=0,i=0;&
while(a[i]!='\0')&
if ((a[i]&='a'&&a[i]&='z')||(a[i]&='A'&&a[i]&='z')) letter++;//统计字母个数&
else if (a[i]&='0' && a[i]&='9') number++;//统计数字个数&
else others++;//统计其他数个数&
i++;&
cout&&&letter=&&&letter&&&& number=&&&number&&&& others=&&&others&&&
/* 4、给出年、月、日,计算该日是该年的第几天。 */&
#include&iostream.h&&
int lead(int);&
void main()&
int ly,year,month,date,i,sum=0;&
cout&&&input year、month、date: &;&
cin&&year&&month&&&
int a[12]={31,0,31,30,31,30,31,31,30,31,30,31};&
ly=lead(year);&
if (ly==1)&
a[1]=29;//366天&
else a[1]=28;//365天&
for(i=0;i&month-1;i++) //当前月之前所有月天数累加和&
sum+=a[i];&
sum+= //加上当前月天数&
cout&&&你输入的日期是当年的第&&&sum&&&天&;&
int lead(int y)//判断闰年&
if((y%4==0&&y%100!=0)||(y%400==0)) return 1;//是闰年&
else return 0;//不是闰年&
/* 5、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。 */&
#include&iostream.h&&
int cdivisor(int,int);&
int cmultiple(int,int,int);&
void main()&
int x,y,d,m;&
cout&&&input two number: &;&
cin&&x&&y;&
d=cdivisor(x,y);&
m=cmultiple(x,y,d);&
cout&&&common divisor is &&&d&&endl&&&common multiple is &&&m&&&
int cdivisor(int x1,int y1)//最大公约数&
if (x1&y1)&
while(x1%y1)//当较大数除以较小数余数等于0时,较小数为最大公约数&
return y1;&
int cmultiple(int x2,int y2,int d1)//最小公倍数&
return x2*y2/d1;//两数相乘结果除以它们的最大公约数为最小公倍数&
/* 6、写一函数,将两个字符串连接。 */&
#include&iostream.h&&
#include&string.h&&
void main()&
const int size=100;&
char a[size],b[size];&
cout&&&input two string:&&&&
cin.getline(a,size);&
cin.getline(b,size);&
strcat(a,b);&
cout&&&a=&&&a&&&
/* 7、写一函数,将一个字符串的元音字母复制到另一个字符串,然后输出。 */&
#include&iostream.h&&
#include&string.h&&
void scpy(char *,char *);&
void main()&
const int size=100;&
char a[size]=&Hello world&;&
char b[size]=&Net&;&
cout&&&a= &&&a&&&b= &&&b&&&
scpy(a,b);&
cout&&&a= &&&a&&&
void scpy(char *p,char *q)&
while(*q!='\0')&
if (*q=='a'||*q=='A'||*q=='e'||*q=='E'||*q=='i'||*q=='I'||*q=='o'||*q=='O'||*q=='u'||*q=='U')&
*p++=*q;&
q++;&
/* 8、写一函数,输入一个四位数字,要求输出这4个数字字符,但每两个数字间空一空格。如输入1990,应输出“1 9 9 0”。 */&
#include&iostream.h&&
#include&string.h&&
void outs(char a[]);&
void main()&
const int size=10;&
char a[size];&
cin.getline(a,size);&
void outs(char a[10])&
if(strlen(a)&=4)&
for(i=0;i&4;i++)&
cout&&a[i]&&& &;&
else cout&&&input error.&&&&
第5章&& 数组&
/* 1、将一个数组中的值按逆序重新存放,例如,原来顺序为:a、b、c、d。要求改为:d、c、b、a。 */&
#include&iostream.h&&
void back(char *);&
void main()&
char a[50]=&abcdefg&;&
cout&&&a=&&&a&&&
#include&iostream.h&&
void back(char *p)&
while(*p!='\0')&
p++;//把指针定位到字符串末尾&
i++;//统计字符个数&
cout&&&a=&;&
for(;i&0;i--)//逆序输出&
cout&&*p;&
/* 2、打印出杨辉三角形(要求打印出前15行)。(杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。) */&
#include&iostream.h&&
void tri(int a[][15]);&
void main()&
int i,j,a[15][15];&
cout&&&a= &;&
for(i=0;i&15;i++)//遍历整个数组&
for(j=0;j&=i;j++)&
cout&&a[i][j];&
if(a[i][j]&=1&&a[i][j]&=9)//当输出个位数之后输出4个空格保持整齐&
cout&&&&&& &;&
else if (a[i][j]&=10&&a[i][j]&=99)//当输出十位数之后输出3个空格保持整齐&
cout&&&&& &;&
else if(a[i][j]&=100&&a[i][j]&=999)//当输出百位数之后输出2个空格保持整齐&
& cout&&&& &;&
& else cout&&& &;//当输出百位数之后输出1个空格保持整齐&
cout&&endl&&&&& &;//每行输出结束后换行&
void tri(int a[15][15])&
for(i=0;i&15;i++)&
for(j=0;j&=i;j++)&
if(j==0||j==i)//三角形第一列和对角线被赋值为1&
a[i][j]=1;&
else a[i][j]=a[i-1][j-1]+a[i-1][j];//算出其余的数组元素&
/* 3、编一程序,将两个字符串连接起来,不要用strcat函数。 */&
#include&iostream.h&&
#include&string.h&&
void scat(char *,char *);&
void main()&
const int size=100;&
char a[size]=&Hello&;&
char b[size]=&Bye&;&
cout&&&a=&&&a&&&&& b=&&&b&&&
scat(a,b);&
cout&&&a=&&&a&&& after link a and b&&&&
void scat(char *p,char *q)&
while(*p!='\0')//确定数组a的插入位置&
p++;&
while(*q!='\0')&
p++;&
q++;&
/* 4、打印“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如:三阶魔方阵:&
&&&&& 8 1 6&
&&&&& 3 5 7&
&&&&& 4 9 2&
要求打印由1到n2的自然数构成的所有魔方阵。 */&
//方法一:输出N介魔方阵,但每介只输出一种。&
#include&iostream.h&&
void square(int a[][10],int k,int n);&
void main()&
int n,i,j,k,a[10][10]={0};&
cout&&&input an odd number:&&&&
k=n/2;//确定第一个数列数&
square(a,k,n);&
for(i=0;i&n;i++)&
for(j=0;j&n;j++)&
cout&&&\t&&&a[i][j];&
void square(int a[][10],int k,int n)&
for(i=1,j=0;i&=n*n;i++,j--,k++)//n为阶数,从1开始给数组赋值&
if(j&0&&k&=n)//当数组行列都越出范围时候,确定数组正确位置&
j+=2;k-=1;&
else if(j&0)//当数组行越出范围时候,确定数组正确位置&
j+=n;&
else if(k&=n)//当数组列越出范围时候,确定数组正确位置&
&&&&&&&&& k-=n;&
& else if(a[j][k]!=0)//当数组原位置有数时候,确定数组位置&
j+=2;k-=1;&
a[j][k]=i;&
//方法二:输出N介魔方阵所有魔方阵。&
#include &string&&
#include &iomanip&&
#include &iostream&&
void printA(int **p,int n)//输出这个n阶魔方阵&
cout&&endl&&&下面是一个&&&n&&&阶魔方阵:&&&&
for(i = 0;i &i++)&
for(j = 0;j &j++)&
cout&&setw(4)&&p[i][j];&
cout&&endl&&&
bool Judge(int **p,int n)//判断是否为n阶魔方阵&
int i,j,sum = 0,NowSum = 0;&
bool YesOrNo =&
for(j = 0;j &j++)//第一行总和&
sum += p[0][j];&
for(i = 1;i &i++)//判断每行总和是否相等&
NowSum = 0;&
for(j = 0;j &j++)&
NowSum += p[i][j];&
if(NowSum != sum)&
YesOrNo =&
goto END;&
for(i = 0;i &i++)//每列是否相等&
NowSum = 0;&
for(j = 0;j &j++)&
NowSum += p[j][i];&
if(NowSum != sum)&
YesOrNo =&
goto END;&
NowSum = 0;&
for(i = 0,j = 0;i & n,j &i++,j++)//主对角线是否相等&
NowSum += p[i][j];&
if(NowSum != sum)&
YesOrNo =&
goto END;&
NowSum = 0;&
for(i = n-1,j = 0;i &= 0,j &i--,j++)//次对角线是否相等&
NowSum += p[i][j];&
if(NowSum != sum)&
YesOrNo =&
goto END;&
return YesOrNo;&
void combination(int **p,int n,int *a)//求m = n*n个数(1,2,3.....m)的全排列&
int m = n*n;&
static int Num = 0;&
int *b_val = new int[m];&
int c = 0,k,i,j;&
b_val[c] = -1;//一维数组首地址的值赋-1 c[0]-1&
while(b_val[0] & m) //-1&
if(++b_val[c] & m) //分别从0开始累加每个元素值,并限制不超出最大阶数&
&&&&&&&&&&&&&& & //b[0]0 [1]0 [1]1 [2]0 [2]1 [2]2...[6]6...[7]0...[7]7 [8]0...[8]8 判断魔方 [8]9 &
&&&&&&&&&&&&&&&&&&&&& //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [7]8 [8]0...[8]7 判断魔方 [8]8 [8]9 &
& && //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [6]7...[7]0...[7]6&&&&&&& [8]8 &
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // && &&&& &
& && //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&& // &&&&
for(k = 0;k &k++) //是否与前面数字重复,如有重复元素跳出,否则使K下标等于C下标&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
if(b_val[k] == b_val[c])&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
if(k == c)//如果没有重复元素,就可以确定当前元素值,并继续排列下一个下标的数组元素&
if(c+1 & m) //1 2 3...7 8&& 如果不满足条件,则生成了一组排列方式,否则继续排列下一个元素&
&&&&&&&&&& //&&&&&&&&& 8&
++c; //1 2 3...7 8&
//&&&&&&&&& 8&
b_val[c] = -1;&
else& //生成了一组排列方式&
for(i = 0;i &i++)&
for(j = 0;j &j++)&
p[i][j] = a[b_val[++k]];//a[0]-a[8]&
//判断是否为n阶魔方阵&
if(Judge(p,n))&
printA(p,n);&
delete []b_&
void evaluate(int **p,int n)//给n阶方阵的元素赋值&
int *AllNum = new int[3*3];&
for(i = 1;i &= n*n;i++)&
AllNum[i - 1] =&
combination(p,n,AllNum);&
delete []AllN&
void main()&
int i,n,**a;&
//输入n阶方阵的阶数n&
cout&&&请输入n阶方阵的阶数n(退出程序按e或E键):&;&
if(!strcmp(s.c_str(),&e&) || !strcmp(s.c_str(),&E&))&
else if(s.find_first_not_of(&&) != string::npos)&
cout&&&请输入有效的数字,不能含有非数字的字符。&&&&
n = atoi(s.c_str());&
if(n & 1)&
cout&&&请输入有效的数字,必须 &= 1。&&&&
//分配内存&
a = new int*[n];&
for(i = 0; i & i++)&
a[i] = new int[n];&
cout&&&正在运算,请等待。。。。。。&&&&
//给n阶方阵的元素赋值&
evaluate(a,n);&
cout&&&运算结束!&&&&
for(i = 0; i & i++)&
delete []a[i];&
delete []a;&
}while(1);&
/* 5、求一个3x3矩阵对角线元素之和。*/&
#include&iostream.h&&
int dia(int a[][3]);&
void main()&
int i,j,sum,a[3][3]={2,3,5,6,2,3,1,9,0};&
cout&&&a= &;&
for(i=0;i&3;i++)&
for(j=0;j&3;j++)&
cout&&a[i][j];&
cout&&endl&&&&& &;&
sum=dia(a);&
cout&&&\nsum=&&&sum&&
int dia(int a[3][3])&
int i,j,sum=0;&
for(i=0;i&3;i++)//主对角线之和&
for(j=i;j&=i;j++)&
sum+=a[i][j];&
for(j=0;j&3;j++)//另一个对角线之和&
for(i=2-j;i&=2-j;i++)&
if(i!=j)//避免重复累加两个对焦向重合的元素&
sum+=a[i][j];&
//返回对角线员素之和&
/* 6、编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中。不用strcpy函数。拷贝时,‘\0’也要拷贝过去。 ‘\0’后面的字符不拷贝。*/&
#include&iostream.h&&
void scopy(char a[],char b[]);&
void main()&
char a[10];&
char b[10]=&Hello&;&
scopy(a,b);&
for(i=0;a[i]!='\0';i++)&
cout&&a[i];&
void scopy(char a[],char b[])&
for(i=0;b[i]!='\0';i++)&
a[i]=b[i];&
a[i]='\0';&
/* 7、用筛选法求100之内的素数。(所谓素数就是除了1和它本身以外,不能再被别的整数整除,这种数称作素数(也称质数)。)*/&
#include&iostream.h&&
void main()&
for(i=1;i&=100;i++)&
for(j=2;j&i;j++)//判断素数&
if(i%j!=0);&
//不是素数&
if(i==j)//相等为素数&
cout&&& &&&i;&
/* 8、用选择法对10个整数排序。*/&
#include&iostream.h&&
void csort(int a[10]);&
void main()&
int a[10]={6,4,2,7,9,0,1,6,3,0};&
for(i=0;i&10;i++)//输出原数组数据顺序&
cout&&a[i];&
csort(a);&
for(i=0;i&10;i++)//输出排序后的顺序&
cout&&a[i];&
void csort(int a[10])//排序&
int i,j,k,temp=0;&
for(i=1;i&10;i++)&
for(j=k+1;j&10;j++)//找出最小数的数组下标&
if(a[k]&a[j])k=j;&
temp=a[i];//把数放到正确位置&
a[i]=a[k];&
第6章&& 指针&
/* 1、在主函数中输入10个字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。(用指针实现)*/&
#include&iostream.h&&
void psort(int *p);&
void main()&
int i,a[10];&
cout&&&please input ten numbers:\n&;&
for(i=0;i&10;i++)&
cin&&a[i];&
psort(a);&
cout&&&resort result=&;&
for(i=0;i&10;i++)&
cout&&a[i]&&& &;&
void psort(int *p)&
for(i=0;i&10;i++) //每循环一次确定数组中一个数的位置&
for(j=i+1;j&10;j++) //每次循环对比一个数的大小&
if(p[i]&p[j])&
temp=p[j];&
p[j]=p[i];&
/* 2、输入一个字符串,内有数字和非数字字符,如A123x456 jhlkll&
将其中连续的数字作为一个整数,依次存放到一数组a中,统计共有多少个整数,并输出这些数。*/&
#include&iostream.h&&
#include&string.h&&
#include &windows.h&&
int charge(int *,char *);&
void main()&
int a[50],i,&
char b[50];&
cout&&&please input a character string:&&&&
cin.getline(b,50);&
system(&cls&);&
cout&&&your character string is &;&
cout.write(b,strlen(b))&&&
numb=charge(a,b);&
for(i=0;i&i++)&
cout&&& a[&&&i&&&]=&&&a[i];&
cout&&endl&&&total numbers=&&&numb&&&
int charge(int *q,char *p)//*q指向新数组,*p指向初始数组&
int numb=0;&
for(;*p!='\0';p++)//判断每个字符&
if(*p&='0'&&*p&='9')&
*q=(*p)-'0';//将字符型整数转换成整型整数赋值给新数组&
p++;&
while(*p&='0'&&*p&='9')//判断是否有连续字符型整数&
*q=(*q)*10+((*p)-'0');//将连续字符型整数转换成一个整型整数赋值给新数组&
p++;&
q++;&
numb++;//统计整数的个数&
/* 3、用指向指针的指针的方法对5个字符串排序并输出。*/&
#include &iostream.h&&
#include &string.h&&
void sort(char **str);&
void main()&
char *string[5];&
cout&&&输入5个字符串:&&&&
for(i=0;i&5;i++)&
string[i] = new char[10];&
cin.getline(*(string+i),50);&
sort(string);&
for(i=0;i&5;i++)&
delete [] string[i];&
void sort(char **str)&
int i=0,j;&
char *p=0;&
for(i=0;i&4;i++)&
for(j=i+1;j&5;j++)&
if(strcmp(*(str+i),*(str+j))&0)&
p=*(str+i);&
*(str+i)=*(str+j);&
*(str+j)=p;&
cout&&&after sort the chars :&&&&
for(i=0;i&5;i++)&
cout&&*(str+i)&&&
/* 4、统计一字符串在另一个字符串中出现的次数。*/&
#include&iostream.h&&
#include&string.h&&
int change(char *,char *);&
void main()&
char a[10]=&dog&;&
char b[20]=&sdlkdogsddydodog&;&
cout.write(a,10)&&&
cout.write(b,20)&&&
sum=change(a,b);&
cout&&&sum=&&&sum&&&
int change(char *p,char *q)&
&&& int sum=0,i=0;&
while(*q!='\0')&
while(*p==*q&&*p!='\0')//对比是否含有相等字符串&
*p++;&
*q++;&
i++;&
if(*p=='\0')&
sum+=1;//含有字符串个数&
p=p-i;//第一个字符串重新定位&
q=q-i;//第二个字符串重新定位&
i=0;//重新累加移动次数&
q++;&
/* 5、有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.n和m从键盘输入。*/&
#include&iostream.h&&
#include&string.h&&
void charge(int a[],int,int);&
void main()&
int i,n,m,a[50];&
cout&&&请输入n的值:&;&
cout&&&请输入移动位数:&;&
cout&&&请输入整数:&;&
for(i=0;i&n;i++)&
cin&&a[i];&
cout&&&您输入的整数为:&;&
for(i=0;i&n;i++)&
cout&&a[i]&&& &;&
charge(a,n,m);&
cout&&&移动后的整数为:&;&
for(i=0;i&n;i++)&
cout&&a[i]&&& &;&
void charge(int a[],int n, int m)//n为整数个数,向右移动m个位置&
for(j=0;j&m;j++)//移动m个位置&
for(i=n-1;i&=0;i--)//移动一个位置就要移动每一个数组元素&
a[i+1]=a[i];&
a[0]=a[n];&
/* 6、有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。*/&
#include&iostream.h&&
void change(int a[],int n);&
void main()&
int i,a[50],n;&
cout&&&输入人数:&;&
for(i=0;i&n;i++)&
a[i]=i+1;&
change(a,n);&
void change(int a[],int n)&
int qnumber=0,i=0,k=0;&
while(n-qnumber&1)//直到只剩下1人时&
if(a[i]!=0)k++; //报数&
a[i]=0; //退出圈子的人&
qnumber++; //退出的总人数&
k=0; //重新开始报数&
i++;&
if(i==n)i=0; //当所有人都报过数之后重新每人再次报数
for(i=0;i&n;i++)&
if(a[i]!=0)cout&&a[i]&&& &;&
/* 7、写一函数,实现两个字符串的比较。即自己写一个strcmp函数。*/&
#include&iostream.h&&
#include&string.h&&
int change(char *,char *);&
void main()&
char a[10]=&dog&;&
char b[20]=&sdlkdogsddydodog&;&
cout.write(a,10)&&&
cout.write(b,20)&&&
result=change(a,b);&
cout&&&result=&&&result&&&
int change(char *p,char *q)&
&&& int sum=0,i=0,flag=0;&
while(*p!='\0'&&*q!='\0')&
if(*p&*q)&
flag=1;//第一个字符串大于第二个字符串返回1&
if(*p&*q)&
flag=-1;//第二一个字符串大于第一个字符串返回-1&
if((*p==*q)&&*(p+1)=='\0'&&*(q+1)!='\0')&
flag=-1;//第二一个字符串大于第一个字符串返回-1&
*p++;&
*q++;&
/* 8、将一个5 x 5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序为从左到右,从上到下顺序依次从小到大存放),写一函数实现之。用main函数调用。*/&
#include&iostream.h&&
void psort(int a[]);&
void main()&
int a[25]={5,3,52,6,2,1,8,0,23,56,7,21,23,4,57,62,15,31,45,6,43,78,12,53,41};&
for(i=0;i&25;i++)&
cout&&& &&&a[i];&
psort(a);&
void psort(int a[])&
int i,j,k=0,temp,b[5][5];&
for(i=0;i&25;i++) //每循环一次确定数组中一个数的位置&
for(j=i+1;j&25;j++) //每次循环对比一个数的大小&
if(a[i]&a[j])&
temp=a[j];&
a[j]=a[i];&
for(i=0;i&5;i++)&
for(j=0;j&5;j++)&
b[i][j]=a[k++];&
temp=b[4][4]; //确定5个位置的数值&
b[4][4]=b[2][2];&
temp=b[0][1];&
b[0][1]=b[0][4];&
temp=b[0][2];&
b[0][2]=b[4][0];&
temp=b[0][3];&
b[0][3]=b[4][4];&
for(i=0;i&5;i++)&
for(j=0;j&5;j++)&
cout&&&\t&&&b[i][j];&
第7章 结构体与共用体&
/* 1、用指针和结构体实现一双向链表,并实现其相应的增、删、遍历功能,并在实例中应用它。*/&
#include &iostream.h&&
typedef struct node&
struct node *&
struct node *&
}Node,*LinkN&
class LinkClass&
LinkNode first,//头指针,当前指针&
void init();//初始化函数&
LinkNode Insert(int data,LinkNode cur);//插入函数&
void Remove(LinkNode p);//删除函数&
void Prior(LinkNode head);//遍历函数&
void LinkClass::init()&
struct node *head=&
struct node *tail=&
head-&parent=NULL;&
head-&next=&
tail-&parent=&
tail-&next=NULL;&
first=current=
LinkNode LinkClass::Insert(int data,LinkNode cur)&
struct node *newNode=&
newNode-&number =&
newNode-&next = cur-&&
cur-&next = newN&
newNode-&parent =&
newNode-&next-&parent = newN&
void LinkClass::Prior(LinkNode head)&
LinkNode cur=head-&&
while(cur-&next!=NULL)&
cout&&cur-&number&&& &;&
cur=cur-&&
cout&&&&&&&
void LinkClass::Remove(LinkNode cur)&
LinkNode temp=&
temp-&parent-&next=temp-&&
temp-&next-&parent=temp-&&
delete(temp);&
void main()&
lc.init();
LinkNode cur=lc.&
for(int i=0;i&=10;i++)//用循环来初始化结构体内的number&
cur=lc.Insert(i,cur);//调用插入函数&
LinkNode head=lc.
cout&&&没调用删除函数的遍历:&&&&
lc.Prior(head);//遍历函数&
for(int j=0;j&=3;j++)//删除元素6&
cur=cur-&&
lc.Remove(cur);//执行删除函数&
cout&&&调用删除函数后的遍历:&&&&
lc.Prior(head);
/* 2、用指针和结构体实现栈及其方法,并在实例中应用它。*/&
#include &stdlib.h&&
#include &iostream.h&&
#define STACK_INIT_SIZE 100&
#define STACKIN 10&
struct stack&
&&& int initstack(stack &s)&
s.base=(int *)malloc(STACK_INIT_SIZE * sizeof(int));&
if(!s.base) return 0;&
s.stacksize =STACK_INIT_SIZE;&
return 1;&
int gettop(stack s,int &e)&
if(s.top ==s.base) return 0;&
e=*(s.top-1);&
return 1;&
int push(stack &s,int e)&
if(s.top -s.base&=s.stacksize)&
s.base=(int *)realloc(s.base,(s.stacksize + STACKIN)*sizeof(int));&
if(!s.base) return 0;&
s.top =s.base+s.&
s.stacksize +=STACKIN;&
*s.top++=e;&
return 1;&
int pop(stack &s,int &e)&
if (s.top ==s.base)return 0;&
return 1;&
void main()&
int result,e=0;&
result=s.initstack(s);&
if(result==1)&
cout&&&建栈成功!&&&&
cout&&&建栈失败!&&&&
for(int i=0;i&5;i++)&
result=s.push(s,i);&
if(result==1)&
cout&&&初始化栈成功!&&&&
cout&&&初始化栈失败!&&&&
s.gettop(s,e);&
cout&&&栈顶元素为:&&&e&&&
result=s.pop(s,e);&
if(result==1)&
cout&&&删除栈顶元素成功!&&&&
cout&&&删除栈顶元素失败!&&&&
s.pop(s,e);&
cout&&&删除的栈顶元素为:&&&e&&&
/* 3、编写一函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用print函数输出这些记录。&
&& 4、在上题的基础上,编写一个函数input,用来输入5个学生的数据记录。*/&
#include &string.h&&
#include &iostream.h&&
struct student&
char name[20];&
int score[3];&
class contral&
void print(struct student *p,int count);&
int input(struct student *p,int count);&
void contral::print(struct student *p,int count)&
for(int i=0;i&=i++)&
cout&&&Num:&&&p-&num&&&
cout&&&Name:&&&p-&name&&&
cout&&&JAVA:&&&p-&score[0]&&&
cout&&&C++:&&&p-&score[1]&&&
cout&&&English:&&&p-&score[2]&&&
p++;&
int contral::input(struct student *p,int count)&
while(true)&
cout&&&请输入学号:&&&&
cout&&&请输入姓名:&&&&
cout&&&请输入JAVA分数:&&&&
cin&&p-&score[0];&
cout&&&请输入C++分数:&&&&
cin&&p-&score[1];&
cout&&&请输入English分数:&&&&
cin&&p-&score[2];&
p++;&
count++;&
cout&&&输入Q退出,输入其它继续&&&&
char str[8];&
if(strcmp(str, &q&)==0)&
void main()&
int count=0;&
student NewS[100];&
student *p=NewS;&
count=con.input(p,count);&
cout&&count&&&
con.print(p,count-1);&
/* 5、将一个链表按逆序排列,即将链头当链尾,链尾当链头。*/&
#include&iostream.h&&
struct num&
struct num *&
void fan(struct num& node1[])&
for(int i=9;i&=0;i--)&
node1[i].next=&node1[i-1];&
void main()&
&&&& struct num& node[10];&
&&&& for(int i=0;i&10;i++)&
&&&&&& node[i].data=i;&
&&&& for(int j=0;j&10;j++)&
cout&&node[j].&
&&&& fan(node);&
cout&&node[9].&
&&&& for(int k=9;k&0;k--)&
cout&&(node[k].next)-&&
第8章&& 类和对象&
/*1、自定义一个字符串处理类CString,且能实现取子串、删除子串的功能。*/&
#include&iostream.h&&
#define MAX_LENGTH 100&
class CString&
void cpystring(char *str);&
void getSubstring(int beginStr,int endStr);&
void delSubstring(int beginStr,int endStr);&
void print();&
char cstr[MAX_LENGTH];&
#include&CString.h&&
#include&string.h&&
void CString::cpystring(char *str)&
while(*str!='\0')&
cstr[i++]=*&
str++;&
cstr[i]='\0';&
void CString::getSubstring(int beginStr,int endStr)&
int i,j=0;&
char pstr[MAX_LENGTH];&
if(beginStr&0||endStr&MAX_LENGTH||beginStr&endStr)&
cout&&&error!&&&&
for(i=beginSi&endSi++,j++)&
pstr[j]=cstr[i];&
pstr[j]='\0';&
cpystring(pstr);&
void CString::delSubstring(int beginStr,int endStr)&
int i,j=0;&
char pstr[MAX_LENGTH];&
if(beginStr&0||endStr&MAX_LENGTH||beginStr&endStr)&
cout&&&error!&&&&
for(i=0;i&beginSi++,j++)&
pstr[j]=cstr[i];&
for(i=endStr+1;i&strlen(cstr);i++,j++)&
pstr[j]=cstr[i];&
pstr[j]='\0';&
cpystring(pstr);&
void CString::print()&
cout&&cstr&&&
#include&iostream.h&&
#include&CString.h&&
CString str1,str2,str3;&
str1.cpystring(&Just like before, it's yesterday once more!&);//初始化str1&
str2=str1;&
str3=str1;&
str2.getSubstring(5,9);//截取字符串&
str3.delSubstring(10,16);//删除字符串&
str1.print();&
str2.print();&
str3.print();&
/*2、定义一个循环队列类,且实现其相关的成员操作函数,并实例化调用之。*/&
CircularQueue.h文件:&
*********************************************************************&
#define MAX_SIZE 101&
class CircularQueue&
int queue[MAX_SIZE];&
CircularQueue();&
virtual ~CircularQueue();&
bool isEmpty();&
bool isFull();&
bool push(int);&
int pop();&
*********************************************************************&
CircularQueue.cpp文件:&
*********************************************************************&
#include &CircularQueue.h&&
CircularQueue::CircularQueue()&
front = 0;&
rear = 0;&
CircularQueue::~CircularQueue()&
bool CircularQueue::isFull()&
if ((rear+1)%MAX_SIZE == front)&
bool CircularQueue::isEmpty()&
if (rear == front)&
bool CircularQueue::push(int e)&
if (isFull())&
queue[rear] =&
rear = ++rear % MAX_SIZE;&
CircularQueue::pop()&
if (isEmpty())&
return 0;&
int e = queue[front];&
front = ++front % MAX_SIZE;&
*********************************************************************&
main.cpp文件&
*********************************************************************&
#include &CircularQueue.h&&
#include &iostream&&
void main()&
CircularQueue cQ&
for (int i=0 ; i&75; i++)&
cQueue.push(i);&
for (i=0; i&50; i++)&
cout && cQueue.pop() && & &;&
for (i=0; i&60; i++)&
cQueue.push(i);&
for (i=0; i&85; i++)&
cout && cQueue.pop() && & &;&
*********************************************************************&
第9章&& 运算符重载&
/*1、定义一个二维向量类Vector,并在该类中用成员函数方式重载一元运算符++(前、后缀)和二元运算符+。*/&
class Vector&
Vector();&
Vector(int x,int y);&
operator ++();&
Vector operator ++(int);&
Vector operator +(const Vector &a);&
void display();&
#include&iostream.h&&
#include&Vector.h&&
Vector::Vector(){}&
Vector::Vector(int x,int y)&
this-&x=x;&
this-&y=y;&
Vector::operator ++() {++x;++y;}&
Vector Vector::operator ++(int)&
s.x=x++;&
s.y=y++;&
Vector Vector::operator +(const Vector &v)&
sum.x=x+v.x;&
sum.y=y+v.y;&
void Vector::display()&
cout&&&(&&&x&&&,&&&y&&&)&&&&
#include&iostream.h&&
#include&Vector.h&&
void main()&
Vector v1(3,4),v2(1,2),v3;&
cout&&&v1=&;v1.display();&
cout&&&v2=&;v2.display();&
++v1;&
cout&&&++v1=&;v1.display();&
cout&&&v2++=&;(v2++).display();&
cout&&&v2=&;v2.display();&
v3=v1+v2;&
cout&&&v1+v2=&;v3.display();&
/*2、将第一题中的相关重载项改为用友元函数的方式重载。*/&
class Vector&
Vector();&
Vector(int x,int y);&
friend void operator ++(Vector &v);&
friend void operator ++(Vector &v,int);&
friend Vector operator +(const Vector &v1,const Vector &v2);&
void display();&
#include&iostream.h&&
#include&Vector.h&&
Vector::Vector(){}&
Vector::Vector(int x,int y)&
this-&x=x;&
this-&y=y;&
void operator ++(Vector &v) {++v.x;++v.y;}&
Vector operator ++(Vector &v,int)&
Vector before(v.x,v.y);&
v.x++;&
v.y++;&
Vector operator +(const Vector &v1,const Vector &v2)&
sum.x=v1.x+v2.x;&
sum.y=v1.y+v2.y;&
void Vector::display()&
cout&&&(&&&x&&&,&&&y&&&)&&&&
#include&iostream.h&&
#include&Vector.h&&
void main()&
Vector v1(3,4),v2(1,2),v3;&
cout&&&v1=&;v1.display();&
cout&&&v2=&;v2.display();&
++v1;&
cout&&&++v1=&;v1.display();&
cout&&&v2++=&;(v2++).display();&
cout&&&v2=&;v2.display();&
v3=v1+v2;&
cout&&&v1+v2=&;v3.display();&
/*3、重载字符串处理类CString的“=”号和“+”号运算符。*/&
class Cstring&
Cstring(char *pn);&
~Cstring();&
Cstring& operator=(Cstring &c);&
Cstring& operator+(Cstring &c);&
void display();&
#include&iostream.h&&
#include&string.h&&
#include&Cstring.h&&
Cstring::Cstring(char *pn)&
p=new char[strlen(pn)+1];&
strcpy(p,pn);&
Cstring::~Cstring()&
delete []p;&
Cstring& Cstring::operator=(Cstring &s)&
delete []p;&
p=new char[strlen(s.p)+1];&
strcpy(p,s.p);
Cstring& Cstring::operator+(Cstring &s)&
char *pp = new char[strlen(p)+strlen(s.p)+1];&
strcpy(pp,p);&
strcat(pp,s.p);&
delete []p;&
void Cstring::display()&
cout&&p&&&
#include&iostream.h&&
#include &string.h&&
#include&Cstring.h&&
void main()&
Cstring s1(&first hello&);&
Cstring s2(&second hello&);&
cout&&&赋值之前:&&&&
cout&&&s1=&;&
s1.display();
cout&&&s2=&;&
s2.display();&
cout&&&赋值之后:&&&&
cout&&&s1=&;&
s1.display();
cout&&&s2=&;&
s2.display();&
cout&&&相加之后:&&&&
cout&&&s1+s2&&&&
(s1+s2).display();&
第11章 继承和派生类&
/*1、利用虚基类,消除“两性人”中的冗余数据:姓名、年龄,并编程实现之。*/&
class Person&&
Person(char *name,int age);&
Person();&
virtual ~Person();&
protected:&
char name[20];&
#include &Person.h&&
#include &string.h&&
Person::Person(char *name, int age)&
strcpy(this-&name,name);&
this-&age =&
class Man: virtual public Person&
Man(char *name,int age,char *sex);&
virtual ~Man();&
protected:&
char sex[8];&
#include &Man.h&&
#include &Person.h&&
#include &string.h&&
Man::Man(char *name,int age,char *sex):Person(name,age)&
strcpy(this-&sex,sex);&
#include&Person.h&&
class Woman: virtual public Person&&
Woman(char *name,int age,char *sex);&
virtual ~Woman();&
protected:&
char sex[8];&
#include &Woman.h&&
#include &Person.h&&
#include &string.h&&
Woman::Woman(char *name,int age,char *sex):Person(name,age)&
strcpy(this-&sex,sex);&
class Transexual:public Man,public Woman&
Transexual(char *name, int age, char *sex1,char *sex2);&
Transexual();&
virtual ~Transexual();&
#include &Transexual.h&&
#include &Man.h&&
#include &Woman.h&&
#include &Person.h&&
#include &iostream.h&&
Transexual::Transexual(char *name, int age, char *sex1,char *sex2):Person(name,age),Man(name,age,sex1),Woman(name,age,sex2)&
Transexual::print()&
cout&&&姓名:&&&name&&&
cout&&&年龄:&&&age&&&
cout&&&性别:&&&Man::sex&&& &&&Woman::sex&&&
/*2、通过Point类派生出Circle和Rectangle类,再通过Circle和Rectangle派生出“足球场图形”类Football,并实例化调用Football这个类,且用cout打印跟踪所有类的构造函数和析构函数的调用过程。(注:下面是这几个类的图形描述,且要求每个类都重载构造函数,且都不用默认构造函数)*/&
#include&iostream.h&&
class Point{&
Point(double x){&
this-&x=x;&
cout&&&Point Constructor called&&&&
~Point(){&
cout&&&Point Destructor called&&&&
protected:&
#include&iostream.h&&
#define PI 3.&
class Circle:virtual public Point{&
Circle(double x):Point(x){&
cout&&&Circle Constructor called&&&&
~Circle(){&
cout&&&Circle Destructor called&&&&
void setCarea(){&
carea=PI*x/2*x/2;&
double getCarea(){&
protected:&
#include&iostream.h&&
class Rectangle:virtual public Point{&
Rectangle(double x,double y):Point(x){&
this-&y=y;&
cout&&&Rectangle Constructor called&&&&
~Rectangle(){&
cout&&&Rectangle Destructor called&&&&
void setRarea(){&
rarea=x*y;&
double getRarea(){&
protected:&
double y,&
#include&iostream.h&&
#define PI 3.&
class Football:public Circle,public Rectangle{&
Football(double x,double y):Point(x),Circle(x),Rectangle(x,y){&
cout&&&Football Constructor called&&&&
~Football(){&
cout&&&Football Destructor called&&&&
void setFarea(){&
farea=x*y+PI*x/2*x/2;&
double getFarea(){&
protected:&
#include&iostream.h&&
#include&Point.h&&
#include&Circle.h&&
#include&Rectangle.h&&
#include&Football.h&&
void main(){&
Circle c(10);&
Rectangle r(10,20);&
Football f(10,20);&
c.setCarea();&
r.setRarea();&
f.setFarea();&
cout&&&Circle area:&&&c.getCarea()&&&
cout&&&Rectangle area:&&&r.getRarea()&&&
cout&&&Football area:&&&f.getFarea()&&&
第12章&& 模板&
/*1、利用C++的模板机制定义单向队列类模板、链表类模板,并实例化应用之。*/&
/*单向队列类模板*/&
#define MAX_SIZE 50&
template&class T&&
class Temqueue&
T queue[MAX_SIZE];&
Temqueue();&
virtual ~Temqueue();&
bool isEmpty();&
bool isFull();&
bool push(T);&
template&class T&&
Temqueue&T&::Temqueue()&
front = 0;&
rear = 0;&
template&class T&&
Temqueue&T&::~Temqueue()&
template&class T&&
bool Temqueue&T&::isFull()&
if ((rear-MAX_SIZE) == front)&
template&class T&&
bool Temqueue&T&::isEmpty()&
if (rear == front)&
template&class T&&
bool Temqueue&T&::push(T e)&
if (isFull())&
queue[rear] =&
rear = ++&
template&class T&&
T Temqueue&T&::pop()&
if (isEmpty())&
T e = queue[front];&
front = ++&
#include &Temqueue.h&&
#include &iostream&&
void main()&
cout&&&请输入要给数列初始化的长度,队列长度为50。&&&&
Temqueue&int& cQ&
for (int i=0 ; i&k; i++)&
cQueue.push(i);&
for (i=0; i&k; i++)&
if (i&=MAX_SIZE)&
cout&&&队列已满!&&&&
cout&&cQueue.pop()&& & &;&
cout&&&队列为空!&&&&
/*链表类模板*/&
template&typename T& class L&&&& //对List类的申明&
template&typename T& class Node{&&&& //定义一个描述节点的类&
friend class List&T&;&
Node&T& *&
template&typename T&Node&T&::Node(){&
next=NULL;&
template&typename T&class List{&&&&&&&&&&&&&&&&&&&& //定义一个描述链表的类&
List();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //空链表的构造(链表中只含表头结点)&
~List();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //析构函数&
void MakeEmpty();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //清空链表(删除链表中除表头结点以外的所有结点)&
Node&T& * Find(T d);&&&&&&&&&&&&&&&&&&&&&&&&&&& //查找数据域与d相同的结点(返回所找到结点的指针)&
void PrintList();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //输出链表中各结点的数据域&
void CreateList(); //初始化链表&
Node&T& * head,*&
template&typename T&List&T&::List(){&
head=rear=new Node&T&;&
template&typename T&void List&T&::MakeEmpty(){&
Node&T& *&
while(head-&next!=NULL){&
temp = head-&&
&&& head-&next = temp-&&
template&typename T&List&T&::~List(){&
MakeEmpty();&
template&typename T&void List&T&::PrintList(){&
rear = head-&&
while(rear!=NULL){&
cout&&rear-&data&&&
rear = rear-&&
template&typename T&void List&T&::CreateList(){&
cout&&&现在开始创建链表,请依次输入数据(以Ctrl+Z结束):&&&&
while(cout&&&请输入:& && cin&&d){&
rear-&next=new Node&T&;&
&& rear-&next-&data=d;&
&& rear=rear-&&
&& rear-&next=NULL;&
#include &iostream&&
#include &Node.h&&
#include &List.h&&
void main(){&
List &int&l;&
&&& l.CreateList();&
l.PrintList();&
cout&&&over!&&&&
/*2、定义一个类模板,然后生成其模板类并定义该类模板的派生类模板和派生类。*/&
template &class T&&
class Te{&
template &class T&&
class Tte:public Te&T&{&
class Fte:public Te&int&{&
#include&iostream&&
#include&Te.h&&
#include&Tte.h&&
#include&Fte.h&&
void main(){&
te.te=10;&
cout&&&te=&&&te.te&&&
itte.tte=20;&
cout&&&itte=&&&itte.tte&&&
Tte&double&&
dtte.tte=3.14;&
cout&&&dtte=&&&dtte.tte&&&
fte.fte=10;&
cout&&&fte=&&&fte.fte&&&
第13章 多态性与虚函数&
/*1、利用虚函数,实现triangle(三角形),square(矩形),circle(圆)的面积计算函数show_area。*/&
class Shape{&
virtual double show_area()=0;&
virtual char* shapeName()=0;&
class Circle:public Shape{&
Circle(double radius){&
this-&radius=&
virtual double show_area(){&
return 3.14*radius*&
virtual char* shapeName(){&
return &Circle: &;&
protected:&
class Square:public Shape{&
Square(double length,double width){&
this-&length=&
this-&width=&
virtual double show_area(){&
return length*&
virtual char* shapeName(){&
return &Square: &;&
protected:&
double length,&
class Triangle:public Shape{&
Triangle(double length,double height){&
this-&length=&
this-&height=&
virtual double show_area(){&
return length*height/2;&
virtual char* shapeName(){&
return &Triangle: &;&
protected:&
double length,&
#include&iostream&&
#include&Shape.h&&
#include&Circle.h&&
#include&Square.h&&
#include&Triangle.h&&
void main(){&
Circle circle(10);&
Square square(10,15);&
Triangle triangle(10,15);&
cout&&ptr-&shapeName()&&ptr-&show_area()&&&
cout&&ptr-&shapeName()&&ptr-&show_area()&&&
cout&&ptr-&shapeName()&&ptr-&show_area()&&&
/*2、将圆类circle的计算面积和计算周长的功能分别抽象成class area和class perimeter,并在这两个新类中利用纯虚函数功能实现面积和周长的统一调用接口显示函数Show。*/&
class Circle{&
Circle(double radius){&
this-&radius=&
virtual double show()=0;&
virtual char* shapeName()=0;&
protected:&
class Area:public Circle{&
Area(double radius):Circle(radius){&
virtual double show(){&
return 3.14*radius*&
virtual char* shapeName(){&
return &Circle Area: &;&
class Perimeter:public Circle{&
Perimeter(double radius):Circle(radius){&
virtual double show(){&
return 2*3.14*&
virtual char* shapeName(){&
return &Circle Perimeter: &;&
#include&iostream&&
#include&Circle.h&&
#include&Area.h&&
#include&Perimeter.h&&
void main(){&
Area area(10);&
Perimeter perimeter(10);&
cout&&ptr-&shapeName()&&ptr-&show()&&&
cout&&ptr-&shapeName()&&ptr-&show()&&&
第14章& I/O流&
1、建立一个二进制文件,并对其进行各种操作。&
struct i_Data //每个学生记录含准考证号、姓名、英语成绩共3个字段&
char ID[30];&
char name[30];&
#include &i_Data.h&&
#define NUM 2&
class Io{&
void input(){&
infile.open(&score.dat&,ios::out|ios::binary);&
if(!infile){&
cout&&&score.dat can't writed.\n&;&
for(i=0;i#i++){&
cout&&&请输入第&&&i+1&&&位考生信息:\n&;&
cout&&&input 准考证号:&;&
cin&&data[i].ID;&
cout&&&input 姓名:&;&
cin&&data[i].&
cout&&&input 英语成绩:&;&
cin&&data[i].&
infile.write((char *) &data[i], sizeof(data[i]));&
infile.close();&
system(&cls&);&
void output(){&
outfile.open(&score.dat&,ios::in|ios::binary);&
if(!outfile){&
cout&&&score.dat can't opened.\n&;&
for(i=0;i#i++){&
outfile.read((char *) &data[i], sizeof(data[i]));&
cout&&&第&&&i+1&&&位考生信息为:\n&;&
cout&&&准考证号:&&&data[i].ID&&&
cout&&&姓名:&&&data[i].name&&&
cout&&&英语成绩:&&&data[i].score&&&
outfile.close();&
struct i_Data data[NUM];&
#include &iostream&&
#include &fstream.h&&
#include &stdlib.h&&
#include &Io.h&&
#define NUM 2&
void main() {&
io.input(); //写入文件&
io.output(); //读取文件&
第15章&& 异常处理&
1、自己写一个程序,在某种条件下抛出各种类型异常(如:整数、字符串、类对象、引用等),再捕捉这些异常,并进行相关处理,保证自己的程序不被中断,让它继续执行。&
#include&iostream&&
#include&string&&
class String{&
String(char*, int);&
class Range{ //异常类1&
public:Range(int j):index(j){}&
class Size{}; //异常类2&
char& operator[](int k){&
if(0&=k && k&len)&
return p[k];&
&&&&&&& throw Range(k);&
private:char*&
int String::max = 20;&
String::String(char* str, int si){&
if(si&0 || max&si)&
&& throw Size();&
p=new char[si];&
strncpy(p, str, si);&
void g(String& str){&
int num=10;&
for(int n=0; n& n++)&
&& cout &&str[n];&
//代码区1&
//代码区2&
String s(&abcdefghijklmnop&, 10);&
catch(String::Range r)&
cerr &&&-&out of range: & &&r.index &&&
//代码区3&
catch(String::Size)&
cerr &&&size illegal!\n&;&
cout &&&The program will be continued here.\n\n&;&
//代码区4&
void main()&
//代码区5&
cout &&&These code is not effected by probably exception in f().\n&;&
/*小张同学看到你的一本Java书上写着“Object无处不在”,真的是这样吗?他一眼扫到写字台上一盏可调亮度的台灯。可以用Java表现台灯吗?他请你试试看。基本要求:&
1、编写台灯类,台灯具有开关状态和“标准”、“增强”两档可调亮度;台灯具有打开、关闭功能,并可以设置亮度档位;&
2、编写主类,显示台灯控制菜单,用户可以根据菜单选项控制不断调整一盏台灯的状态;&
3、选择控制菜单的“退出”选项可以结束程序运行。*/&
class Light{&
void setStatus(bool status);&
bool getStatus();&
void setBright(int bright);&
int getBright();&
void setStyle(int style);&
int getStyle();&
int input();&
void output();&
//表状态:开启或者关闭&
//表亮度类型:普通或者增强&
#include&iostream&&
#include&Light.h&&
void Light::setStatus(bool status){&
this-&status=&
Light::Light(){&
bright=3;&
bool Light::getStatus(){&
void Light::setBright(int bright){&
this-&bright=&
int Light::getBright(){&
void Light::setStyle(int style){&
this-&style=&
int Light::getStyle(){&
int Light::input(){&
cout&&&请输入你要输入的值:&;&
int res=-1;//返回输入的值,&
if(cin.fail()){&
cout&&&输入的数据超出范围!&;&
exit(0);//程序退出&
void Light::output(){&
cout&&&当前电灯系统状态为--&&&(this-&getStatus()?&开启&:&关闭&)&&&,亮度类型为--&&
&&(this-&getStyle()==1?&增强&:&标准&)&&&,亮度档位为--&&&this-&bright&&&
#include&iostream&&
#include&Light.h&&
void main(){&
cout&&&---------------&Control Menu&-----------------&&&&
cout&&&1-开灯,2-调节状态,3-调节亮度,4-关灯&&&&
cout&&&----------------------------------------------&&&&
int answer=light.input();&
if(answer==1){&
light.setStatus(true);&
cout&&&系统启用中。。。&&&&
light.output();&
else if(answer==2){&
if(!light.getStatus()){&
cout&&&警告!系统尚未启动!操作失败!&&&&
cout&&&请输入你要调度的状态(0-标准,1-增强):&&&&
int style=light.input();&
if(style==0 || style==1){&
cout&&&操作成功!&&&&
light.setStyle(style);&
light.output();&
cout&&&您输入的值超出了选择范围!请重新输入!&&&&
}while(true);&
else if(answer==3){&
if(!light.getStatus()){&
cout&&&警告!系统尚未启动!操作失败!&&&&
cout&&&请输入你要调度的亮度(1--5):&&&&
int bright=light.input();;&
if( bright&=0 &&& bright&=5){&
cout&&&操作成功!&&&&
light.setBright(bright);&
light.output();&
cout&&&您输入的值超出了选择范围!请重新输入!&&&&
}while(true);&
else if(answer==4){&
if(!light.getStatus()){&
cout&&&警告!系统尚未启动!操作失败!&&&&
cout&&&系统即将关闭!&&&&
light.setStatus(false);&
cout&&&您输入的值超出了选择范围!请重新输入!&&&&
}while(true);&
/*万年历*/&
#include&iostream.h&&
#include&stdlib.h&&
#include&iomanip.h&&
void main()&
int year,month,startyear,today,day0,day1,k,j;&
char a,b,c;&
int M[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};&
int M0[12]={ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };&
cout&&&请输入年份():&;&
if(year&1990||year&2020){&
cout&&&您输入的年份越界,是否重新输入(Y/N||y/n)?&;&
if(a=='Y'||a=='y'){&
else exit(0);&
}while(true);&
cout&&&请输入月份(1-12):&;&
if(month&1||month&12){&
cout&&&您输入的月份越界,是否重新输入(Y/N||y/n)?&;&
if(b=='Y'||b=='y'){&
else{exit(0);}&
}while(true);&
//计算有效天数&
startyear=1990;&
&&& while (startyear != year)&
&&&& if ((startyear%4==0&&startyear%100!=0)||(startyear%400==0))&
&&&&&&&& day0 = day0 + 366;&
&&&& else&
&&&&&&&& day0 = day0 + 365;&
&&&& startyear++;&
if((year%4==0&&year%100!=0)||(year%400==0)){&
for (int i = 0; i & (month - 1); i++)&
&&&&&&&&&&& day1 = day1 + M0[i];&
&&&&&&&&&&& today = day0 + day1;&
for (int i = 0; i & (month - 1); i++)&
&&&&&&&&&&& day1 = day1 + M[i];&
&&&&&&&&&&& today = day0 + day1;&
//输出部分&
//闰年输出&&
if((year%4==0&&year%100!=0)||(year%400==0)){&
cout&&year&&&年&&&month&&&月份的日历如下&&&&
cout&&setw(30)&&&
cout && setw(8) && &Sun&;&
&&&&&&& cout && setw(8) && &Mon&;&
&&&&&&& cout && setw(8) && &Tue&;&
&&&&&&& cout && setw(8) && &Wed&;&
&&&&&&& cout && setw(8) && &Thu&;&
&&&&&&& cout && setw(8) && &Fri&;&
&&&&&&& cout && setw(8) && &Sat&;&
&&&&&&& cout &&&
k=(today%7+1)%7;&
for(int i=1; i&=k; i++)&
cout&&setw(8)&&&&;&
for(int g=1; g&=(7-k); g++){&
cout&&setw(8)&&g;&
for(int h=8-k; h&=M0[month-1]; h++) {&
cout&&setw(8)&&h;&
j++;&
if(j==7){&
//平年输出&
cout&&year&&&年&&&month&&&月份的日历如下&&&&
cout&&setw(30)&&&&&&&
cout && setw(8) && &Sun&;&
&&&&&&& cout && setw(8) && &Mon&;&
&&&&&&& cout && setw(8) && &Tue&;&
&&&&&&& cout && setw(8) && &Wed&;&
&&&&&&& cout && setw(8) && &Thu&;&
&&&&&&& cout && setw(8) && &Fri&;&
&&&&&&& cout && setw(8) && &Sat&;&
&&&&&&& cout &&&
k=(today%7+1)%7;&
for(int i=1; i&=k; i++)&
cout&&setw(8)&&&&;&
for(int g=1; g&=(7-k); g++){&
cout&&setw(8)&&g;&
for(int h=8-k; h&=M[month-1]; h++) {&
cout&&setw(8)&&h;&
j++;&
if(j==7){&
cout&&&是否继续输入(Y/N||y/n)?&;&
if(c=='Y'||c=='y')&
else exit(0);&
}while(true);&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:111669次
积分:1788
积分:1788
排名:第10663名
原创:52篇
转载:71篇
评论:33条
(1)(1)(2)(2)(3)(1)(2)(5)(27)(27)(28)(10)(1)(7)(1)(2)(3)

我要回帖

更多关于 英语单词读音下载 的文章

 

随机推荐