C语言程序设计经典100例(全)

上传人:gbs****77 文档编号:9926187 上传时间:2020-04-09 格式:DOCX 页数:128 大小:49.39KB
返回 下载 相关 举报
C语言程序设计经典100例(全)_第1页
第1页 / 共128页
C语言程序设计经典100例(全)_第2页
第2页 / 共128页
C语言程序设计经典100例(全)_第3页
第3页 / 共128页
点击查看更多>>
资源描述
103f 程序 1 题目 有 1 2 3 4 个数字 能组成多少个互不相同且无重复数字的三位数 都是多少 1 程序分析 可填在百位 十位 个位的数字都是 1 2 3 4 组成所有的排列后再去 掉不满足条件的排列 2 程序源代码 main int i j k printf n for i 1 i 5 i 以下为三重循环 for j 1 j 5 j for k 1 k 5 k if i k 程序 2 题目 企业发放的奖金根据利润提成 利润 I 低于或等于 10 万元时 奖金可提 10 利润高 于 10 万元 低于 20 万元时 低于 10 万元的部分按 10 提成 高于 10 万元的部分 可可提 成 7 5 20 万到 40 万之间时 高于 20 万元的部分 可提成 5 40 万到 60 万之间时 高于 40 万元的部分 可提成 3 60 万到 100 万之间时 高于 60 万元的部分 可提成 1 5 高于 100 万元时 超过 100 万元的部分按 1 提成 从键盘输入当月利润 I 求应发放奖金总 数 1 程序分析 请利用数轴来分界 定位 注意定义时需把奖金定义成长整型 2 程序源代码 main long int i int bonus1 bonus2 bonus4 bonus6 bonus10 bonus scanf ld bonus1 100000 0 1 bonus2 bonus1 100000 0 75 bonus4 bonus2 200000 0 5 bonus6 bonus4 200000 0 3 bonus10 bonus6 400000 0 15 if i 100000 bonus i 0 1 else if i 200000 bonus bonus1 i 100000 0 075 else if i 400000 bonus bonus2 i 200000 0 05 else if i 600000 bonus bonus4 i 400000 0 03 else if i 1000000 bonus bonus6 i 600000 0 015 else bonus bonus10 i 1000000 0 01 printf bonus d bonus 程序 3 题目 一个整数 它加上 100 后是一个完全平方数 再加上 168 又是一个完全平方数 请问该 数是多少 1 程序分析 在 10 万以内判断 先将该数加上 100 后再开方 再将该数加上 268 后再开方 如果开方后 的结果满足如下条件 即是结果 请看具体分析 2 程序源代码 include math h main long int i x y z for i 1 i2 如果是闰年且月份大于 2 总天数应该加一天 sum printf It is the dth day sum 程序 5 题目 输入三个整数 x y z 请把这三个数由小到大输出 1 程序分析 我们想办法把最小的数放到 x 上 先将 x 与 y 进行比较 如果 x y 则将 x 与 y 的 值进行交换 然后再用 x 与 z 进行比较 如果 x z 则将 x 与 z 的值进行交换 这样能使 x 最小 2 程序源代码 main int x y z t scanf d d d if x y t x x y y t 交换 x y 的值 if x z t z z x x t 交换 x z 的值 if y z t y y z z t 交换 z y 的值 printf small to big d d d n x y z 程序 6 题目 用 号输出字母 C 的图案 1 程序分析 可先 103f 号在纸上写出字母 C 再分行输出 2 程序源代码 include stdio h main printf Hello C world n printf n printf n printf n printf n 程序 7 题目 输出特殊图案 请在 c 环境中运行 看一看 Very Beautiful 1 程序分析 字符共有 256 个 不同字符 图形不一样 2 程序源代码 include stdio h main char a 176 b 219 printf c c c c c n b a a a b printf c c c c c n a b a b a printf c c c c c n a a b a a printf c c c c c n a b a b a printf c c c c c n b a a a b 程序 8 题目 输出 9 9 口诀 1 程序分析 分行与列考虑 共 9 行 9 列 i 控制行 j 控制列 2 程序源代码 include stdio h main int i j result printf n for i 1 i 10 i for j 1 j 10 j result i j printf d d 3d i j result 3d 表示左对齐 占 3 位 printf n 每一行后换行 程序 9 题目 要求输出国际象棋棋盘 1 程序分析 用 i 控制行 j 来控制列 根据 i j 的和的变化来控制输出黑方格 还是白方格 2 程序源代码 include stdio h main int i j for i 0 i 8 i for j 0 j 8 j if i j 2 0 printf c c 219 219 else printf printf n 程序 10 题目 打印楼梯 同时在楼梯上方打印两个笑脸 1 程序分析 用 i 控制行 j 来控制列 j 根据 i 的变化来控制输出黑方格的个数 2 程序源代码 include stdio h main int i j printf 1 1 n 输出两个笑脸 for i 1 i 11 i for j 1 j i j printf c c 219 219 printf n 程序 11 题目 古典问题 有一对兔子 从出生后第 3 个月起每个月都生一对兔子 小兔子长到第三个 月 后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 1 程序分析 兔子的规律为数列 1 1 2 3 5 8 13 21 2 程序源代码 main long f1 f2 int i f1 f2 1 for i 1 i 20 i printf 12ld 12ld f1 f2 if i 2 0 printf n 控制输出 每行四个 f1 f1 f2 前两个月加起来赋值给第三个月 f2 f1 f2 前两个月加起来赋值给第三个月 程序 12 题目 判断 101 200 之间有多少个素数 并输出所有素数 1 程序分析 判断素数的方法 用一个数分别去除 2 到 sqrt 这个数 如果能被整除 则表明此数不是素数 反之是素数 2 程序源代码 include math h main int m i k h 0 leap 1 printf n for m 101 m 200 m k sqrt m 1 for i 2 i k i if m i 0 leap 0 break if leap printf 4d m h if h 10 0 printf n leap 1 printf nThe total is d h 程序 13 题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等 于该数 本身 例如 153 是一个 水仙花数 因为 153 1 的三次方 5 的三次方 3 的三次方 1 程序分析 利用 for 循环控制 100 999 个数 每个数分解出个位 十位 百位 2 程序源代码 main int i j k n printf water flower number is for n 100 n 1000 n i n 100 分解出百位 j n 10 10 分解出十位 k n 10 分解出个位 if i 100 j 10 k i i i j j j k k k printf 5d n printf n 程序 14 题目 将一个正整数分解质因数 例如 输入 90 打印出 90 2 3 3 5 程序分析 对 n 进行分解质因数 应先找到一个最小的质数 k 然后按下述步骤完成 1 如果这个质数恰等于 n 则说明分解质因数的过程已经结束 打印出即可 2 如果 nk 但 n 能被 k 整除 则应打印出 k 的值 并用 n 除以 k 的商 作为新的正整数你 n 重复执行第一步 3 如果 n 不能被 k 整除 则用 k 1 作为 k 的值 重复执行第一步 2 程序源代码 103f zheng int is divided yinshu main int n i printf nplease input a number n scanf d printf d n for i 2 i 90 分的同学用 A 表示 60 89 分之间的 用 B 表示 60 分以下的用 C 表示 1 程序分析 a b a b 这是条件运算符的基本例子 2 程序源代码 main int score char grade printf please input a score n scanf d grade score 90 A score 60 B C printf d belongs to c score grade 程序 16 题目 输入两个正整数 m 和 n 求其最大公约数和最小公倍数 1 程序分析 利用辗除法 2 程序源代码 main int a b num1 num2 temp printf please input two numbers n scanf d d if num1 temp num1 num1 num2 num2 temp a num1 b num2 while b 0 利用辗除法 直到 b 为 0 为止 temp a b a b b temp printf gongyueshu d n a printf gongbeishu d n num1 num2 a 程序 17 题目 输入一行字符 分别统计出其中英文字母 空格 数字和其它字符的个数 1 程序分析 利用 while 语句 条件为输入的字符不为 n 2 程序源代码 include stdio h main char c int letters 0 space 0 digit 0 others 0 printf please input some characters n while c getchar n if c a else others printf all in all char d space d digit d others d n letters space digit others 程序 18 题目 求 s a aa aaa aaaa aa a 的值 其中 a 是一个数字 例如 2 22 222 2222 22222 此时 共有 5 个数相加 几个数相加有键盘控制 1 程序分析 关键是计算出每一项的值 2 程序源代码 main int a n count 1 long int sn 0 tn 0 printf please input a and n n scanf d d printf a d n d n a n while count n tn tn a sn sn tn a a 10 count printf a aa ld n sn 程序 19 题目 一个数如果恰好等于它的因子之和 这个数就称为 完数 例如 6 1 2 3 编程 找出 1000 以内的所有完数 1 程序分析 请参照程序 上页程序 14 2 程序源代码 main static int k 10 int i j n s for j 2 j 1000 j n 1 s j for i 1 i if j i 0 n s s i k n i if s 0 printf d is a wanshu j for i 0 i printf d k i printf d n k n 程序 20 题目 一球从 100 米高度自由落下 每次落地后反跳回原高度的一半 再落下 求它在 第 10 次落地时 共经过多少米 第 10 次反弹多高 1 程序分析 见下面注释 2 程序源代码 main float sn 100 0 hn sn 2 int n for n 2 n0 x1 x2 1 2 第一天的桃子数是第 2 天桃子数加 1 后的 2 倍 x2 x1 day printf the total is d n x1 103f 程序 22 题目 两个乒乓球队进行比赛 各出三人 甲队为 a b c 三人 乙队为 x y z 三人 已抽签决定 比赛名单 有人向队员打听比赛的名单 a 说他不和 x 比 c 说他不和 x z 比 请编程序 找出 三队赛手的名单 1 程序分析 判断素数的方法 用一个数分别去除 2 到 sqrt 这个数 如果能被整除 则表明此数不是素数 反之是素数 2 程序源代码 main char i j k i 是 a 的对手 j 是 b 的对手 k 是 c 的对手 for i x i z i for j x j z j if i j for k x k z k if i k 程序 23 题目 打印出如下图案 菱形 1 程序分析 先把图形分成两部分来看待 前四行一个规律 后三行一个规律 利用双重 for 循环 第一层控制行 第二层控制列 2 程序源代码 main int i j k for i 0 i 3 i for j 0 j 2 i j printf for k 0 k 2 i k printf printf n for i 0 i 2 i for j 0 j i j printf for k 0 k 4 2 i k printf printf n 程序 24 题目 有一分数序列 2 1 3 2 5 3 8 5 13 8 21 13 求出这个数列的前 20 项之和 1 程序分析 请抓住分子与分母的变化规律 2 程序源代码 main int n t number 20 float a 2 b 1 s 0 for n 1 n number n s s a b t a a a b b t 这部分是程序的关键 请读者猜猜 t 的作用 printf sum is 9 6f n s 程序 25 题目 求 1 2 3 20 的和 1 程序分析 此程序只是把累加变成了累乘 2 程序源代码 main float n s 0 t 1 for n 1 n 20 n t n s t printf 1 2 3 20 e n s 程序 26 题目 利用递归方法求 5 1 程序分析 递归公式 fn fn 1 4 2 程序源代码 include stdio h main int i int fact for i 0 i 5 i printf 40 d d n i fact i int fact j int j int sum if j 0 sum 1 else sum j fact j 1 return sum 程序 27 题目 利用递归函数调用方式 将所输入的 5 个字符 以相反顺序打印出来 1 程序分析 2 程序源代码 include stdio h main int i 5 void palin int n printf 40 palin i printf n void palin n int n char next if n 1 next getchar printf n 0 putchar next else next getchar palin n 1 putchar next 程序 28 题目 有 5 个人坐在一起 问第五个人多少岁 他说比第 4 个人大 2 岁 问第 4 个人岁数 他 说比第 3 个人大 2 岁 问第三个人 又说比第 2 人大两岁 问第 2 个人 说比第一个人大两岁 最后 问第一个人 他说是 10 岁 请问第五个人多大 1 程序分析 利用递归的方法 递归分为回推和递推两个阶段 要想知道第五个人岁数 需知 道 第四人的岁数 依次类推 推到第一人 10 岁 再往回推 2 程序源代码 age n int n int c if n 1 c 10 else c age n 1 2 return c main printf d age 5 程序 29 题目 给一个不多于 5 位的正整数 要求 一 求它是几位数 二 逆序打印出各位数字 1 程序分析 学会分解出每一位数 如下解释 这里是一种简单的算法 师专数 002 班赵鑫 提供 2 程序源代码 main long a b c d e x scanf ld a x 10000 分解出万位 b x 10000 1000 分解出千位 c x 1000 100 分解出百位 d x 100 10 分解出十位 e x 10 分解出个位 if a 0 printf there are 5 ld ld ld ld ld n e d c b a else if b 0 printf there are 4 ld ld ld ld n e d c b else if c 0 printf there are 3 ld ld ld n e d c else if d 0 printf there are 2 ld ld n e d else if e 0 printf there are 1 ld n e 103f 程序 30 题目 一个 5 位数 判断它是不是回文数 即 12321 是回文数 个位与万位相同 十位与千位 相同 1 程序分析 同 29 例 2 程序源代码 main long ge shi qian wan x scanf ld wan x 10000 qian x 10000 1000 shi x 100 10 ge x 10 if ge wan else printf this number is not a huiwen n 程序 31 题目 请输入星期几的第一个字母来判断一下是星期几 如果第一个字母一样 则继续 判断第二个字母 1 程序分析 用情况语句比较好 如果第一个字母一样 则判断用情况语句或 if 语句判断第二 个字母 2 程序源代码 include void main char letter printf please input the first letter of someday n while letter getch Y 当所按字母为 Y 时才结束 switch letter case S printf please input second letter n if letter getch a printf saturday n else if letter getch u printf sunday n else printf data error n break case F printf friday n break case M printf monday n break case T printf please input second letter n if letter getch u printf tuesday n else if letter getch h printf thursday n else printf data error n break case W printf wednesday n break default printf data error n 程序 32 题目 Press any key to change color do you want to try it Please hurry up 1 程序分析 2 程序源代码 include void main void int color for color 0 color 8 color textbackground color 设置文本的背景颜色 cprintf This is color d r n color cprintf Press any key to continue r n getch 输入字符看不见 程序 33 题目 学习 gotoxy 与 clrscr 函数 1 程序分析 2 程序源代码 include void main void clrscr 清屏函数 textbackground 2 gotoxy 1 5 定位函数 cprintf Output at row 5 column 1 n textbackground 3 gotoxy 20 10 cprintf Output at row 10 column 20 n 程序 34 题目 练习函数调用 1 程序分析 2 程序源代码 include void hello world void printf Hello world n void three hellos void int counter for counter 1 counter 3 counter hello world 调用此函数 void main void three hellos 调用此函数 程序 35 题目 文本颜色设置 1 程序分析 2 程序源代码 include void main void int color for color 1 color 16 color textcolor color 设置文本颜色 cprintf This is color d r n color textcolor 128 15 cprintf This is blinking r n 程序 36 题目 求 100 之内的素数 1 程序分析 2 程序源代码 include include math h define N 101 main int i j line a N for i 2 i N i a i i for i 2 i sqrt N i for j i 1 j N j if a i 0 printf n for i 2 line 0 i N i if a i 0 printf 5d a i line if line 10 printf n line 0 程序 37 题目 对 10 个数进行排序 1 程序分析 可以利用选择法 即从后 9 个比较过程中 选择一个最小的与第一个元素交换 下次类推 即用第二个元素与后 8 个进行比较 并进行交换 2 程序源代码 define N 10 main int i j min tem a N input data printf please input ten num n for i 0 i N i printf a d i scanf d printf n 103f for i 0 i N i printf 5d a i printf n sort ten num for i 0 i N 1 i min i for j i 1 ja j min j tem a i a i a min a min tem output data printf After sorted n for i 0 i N i printf 5d a i 程序 38 题目 求一个 3 3 矩阵对角线元素之和 1 程序分析 利用双重 for 循环控制输入二维数组 再将 a i i 累加后输出 2 程序源代码 main float a 3 3 sum 0 int i j printf please input rectangle element n for i 0 i 3 i for j 0 j 3 j scanf f for i 0 i 3 i sum sum a i i printf duijiaoxian he is 6 2f sum 程序 39 题目 有一个已经排好序的数组 现输入一个数 要求按原来的规律将它插入数组中 1 程序分析 首先判断此数是否大于最后一个数 然后再考虑插入中间的数的情况 插入后 此元素之后的数 依次后移一个位置 2 程序源代码 main int a 11 1 4 6 9 13 16 19 28 40 100 int temp1 temp2 number end i j printf original array is n for i 0 iend a 10 number else for i 0 inumber temp1 a i a i number for j i 1 j 11 j temp2 a j a j temp1 temp1 temp2 break for i 0 i 11 i printf 6d a i 程序 40 题目 将一个数组逆序输出 1 程序分析 用第一个与最后一个交换 2 程序源代码 define N 5 main int a N 9 6 5 4 1 i temp printf n original array n for i 0 i N i printf 4d a i for i 0 i N 2 i temp a i a i a N i 1 a N i 1 temp printf n sorted array n for i 0 i N i printf 4d a i 程序 41 题目 学习 static 定义静态变量的用法 1 程序分析 2 程序源代码 include stdio h varfunc int var 0 static int static var 0 printf 40 var equal d n var printf 40 static var equal d n static var printf n var static var void main int i for i 0 i 3 i varfunc 程序 42 题目 学习使用 auto 定义变量的用法 1 程序分析 2 程序源代码 include stdio h main int i num num 2 for i 0 i 3 i printf 40 The num equal d n num num auto int num 1 printf 40 The internal block num equal d n num num 程序 43 题目 学习使用 static 的另一用法 1 程序分析 2 程序源代码 include stdio h main int i num num 2 for i 0 i 3 i printf 40 The num equal d n num num static int num 1 printf 40 The internal block num equal d n num num 程序 44 题目 学习使用 external 的用法 1 程序分析 2 程序源代码 include stdio h int a b c void add int a a 3 c a b void main a b 4 add printf The value of c is equal to d n c 程序 45 题目 学习使用 register 定义变量的方法 1 程序分析 2 程序源代码 void main register int i int tmp 0 for i 1 i scanf d printf 40 The square for this number is d n SQ num if num 50 again 103f TRUE else again FALSE 程序 47 题目 宏 define 命令练习 2 1 程序分析 2 程序源代码 include stdio h define exchange a b 宏定义中允许包含两道衣裳命令的情形 此时必须在最右边加上 int t t a a b b t void main void int x 10 int y 20 printf x d y d n x y exchange x y printf x d y d n x y 程序 48 题目 宏 define 命令练习 3 1 程序分析 2 程序源代码 define LAG define SMA y x y define MINIMUM x y x y y x void main int a 10 b 20 ifdef MAX printf 40 The larger one is d n MAXIMUM a b else printf 40 The lower one is d n MINIMUM a b endif ifndef MIN printf 40 The lower one is d n MINIMUM a b else printf 40 The larger one is d n MAXIMUM a b endif undef MAX ifdef MAX printf 40 The larger one is d n MAXIMUM a b else printf 40 The lower one is d n MINIMUM a b endif define MIN ifndef MIN printf 40 The lower one is d n MINIMUM a b else printf 40 The larger one is d n MAXIMUM a b endif 程序 50 题目 include 的应用练习 1 程序分析 2 程序源代码 test h 文件如下 define LAG define SMA define EQ include test h 一个新文件 50 c 包含 test h include stdio h void main int i 10 int j 20 if i LAG j printf 40 d larger than d n i j else if i EQ j printf 40 d equal to d n i j else if i SMA j printf 40 d smaller than d n i j else printf 40 No such value n 程序 51 题目 学习使用按位与 0 1 1 a 077 b a printf 40 The a b printf 40 The a 程序 52 题目 学习使用按位或 1 程序分析 0 0 0 0 1 1 1 0 1 1 1 1 2 程序源代码 include stdio h main int a b a 077 b a 3 printf 40 The a b 7 printf 40 The a 程序 53 题目 学习使用按位异或 1 程序分析 0 0 0 0 1 1 1 0 1 1 1 0 2 程序源代码 include stdio h main int a b a 077 b a 3 printf 40 The a b 7 printf 40 The a 程序 54 题目 取一个整数 a 从右端开始的 4 7 位 程序分析 可以这样考虑 1 先使 a 右移 4 位 2 设置一个低 4 位全为 1 其余全为 0 的数 可用 0 4 c 0 4 d b printf o n o n a d 程序 55 题目 学习使用按位取反 1 程序分析 0 1 1 0 2 程序源代码 include stdio h main int a b a 234 b a printf 40 The a s 1 complement decimal is d n b a a printf 40 The a s 1 complement hexidecimal is x n a 程序 56 题目 画图 学用 circle 画圆形 1 程序分析 2 程 103f 蛟创 耄 circle include graphics h main int driver mode i float j 1 k 1 driver VGA mode VGAHI initgraph setbkcolor YELLOW for i 0 i 25 i setcolor 8 circle 310 250 k k k j j j 0 3 程序 57 题目 画图 学用 line 画直线 1 程序分析 2 程序源代码 include graphics h main int driver mode i float x0 y0 y1 x1 float j 12 k driver VGA mode VGAHI initgraph setbkcolor GREEN x0 263 y0 263 y1 275 x1 275 for i 0 i 18 i setcolor 5 line x0 y0 x0 y1 x0 x0 5 y0 y0 5 x1 x1 5 y1 y1 5 j j 10 x0 263 y1 275 y0 263 for i 0 i 20 i setcolor 5 line x0 y0 x0 y1 x0 x0 5 y0 y0 5 y1 y1 5 程序 58 题目 画图 学用 rectangle 画方形 1 程序分析 利用 for 循环控制 100 999 个数 每个数分解出个位 十位 百位 2 程序源代码 include graphics h main int x0 y0 y1 x1 driver mode i driver VGA mode VGAHI initgraph setbkcolor YELLOW x0 263 y0 263 y1 275 x1 275 for i 0 i 18 i setcolor 1 rectangle x0 y0 x1 y1 x0 x0 5 y0 y0 5 x1 x1 5 y1 y1 5 settextstyle DEFAULT FONT HORIZ DIR 2 outtextxy 150 40 How beautiful it is line 130 60 480 60 setcolor 2 circle 269 269 137 程序 59 题目 画图 综合例子 1 程序分析 2 程序源代码 define PAI 3 1415926 define B 0 809 include graphics h include math h main int i j k x0 y0 x y driver mode float a driver CGA mode CGAC0 initgraph setcolor 3 setbkcolor GREEN x0 150 y0 100 circle x0 y0 10 circle x0 y0 20 circle x0 y0 50 for i 0 i 16 i a 2 PAI 16 i x ceil x0 48 cos a y ceil y0 48 sin a B setcolor 2 line x0 y0 x y setcolor 3 circle x0 y0 60 Make 0 time normal size letters settextstyle DEFAULT FONT HORIZ DIR 0 outtextxy 10 170 press a key getch setfillstyle HATCH FILL YELLOW floodfill 202 100 WHITE getch for k 0 k 500 k setcolor 3 for i 0 i 16 i a 2 PAI 16 i 2 PAI 180 k x ceil x0 48 cos a y ceil y0 48 sin a B setcolor 2 line x0 y0 x y for j 1 j 50 j a 2 PAI 16 i 2 PAI 180 k 1 x ceil x0 48 cos a y ceil y0 48 sin a B line x0 y0 x y restorecrtmode 程序 60 题目 画图 综合例子 1 程序分析 2 程序源代码 include graphics h define LEFT 0 define TOP 0 define RIGHT 639 define BOTTOM 479 define LINES 400 define MAXCOLOR 15 main int driver mode error int x1 y1 int x2 y2 int dx1 dy1 dx2 dy2 i 1 int count 0 int color 0 driver VGA mode VGAHI initgraph x1 x2 y1 y2 10 dx1 dy1 2 dx2 dy2 3 while kbhit line x1 y1 x2 y2 x1 dx1 y1 dy1 x2 dx2 y2 dy2 if x1 RIGHT dx1 dx1 if y1 BOTTOM dy1 dy1 if x2 RIGHT dx2 dx2 if y2 BOTTOM dy2 dy2 if count LINES setcolor color color color MAXCOLOR 0 color closegraph 程序 61 题目 打印出杨辉三角形 要求打印出 10 行如下图 1 程序分析 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 2 程序源代码 main int i j int a 10 10 printf n for i 0 i 10 i a i 0 1 a i i 1 for i 2 i 10 i for j 1 j i j a i j a i 1 j 1 a i 1 j for i 0 i 10 i for j 0 j i j printf 5d a i j printf n 程序 62 题目 学习 putpixel 画点 1 程序分析 2 程序源代码 103f include stdio h include graphics h main int i j driver VGA mode VGAHI initgraph setbkcolor YELLOW for i 50 i 230 i 20 for j 50 j 230 j putpixel i j 1 for j 50 j 230 j 20 for i 50 i 230 i putpixel i j 1 程序 63 题目 画椭圆 ellipse 1 程序分析 2 程序源代码 include stdio h include graphics h include conio h main int x 360 y 160 driver VGA mode VGAHI int num 20 i int top bottom initgraph top y 30 bottom y 30 for i 0 i num i ellipse 250 250 0 360 top bottom top 5 bottom 5 getch 程序 64 题目 利用 ellipse and rectangle 画图 1 程序分析 2 程序源代码 include stdio h include graphics h include conio h main int driver VGA mode VGAHI int i num 15 top 50 int left 20 right 50 initgraph for i 0 i num i ellipse 250 250 0 360 right left ellipse 250 250 0 360 20 top rectangle 20 2 i 20 2 i 10 i 2 10 i 2 right 5 left 5 top 10 getch 程序 65 题目 一个最优美的图案 1 程序分析 2 程序源代码 include graphics h include math h include dos h include conio h include stdlib h include stdio h include stdarg h define MAXPTS 15 define PI 3 1415926 struct PTS int x y double AspectRatio 0 85 void LineToDemo void struct viewporttype vp struct PTS points MAXPTS int i j h w xcenter ycenter int radius angle step double rads printf MoveTo LineTo Demonstration getviewsettings h vp bottom vp top w vp right vp left xcenter w 2 Determine the center of circle ycenter h 2 radius h 30 AspectRatio 2 step 360 MAXPTS Determine of increments angle 0 Begin at zero degrees for i 0 i MAXPTS i Determine circle intercepts rads double angle PI 180 0 Convert angle to radians points i x xcenter int cos rads radius points i y ycenter int sin rads radius AspectRatio angle step Move to next increment circle xcenter ycenter radius Draw bounding circle for i 0 i MAXPTS i Draw the cords to the circle for j i jn2 swap pointer1 pointer2 if n1 n3 swap pointer1 pointer3 if n2 n3 swap pointer2 pointer3 printf the sorted numbers are d d d n n1 n2 n3 swap p1 p2 int p1 p2 int p p p1 p1 p2 p2 p 程序 67 题目 输入数组 最大的与第一个元素交换 最小的与最后一个元素交换 输出数组 1 程序分析 谭浩强的书中答案有问题 2 程序源代码 main int number 10 input number max min number output number input number int number 10 int i for i 0 i 9 i scanf d scanf d max min array int array 10 int max min k l int p arr end arr end array 10 max min array for p array 1 p max max p else if p min min p k max l min p array 0 array 0 l l p p array 9 array 9 k k p return output array int array 10 103f int p for p array p array 9 p printf d p printf d n array 9 程序 68 题目 有 n 个整数 使其前面各数顺序向后移 m 个位置 最后 m 个数变成最前面的 m 个数 1 程序分析 2 程序源代码 main int number 20 n m i printf the total numbers is scanf d printf back m scanf d for i 0 i n 1 i scanf d scanf d move number n m for i 0 iarray p p p 1 array array end m if m 0 move array n m 程序 69 题目 有 n 个人围成一圈 顺序排号 从第一个人开始报数 从 1 到 3 报数 凡报到 3 的人 退出 圈子 问最后留下的是原来第几号的那位 1 程序分析 2 程序源代码 define nmax 50 main int i k m n num nmax p printf please input the total of numbers scanf d p num for i 0 i n i p i i 1 i 0 k 0 m 0 while m n 1 if p i 0 k if k 3 p i 0 k 0 m i if i n i 0 while p 0 p printf d is left n p 程序 70 题目 写一个函数 求一个字符串的长度 在 main 函数中输入字符串 并输出其长度 1 程序分析 2 程序源代码 main int len char str 20 printf please input a string n scanf s str len length str printf the string has d characters len length p char p int n n 0 while p 0 n p return n 程序 71 题目 编写 input 和 output 函数输入 输出 5 个学生的数据记录 1 程序分析 2 程序源代码 define N 5 struct student char num 6 char name 8 int score 4 stu N input stu struct student stu int i j for i 0 i N i printf n please input d of d n i 1 N printf num scanf s stu i num printf name scanf s stu i name for j 0 j 3 j printf score d j 1 scanf d printf n print stu struct student stu int i j printf nNo Name Sco1 Sco2 Sco3 n for i 0 i N i printf 6s 10s stu i num stu i name for j 0 j n for i 0 idata num ptr next link malloc sizeof node if i 4 ptr next NULL else ptr ptr next ptr head while ptr NULL printf The value is d n ptr data ptr ptr next 程序 73 题目 反向输出一个链表 1 程序分析 2 程序源代码 reverse output a list include stdlib h include stdio h struct list int data struct list next typedef struct list node typedef node link void main link ptr head tail int num i tail link malloc sizeof node tail next NULL ptr tail printf nplease i
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!