例题:输入一个任意位数整数,求出每位上的数字,从高位向内容摘要:
]和 a[i+1]的值 */ for(i=0。 i4。 i++) } { 上一页 /*将 5个元素中的最大值放在最后 */ for(i=0。 i4。 i++) {if(a[i]a[i+1]) {t=a[i]。 a[i]=a[i+1]。 a[i+1]=t。 } } /*将 4个元素中的最大值放在最后 */ for(i=0。 i。 i++) {if(a[i]a[i+1]) {t=a[i]。 a[i]=a[i+1]。 a[i+1]=t。 } } 3 /*将 3个元素中的最大值放在最后 */ for(i=0。 i2。 i++) {if(a[i]a[i+1]) {t=a[i]。 a[i]=a[i+1]。 a[i+1]=t。 } } /*将 2个元素中的最大值放在最后 */ for(i=0。 i 1。 i++) {if(a[i]a[i+1]) {t=a[i]。 a[i]=a[i+1]。 a[i+1]=t。 } } /*将 n个元素中的最大值放在最后 */ for(i=0。 i n1。 i++) {if(a[i]a[i+1]) {t=a[i]。 a[i]=a[i+1]。 a[i+1]=t。 } } /*将 5个元素 按降序排序 */ { } for( ) j=1。 j5。 j++? 5j 起泡法排序 起泡法排序:与起泡从水中往上冒的情况有些类似。 具体做法:先将第一个数 a[0]与第 2个数 a[1]进行比较,如果 a[0]a[1],则将两个数进行交换,否则保持原顺序不变。 然后比较 a[1]和 a[2],依此类推,直到第 n1个元素与第 n个元素比较,这称为一趟起泡。 这一趟最明显的效果是将最大的数据排到了最后。 然后对前 n1个数据进行同样的操作,则具有次大值的数被排在第 n1的位置上,重复以上操作直到所有元素按顺序排列。 /*起泡法排序 chp6\*/ main() {int i,j,a[5]={9,8,4,5,0,2},t。 clrscr()。 for(i=0。 i5。 i++) printf(%d ,a[i])。 printf(\n)。 for(i=1。 i5。 i++) {for(j=0。 j5i。 j++) if(a[j]a[j+1]) {t=a[j]。 a[j]=a[j+1]。 a[j+1]=t。 } } for(i=0。 i5。 i++) printf(%d ,a[i])。 } 练习:编程模拟 23选 5的抽奖系统。 ( ) 课程回顾 一维数组的初始化 一维数组中元素的引用方式和地址表示 两种排序方法:冒泡法和选择法 C本身没有字符串变量,字符串的存储完全依赖于字符数组,但字符数组并不完全等价于字符串。 字符数组:用来存放字符数据的数组。 字符数组中的 一个元素存放一个字符。 一、定义: char 数组名 [长度 ] 例如: char c[5]={„c‟,‟h‟,‟i‟,‟n‟,‟a‟}。 在内存中占 5个字节 a[0] a[1] a[2] a[3] a[4] c h i n a。 这种定义方 式正误。 int c[5]={„c‟,‟h‟,‟i‟,‟n‟,‟a‟}。 √ 二、初始化和引用 方法同前面所讲的一维数组 三、字符串和字符串结束标志 字符串借助于字符型的一维数组来存放,并规定以‘ \0‟作为结束标志。 „\0‟ :转义字符,称为 “ 空值 ”。 其 ASCII码值为 0. 占内存空间,但不计入字符串的长度。 字符串长度:字符串结束标志之前的有效字符的个数。 字符串常量:系统在末尾自动加 ’ \0‟. 例如: “ ABC” 的长度为 3,在内存中占 4个字节的空间。 每个字符串常量都分别占用内存中一串连续的存储空间。 返回给系统的是字符串所占内存的首地址。 字符数组与字符串的区别: 字符数组的每个元素可存放一个字符,但并不限定最后一个字符是什么。 在 C中,有关字符串的很多操作都与字符串的结束标志有关,因此,在字符数组中的有效字符后加一个 ’ \0‟这一特定的情况下,可把这种一维数组称作 “ 字符串 ”。 可以说,字符串是字符数组的一种具体应用。 例如 :char s[]={„A‟,‟B‟,‟C‟}; 例如 :char s[]={„A‟,‟B‟,‟C‟,‟\0‟}; 都是正确的 一般赋值方式:在定义时逐个元素赋值 例如 1)char s[4]={„A‟,‟B‟,‟C‟,‟\0‟}; 2)char s[]={„A‟,‟B‟,‟C‟,‟\0‟}; 3)char s[10]={„A‟,‟B‟,‟C‟,‟\0‟};。 这四种方式有何异同。 4)char s[]={„A‟,‟B‟,‟C‟}; 直接用字符串常量赋值 例如: char s[]={“abc”}。 也可以省略大括号: char s[]=“abc”。 最常使用的方式 四、字符串的输入输出 输出: 若有定义: char c[]=“string”。 1)printf()函数 ① 逐个字符输出:格式符 %c ② 输出整个字符串:格式符 %s i=0。 while( ) {printf(“%c”,c[i])。 i++。 } 格式: printf(格式控制,输出的起始地址 ) 例如 1): printf(“%s”, c)。 结果为: string printf(“%s”, c+2)。 结果为: ring s t r i n g \0 c c+2 c[i]!=„\0‟ 例如 4): char c1[]=“boy”,c2[]=“girl”。 则: printf(“%s”,c1)。 printf(“%s”,c2)。 输出结果为: boygirl \n”,c1)。 bo girl 例如 2): printf(“%s”,”china”)。 结果为: china printf(“%.2s”,”china”)。 结果为: ch printf(“%.2s”,”china”+2)。 结果为: in printf(“%s”,”china”+2)。 结果为: ina 例如 3): char c[]={„a‟,‟b‟,‟c‟}。 printf(“%s”,c)。 结果为: 不确定 2)puts()函数 格式: puts(输出的起始地址 ) 若有定义: char c[]=“string”。 puts(c); 结果为: string puts(c+2); 结果为: ring 例如: char c1[]=“boy”,c2[]=“girl”。 puts(c2)。 输出结果为: 则: puts(c1)。 boy girl 注: puts函数自动将字符串结束标志 ’ \0‟转为 ’ \n‟输出,即该函数具有自动回车换行的功能。 输入: 若有定义: char c[20]。 1)scanf()函数 ① 逐个字符输入:格式符 %c ② 接收整个字符串:格式符 %s 格式: scanf(格式控制,接收字符的起始地址 ) i=0。 do {scanf(“%c”,amp。 c[i])。 i++。 } While( )。 例如: scanf(“%s”,c)。 若在程序运行中输入: china,则从 第一个 元素开始存放字符。 例如: scanf(“%s”,c+1)。 若在程序运行中输入: china,则从 第二个 元素开始存放字符。 c[i]!=„\n‟ 如果数组中存储一个“ 字符串 ” ,而且当遇回车符结束输入,应怎样表示条件。 i19 amp。 amp。 若在程序中输入: boy and gilr 然后 puts(c)。 该语句的输出结果为: boy 注:空格 、 回车符 都作为输入数据的分隔符而不能被读入。 2) gets()函数 格式: gets(接收字符的起始地址 ) 例如 :gets(c)。 注: 输入字符串以回车作为结束。 空格、制表符都作为 有效数据接收。 自动将回车转为结束标记 ’ \0‟。 注: 使用以上函数需要在函数首加头文件: 如有: char s[20]。例题:输入一个任意位数整数,求出每位上的数字,从高位向
相关推荐
包金額 億 億 億 46 億 招標方式 自辦 自辦 自辦 自辦 公開 公開 公開 自辦 標別 CO2 標 CO3 標 CO4 標 CD0 標 CD1 標 CD2 標 CD3 標 統包商 隆大營造 皇昌營造 新亞建設 理成營造 榮工公司 聯鋼營造 聯鋼營造 日商前 田建設 華升上大營造 金務大公司 金務大公 司 金務大公 司 榮工公司 發包金額 億 億 億 億 36 億 億 億 招標方式 公開
怕冷,跟他挤挤就行。 ” 女王与丈夫的故事 阿尔贝托和妻子维多利亚女王感情和谐 , 但也曾有不愉快的时候。 有一天晚上王宫举行大宴 , 女王忙于接见王公贵族 , 却冷落了丈夫。 阿尔贝托很生气 , 就悄悄回卧室去了。 不久有人敲门 , 阿尔贝托很冷静地问: “ 谁。 ” “ 我是女王。 ” 外面答道 , 语气有点生硬。 门没有开 , 房间里没有一点动静。 女王悻悻地离开了 ,但她走了一半 ,
◎縮短內部整備作業時間 ◎縮短外部整備作業時間 ◎零切換 2020/11/23 國立中山大學國營班第 17期 32 JIT北美版 同步解決問題 ‧歸根究底 ‧永久解決 ‧團隊方法… 直線及專家負責 ‧持續教育 績效評估 ‧強調改善 ‧追蹤趨勢1 . 設計流程‧作業連接‧平衡工作站產能‧流程取代‧強調預防保養‧減小批量‧減少設定╱轉換時間2 . 全面品質控制‧員工負責‧衡量:S Q
6m,一只老鼠从距底面 1m的 A处沿侧面爬行到对角 B处吃食物,它爬行的最短路线长为多少。 A B 分析:由于老鼠是沿着圆柱的侧面爬行的,故需把圆柱展开成平面图形 .根据两点之间线段最短,可以发现 A、 B分别在圆柱侧面展开图的宽 1m处和长24m的中点处,即 AB长为最短路线 .(如图 ) 分析: AC = 6 – 1 = 5 , BC = 24 = 12, 由勾股定理得 AB2= AC2+
, 已知乙的速度是甲的 5/3倍, 200秒后两人第一次相遇,问他们速度各是多少。 例 4: 有一列队伍以 3米 /秒的速度前行,队伍长为 40米。 距离队尾 100米处的甲要快速追上队首的同学,若甲的速度为 5米 /秒。 问:甲经过多少时间能到达队首。 例 一列客运火车行驶的速度是 120千米 ∕ 时,长度是 500米。 一列货车速度是 80千米 ∕ 时,长度是 300米。 两列火车相向而行