C语言作业及参考答案_第1页
C语言作业及参考答案_第2页
C语言作业及参考答案_第3页
C语言作业及参考答案_第4页
C语言作业及参考答案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言及实验作业参考做法分支程序设计上机作业:标题三角形判断描述输入三条边的长,输出这三条边是否构成等边三角形、等腰三角形、直角 三角形、普通三角形,还是不能构成三角形输入数据整数a,b,c的值输出数据等边三角形、等腰三角形、直角三角形、普通三角形,或不能构成三角形输入例如5 5 5输出例如等边三角形#include int main( ) int a,b,c;scanf(%d%d%d,&a,&b,&c);if(a=b&b=c) printf(T);else if(a+bc&a+cb&b+ca) if(a=b|b=c|a=c) printf(2)

2、;else if(a*a+b*b=c*c|b*b+c*c=a*a|a*a+c*c=b*b) printf(3);else printf(4);else printf(5);return 0;标题计算函数的值描述当x1时,y=x当1咏10时,y=2x-1当xm0时,y=3x-11输入数据整数x的值输出数据一个整数表示函数的值输入例如5输出例如y=9#include int main() int x,y;scanf(%d,&x);if(x1) y=x;else if(x10) y=2*x-1; else y=3*x-11;printf(%d,y);return 0;标题数的别离|描述给一个

3、不多于3位的正整数(1)计算它是几位数(2)分别打印出每一位数字(3)逆序打印出各位数字输入数据一个不多于3位的正整数输出数据位数从高位到低位的各位数字 从低位到高位的各位数字输入例如456输出例如34 5 66 5 4提示123/100=23/10=123%10=测试数据1: 678 3 6 7 8 8 7 6测试数据2: 45 2 4 5 5 4测试数据3: 8 1 8 8#include int main() int p,t,s; int i,bit;10m.其中a是一个数字输入数据两个分别表示a和n的整数输出数据一个表示S(n)的整数输入例如3 5输出例如37035提示2*10+2=

4、22*10+2=#include int main() int a,n,i; long all=0,t; scanf(%d %d,&a,&n); t=a;for (i=1; i=n; i+) all=all+t;t=t*10+a; printf(%d,all); return 0;标题找出1000以内的所有算数描述匕一个数等于它的所有因子之和,这个数就称为完数.找出1000以内 内所有算数输入数据无输出数据算数及它的所有因子用逗号格开输入例如无输出例如6 its factor are 1,2,328 its factor are 1,2,4,7,14496 its factor

5、 are 1,2,4,8,16,31,62,124,248#include main() int a,b,k,s;for (k=2; k1000; k+) 二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上 都吃了前剩下的一半零一个.到第十天早上想再吃时,就只剩 下一个桃子了.问第 f 共摘了多少桃子.输入数据无输出数据表示第 f 桃子个数的整数#include main() int day,all;all=1;for(day=9; day0; day-) all=2*(all+1);printf(the first number is %dn,all); 标题_输出菱形图案描述输出图

6、案输入数据无输出数据菱形图案输入例如无输出例如*提示找规律上卜局部规律不同标题输出菱形图案2选做*描述输入一个整数n和一个字符c,输出菱形图案.菱形图案由字符c构成,图案总共2n+1行输入数据一个整数和一个字符输出数据菱形图案输入例如3*输出例如*提示上下n行对称#includeint main()int k,i,j,n;char c;scanf(%d%c,&n,&c);for(i=1; i=n+1; i+) for (j=1; j=n+1-i; j+) putchar();for (j=1; j=2*i-1; j+) putchar(c); printf(n);for (i=

7、1; i=n; i+) for (j=1; j=i; j+) putchar();for (j=1; j=(n+1-i)*2-1; j+) putchar(c); putchar(n);return 0;标题与7无关数的平方和描述一一个正整数,如果它能被7整除,或者它的十进制表示法中某 卜位数上的数字为7,那么称其为与7相关的数.现求所有小于 亨于n(n100)的与7无关的正整数的平方和.输入数据俞入为一正整数n,(n100)输出数据俞出小于等于n的与7无关的正整数的平方和输入例如2 1输出例如2 *336#includeint main()int n;int sum=0;int i,ge,s

8、hi;scanf(%d,&n);for(i=1; i=n; i+)ge=i%10;shi=i/10;if(ge=711shi=7|i%7=0)continue;sum+=i*i;printf(%d,sum);return 0;_书面作业:1 .从键盘上输入10个整数,计算这些整数的和2.水仙花数。一个3位数,假设其各位数字之和等于它本身,这个数就称为水仙花 数.输出所有的水仙花数。(如153)#includeint main() .前20项之和。#include int main() float sum,fenzi,fenmu,a;int i;fenzi=2;fenmu=1;sum=0

9、;for(i=1; i=20; i+)sum+=fenzi/fenmu;a=fenmu;fenmu=fenzi;fenzi+=a;printf(%.3f,sum);return 0;4.迭代法求平方根。利用公式x(n+1)=1/2*(x(n)+a/x(n)计算a的平方根.要 求|x(n+1)-x(n)|1e-5 #include #include main() float x0,x1,a;printf(input a=); scanf(%f,&a);x1=a/2; do x0=x1;x1=(x0+a/x0)/2;while(fabs(x1-x0)1e-5);printf(the sqr

10、t of %f is %fn,a,x1);5.百钱买百鸡:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱买 百鸡,问翁、母、雏各几何6.某人摘下一些桃子,第一天卖掉一半,又吃了一个,第二天卖掉剩下的一半, 又吃了一个,以后每天都是如此处理,到第n天发现只剩下一只桃子。输入n,输出一共摘了多少桃子。7.一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1,2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常 使用一个6*6*h的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂 要想方设法的减小每个订单运送时的包裹数量。他们很需

11、要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。输入输入文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中 间用空格隔开,分别为1*1至6*6这六种产品的数量。输入文件将以6个0组成 的一行结尾。输出除了输入的最后一行6个0以外,输入文件里每一行对应着输出文件的一行,每一行输出一个整数代表对应的订单所需的最小包裹数。样例输入0 0 4 0 0 17 5 1 0 0 00 0 0 0 0 0样例输出21数组上机作业:标题选择排序|描述用选择法对10个字符排序输入数据10个字符输出数据排好序的10个字符输入例如fgthyjpdsa输出例如adfghjpsty

12、#include int main() char a10;int i,j,k,t;for(i=0;i=9;i+)scanf(%c,&ai);for(j=0;j=8;j+)k=j;for(i=j+1;i=9;i+)if(aiak) k=i;t=aj;aj=ak;ak=t;for(i=0;i=9;i+) printf(%c,ai);return 0;标题字符串排序描述输入10个字符串,按从小到大的顺序排序后输出输入数据10个字符串输出数据从小到大有序的10个字符串输入例如qwe asdzxc hg up cctvare not goto head:例are asd cctv goto he

13、ad hg not qwe up zxc提示要求用冒泡排序方法#define N 10 int main() int i, j, k; char aN20,t20;printf( input 10 characters: ); for(i=0; iN; i+) gets(ai);for(i=0; iN-1; i+)-输入数据名下个非负整数c, c的位数=30每行一个c,当c=-1时中止/、要对-1进行计算!每,个c的结果占一仃输出数据1后存在淌足c%k = 0日勺k,输出山有这件日勺k,中间用空带隔 开,最后一个k后面有空格。2假设没有这样的k那么输出none30输入例如7213-1输出例如2

14、 3 5 62 3 4 6 8 9 none提示一个整型变量是放/、卜30位整数的#include#define N 30+1int getlargenumber(int AN) 6-7-7一月一日 7)输入数据输入有,仃,即一月一日星期几( w)。( 1=w=7)输出数据输出有一到多行,每彳 L 个月份,表示该月的13 日是星期五。输入例如7输出例如110#includeint main()int day13=0,12,31,28,31,30,31,30,31,31,30,31,30;int w;int i;scanf(%d,&w);for(i=1; i=12; i+)w=(w+da

15、yi)%7;if(w=5) printf(%dn,i);return 0;标题计算n!选做题*描述n 大于 12 ,小于 300输入数据输入一个大于 12 的整数输出数据输出有,到多仃,每仃输出 n!的 40 位输入例如80输出例如6558int main() int a2800=1,1;int n,i,j,jinwei,chenji,weishu=1;scanf(%d,&n);for(i=2; i=n; i+)jinwei=0;for(j=1; j0; i-) printf(%d,ai); j+;if(j%40=0)printf(n);printf(n);return 0;标题计算鞍

16、点选做题*描述找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在 该列上最小。也可能没有鞍点。输入数据输入一个 5 行 6 列二维数组输出数据二个表示鞍点位置的行、列号 没启鞍点输出none输入例如7 6 15 4 3 22 7 9 4 3 16 8 13 7 1 175 9 10 6 5 34 7 11 2 7 9输出例如2 3#includeint main() int a56;int i,j,k,hang,lie;int find=0;for(i=0; i5; i+)for(j=0; j6; j+)scanf(%d,&aij);for(i=0; i5; i+)k=0;fo

17、r(j=0;jaik) k=j;for(j=0;j5;j+)if(a皿kaik)break;if(j=5) printf(%d %d,i+1,k+1); find=1;if(!find) printf(none);return 0;标题找最长的单词选做题*描述输入一行字符,其中包括假设干个单词,单词之间用空格格开输入数据输入一行字符输出数据一个字符串(最长的单词)输入例如I HUDDD GH ASDFGHGF FG8976输出例如ASDFGHGF#include int main() int i, pos=0, word=0,start=0,maxlen=0;char string81;get

18、s(string);for(i=0; stringi!=0; i+)if (stringi= )if(word=1&i-startmaxlen)pos=start; maxlen=i-start; word=0;else if(word=0) word=1; start=i; for(i=pos; stringi!= &stringi!=0;i+) printf(%c,stringi);return 0;标题字符串比拟描述输入两个字符串,比拟这两个字符串的大小。比拟时从头开始依次 比拟两个用的对应字符,如果都相同,输出0,否那么输出/、同处两 个字符ASCII码的差。输入数据两

19、个字符串输出数据一个整数输入例如asdfg asghd输出例如-3提示3组测试数据:br和bhjbr和brgbrg和br#includeint main() char s120,s220;int i,cha=0;gets(s1); gets(s2);i=0;for(i=0;s1i&s2i; i+)if(s1i!=s2i) break;cha=s1i-s2i;printf(%d,cha);return 0;|书面作业:1.输入10个整数,输出最小值及最小值的下标。2.字符串复制。输入一个字符串,把它复制到一个字符数组中,并输出。3.找出一个5*6的二维数组的鞍点。一个数组的鞍点是一个位置

20、 (行号,列号), 该位置上的元素在该行值最大,在该列值最小.一个数组可能有一个鞍点,也可能 没有鞍点。4.字符分类统计。输入3行字符,分别统计其中英文大写字母、小写字母、数字、 空格及其他字符的个数。5.判断一个字符串是否是回文如abcba(顺读和逆读相同)6.折半查找。有15个数,按从小到大的顺序存放在一个数组中。输入一个数, 查找该数是数组中的第几个数。如果该数不在数组中,那么输出“找不到7.矩阵的乘法运算8.用筛选法求素数。对于一个整数x,只要删去所有不超过sqrt(x)的素数p的 所有倍数(不含p),剩下的就是不超过x的全部素数。9.输入1000个050的整数,统计每个数出现的次数1

21、0.公元元年元月元日(1年1月1日)是星期一确定公元y年m月d日是星11. A,B,C,D,E合伙夜间捕鱼,凌晨时都睡了。A第1个醒来,将鱼平分成5份, 多余1条扔掉,回家了。B第2个醒来,将鱼平分成5份,多余1条扔掉,回家 了;C、D、E依次醒来,按同样白方法分鱼。问5人至少合作捕到多少条鱼每 人醒来后看到多少条鱼12.完美立方。问题描述:aA3= bA3+ cA3+ dA3为完美立方等式。例如123= 6A3+ 8A3+ 10A3。编写一个程序,对任给的正整数N (N 0 100),寻找所有的四元组(a, b, c, d),使得aA3= bA3+ cA3+ dA3,其中1a,b, c, d

22、 N。输入:正整数N (N0 100)输出:每行输出一个完美立方,按照a的值,从小到大依次输出。当两个完美 立方等式中a的值相同,那么依次按照b、c、d进行非降升序排列输出,即b值 小的先输出、然后c值小的先输出、然后d值小的先输出。#include int main()int n;scanf(%d,&n);int i, cube101;for(i=0;i=100;i+) cubei=i*i*i;int a,b,c,d;for(a=2;a=n;a+)for(b=2;ba;b+)for(c=b;ca;c+)for(d=c;da;d+)if(cubea = cubeb+cubec+cube

23、d)printf(Cube = %d, Triple = (%d,%d,%d)n,a,b,c,d);return 0;13.给定一个整数序列,判断其中有多少个数,等于数列中其他两个数的和。比 如,对于数列1 2 3 4,这个问题的答案就是2,因为3 = 2 + 1,4 = 1 + 3。14.猜字游戏。计算机生成一个随机数,用户来猜。猜对数字但是位置不对用nB来表示,位置正确用nA表示。例如随机数:2468一猜:0123 0A,1B二猜:1234 0A,2B三猜:2345 1A,1B四猜:2346 1A,2B五猜:8346 0A,3B六猜:2846 1A,3B七猜:2486 2A,2B八猜:24

24、68 4A15. A,B,C是小学老师,各教两门课,互不重复。共有6门课:语文、算术、政 治、地理、音乐和美术。:(1)政治老师和算术老师是邻居(2)地理老师比语文老师年纪大(3)B最年轻(4)A经常对地理老师和算术老师讲他看过的文学作品(5)B经常和音乐老师、语文老师一起游泳16.过年了,村里要庆祝一下。村长对村里的128个村民说:做一个游戏,让每 个人把出生年十月十日得到一个数。例如:1968年10月28日=1968+10+28=2006然后把这个数报上来。村里有一笔钱要作为游戏的奖金,数额为M元。如果有人 报上来的数字与M相同,就把这笔钱发给这些人。如果只有一个人得奖,奖金都 归这个人。

25、如果有多于一个人得奖,那么他们平分这笔钱。现在让我们来写一段程 序算算都有哪些人得到了奖金得到多少函数上机作业:标题折半查找描述输入10个从小到大的数,再输入一个数x,用折半方法查找x在10个数中的位置(0-9),输出-1表示找/、到.输入数据10个从小到大的整数和一个整数输出数据一个表示位置的数(-1至9)输入例如1 2 3 4 5 6 7 8 9 10 1输出例如0提示注意折半查找的方法标题找最大数选作题*描述利用函数找出9个数的最大值.请设一个函数找出9个数的最大 值,在主函数中调用这个函数,输出最大值.输入数据9个整数输出数据1个表示最大值的整数输入例如3 4 7 2 99 2 4 6

26、 1输出例如99提示必须使用函数标题判断素数函数描述写一个判素数的函数,在主函数输入一个整数,输出是否素数信 息。输入数据整数输出数据YES或者NO输入例如42输出例如NO标题数组转置描述无输入数据输入一个4*4矩阵输出数据无输入例如1 2 3 45 6 7 8910 11 1213 14 15 16输出例如1 5 9 132 6 10 143 7 11 154 8 12 16提示使用3d俞出标题百分制换算为等级分选作题*描述根据百分制得分给出等级分.设一个函数根据百分制得分给出 等级分,在主函数中调用这个函数输入数据一个表示分数的整数输出数据一个表示对应等级的字符输入例如65输出例如D提示必

27、须定义函数95-100 A81-94 B70-80 C60-69 D59以下E标题字符分类统计描述写一个函数,统一个字符串中字母、数字、空格及其他字符的个 数。在主函数中输入字符串和输出统计结果输入数据一个字符串输出数据四个整数,发表表示字母、数字、空格及其他字符的个数输入例如g6g 7g*g*k输出例如5 2 3 4提示一个函数只能返回一个值标题成绩统计描述输入10个学生5门课的成绩,分别写3个函数完成:(1)每个学生的平均分(2)每门课的平均分(3)找出最高分学生的学号(1-10)和课程(1-5)在主函数中调用这3个函数输入数据一个10行5列的数组输出数据(1)10个整数,分别表示每个学生

28、的平均分(2)5个整数,分别表示每门课的平均分(3)2个整数,分别表示最高分学生的学号和课程都用3d俞出输入例如97 98 87 86 657788 99 887767 68 69 70 7177 68 87 89 8877 88 78 89 7786 67 66 65 6463 62 61 99 10076 78 79 77 8965 65 65 65 6598 98 98 98 98输出例如86 85 69 81 81 69 77 79 65 9878 78 78 82 797 5提示可以先初始化数组,程序正确后才改为键盘输入成绩。标题排序及查找描述分别用3个函数完成:(1)输入10个职工

29、的姓名和职工号(2)按职工号从小到大出卜序,职工号也随之调整(3)根据职工号,用折半查找的方法查找该职工的姓名主函数调用这3个函数,并在主函数中输入(3)中的职工号,输 出查询结果输入数据10个职工的姓名和职工号(姓名是字符串,职工号是整数)1个职工号|输出数据排好序的职工号与姓名查找到的姓名,找/、到输出NO输入例如zhangsan 10048 lisi 10027wangwu 20046 zhangdan 10003 zhanghao 30056 yaoming 20037 guoyue 10088 lindan 30002she 20005zhouhuajian 10002 20005输

30、出例如zhouhuajian 10002 zhangdan 10003 lisi 10027zhangsan 10048 guoyue 10088 she 20005 yaoming 20037 wangwu 20046 lindan 30002zhanghao 30056 she标题计算日期描述给出年月日,计算该日是该年的第几天输入数据年,月,日输出数据天数输入例如2021,3,2输出例如62标题十六进制数转换为十进制数描述输入一个十六进制数,转换为十进制数输出一输入数据一个表示十六进制数的字符串输出数据一个整数输入例如1a6输出例如422提示十六进制数不能用乂以整数形式接收#include

31、int change(char a,int n) int t,len;if(n=0)return 0;t=an-19an-1-a+10:an-1-0;return change(a,n-1)*16+t;int main() char char168;int int10;gets(char16);strlwr(char16);int10=change(char16,strlen(char16);printf(%d,int10);return 0;标题验证歌德巴赫猜测描述验证 歌德巴赫猜测,即:任意一个大于等于 6 的偶数均可表示成两个素 数之和。输入数据输入只有一个正整数 x。(x=2000)输

32、出数据如果 x 不是大于等于 6 的偶数,那么输出一行:Error!否那么输出这个数的 所有分解形式,形式为:x=y+z其中 x 为待验证的数,y 和 z 满足 y+z=x ,而且 y=z , y 和 z 均是素数。如果存在多组分解形式,那么按照y 的升序输出所有的分解,每行一个分解表送式。注意输出不要有多余的空格。输入例如100输出例如100=3+97100=11+89100=17+83100=29+71100=41+59100=47+53#include #include /*判断nun否是素数,是那么返回1,否那么返回0*/int prime(int num)int k,i;k=sqrt

33、(num);for(i=2; i=k; i+)if(num%i=0) return 0;return 1;int main() int n,i,j;scanf(%d,&n);if(n6|n%2)printf(Error!);else for(j=3; j=n/2; j+=2) if(prime(j)&prime(n-j).b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇 后问题一共有92组解即92个/、同的皇后用。给出一个数b,要求输出第b个用。用的比拟是这样的:皇后用x置于皇后用y之前,当且仅当将x视为整数时比y小。输入数据第1行是测试数据的组数n ,后面跟着n行

34、输入。每组测试数据 占1行,包后个正整数b1 = b = 92输出数据输出有n行,每行输出对应一个输入。输出应个正整数,是 对应于b的皇后用。输入例如21 92输出例如设计一个函数找出9个数的最大值,在主函数中调用这个函数,输出最大值.2.根据百分制得分给出等级分.设计一个函数根据百分制得分给出等级分, 在主 函数中调用这个函数3.顺序查找。输入10个数,再输入一个数x,用从头到尾或从尾到头的方法查找x在10个数中的位置1-10,输出0表示找不到.4.写一个函数,将一个5行5列的数组转置。在主函数中输入和输出数组元素.不能使用全局变量。5.写一个递归函数,将一个整数反序输出。6.写一个递归函数

35、,把一个数组的元素逆置。在主函数中输入和输出数组元素。7.编写一个指数运算的函数,参数(double,int)8.皇后可以走水平、垂直、斜线。在8X8棋盘上如何摆放8个皇后,使得每个 皇后都没有被吃掉的危险。9.从楼上走到楼下共有h个台阶,每一步有3种走法:走1个台阶;走2个台 阶;走3个台阶。问可以有多少种方案并将所有的方案输出。10.某人摘下一些桃子,第一天卖掉一半,又吃了一个,第二天卖掉剩下的一半,又吃了一个,以后各大都是如此处理,到第n天发现只剩下一只桃子,编写递归 函数,n是参数,返回值是一共摘的桃子数int pear(int n)if (n=1)return 1;elseretur

36、n ( 2 * ( pear( n-1 ) + 1);11 . 7.验证“1+1=2。对任何大于等于6的自然数n, n之内的所有大于等于6的偶数均可以表示为两个素数之和。请验证这个猜测。要求:(1)从键盘上输入一个大于6的自然数(2)以C=A+B勺形式验证,每个偶数只能给出一个验证式(1不是素数)。(3)一行只能输出一个C=A+B(4)写一个判断素数的函数并调用例如:输入16输出:6=3+38=3+510=3+712=5+714=7+716=5+11编译预处理上机作业:标题带参数的宏练习1-交换描述定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个 整数,并输出交换后的值输入数据两个整

37、数输出数据交换后的两个整数输入例如7 8输出例如8 7#include#define s(a,b) int t; t=a; a=b; b=t; int main() int x,y;scanf(%d %d,&x,&y);s(x,y)printf(%d %d,x,y);return 0;标题带参数的宏练习2-计算机三角形的面积描述定义两个带参数的宏,一个计算三角形三边之和的一半,另一个计 算二角形的面积.在主函数中输入二角形的二条边,输出二角形的输入数据三个整数分别表示三角形的三条边的边长输出数据1个表示三角形面积的实数输入例如6 6 6输出例如#include#define s

38、(a,b,c) (a+b+c)/#define area(a,b,c)sqrt(s(a,b,c)*(s(a,b,c)-a)*(s(a,b,c)-b)*(s(a,b,c)-c)int main()int x,y,z;float mianji;scanf(%d%d%d,&x,&y,&z);mianji=area(x,y,z);printf(%f,mianji);return 0;标题带参数的宏练习3-判断闰年描述定义一个宏,判断该年份是否是闰年输入数据一个表示年份的证书输出数据是闰年输出YES,否那么/&出NO输入例如2100输出例如NO#include#defin

39、e leap(y) (y)%4=0&(y)%100!=0|(y)%400=0int main()int year;scanf(%d,&year);if(leap(year) puts(YES);else puts(NO);return 0;标题文件包含练习描述将中的3个函数放在一个头文件中:(1)输入10个职工的姓名和职工号(2)按职工号从小到大出卜序,职工号也随之调整(3)根据职工号,用折半查找的方法查找该职工的姓名主函数调用这3个函数,并在主函数中输入(3)中的职工号,输 出查询结果输入数据10个职工的姓名和职工号(姓名是字符串,职工号是整数)1个职工号输出数据排好序的职工

40、号与姓名查找到的姓名,找/、到输出NO输入例如zhangsan 10048 lisi 10027wangwu 20046 zhangdan 10003 zhanghao 30056 yaoming 20037 guoyue 10088 lindan 30002she 20005 zhouhuajian 10002 20005输出例如zhouhuajian 10002 zhangdan 10003 lisi 10027 zhangsan 10048 guoyue 10088 she 20005yaoming 20037 wangwu 20046 lindan 30002 zhanghao 300

41、56 she书面作业:分别用函数和带参数的宏,从3个数中找出最大数。并比拟它们的差异指针上机作业:本章作业均要求用指针完成标题整数有序输出描述输入3个整数,按由小到大的顺序输出。输入数据三个整数输出数据三个有序整数输入例如7 9 4输出例如4 7 9要求_主函数中主要负责数据的输入/出#includevoid swap(int *p1,int *p2)int p;p=*p1; *p1=*p2; *p2=p;void exchange(int *q1,int *q2,int *q3) if (*q1*q2) swap(q1,q2);if (*q1*q3) swap(q1,q3);if (*q2*

42、q3) swap(q2,q3);int main() int a,b,c,*p1,*p2,*p3;scanf(%d%d%d,&a,&b,&c);p1=&a; p2=&b; p3=&c;exchange(p1,p2,p3);printf(%d %d %dn,a,b,c);return 0;标题数据对换描述输入10个整数,将其中最小的数与第一个数对换,把最大的数与 最后一个数对换。写3个函数:输入10个数;进行处理; 输出10个数输入数据10个整数输出数据10个整数输入例如10 9 7 3 2 6 5 4 8 1输出例如1 9 7 3 2 6 5 4

43、 8 10提示其他数据不要变化void input(int *p)2f粗体局部输入例如96 82 88 99 9778 89 96 76 6567 55 87 34 4487 88 89 87 93输出例如average of score 1 isnumber 3 failed with 3his score is 67 55 87 34 44average score isnumber 1 is very good his score is 96 82 88 99 97average score isnumber 4 is very good his score is 87 88 89 87

44、 93average score is要求用网种指针#includevoid average1(int (*p)5,int n) fn,aver*n);void average2(int (*p)5, int *a) fn,sum/;void find2(int (*p)5,int *a).2f4 sinxdxJ0cosdx . exdx3.2f.2f.2f.2f1500 米 100 米 800 米 100 米3c106 l24 f23 m(1)写一个函数,将读入的日期赋值给结构体类型数据(2)写一个函数验证输入日期是否合法(3)写一个函数用以下格式输出日期:April 25,2002在主函数中调用以上函数。4*模拟升级游戏发牌。把含大小王的54张牌随机发给4家(用E、S、W Ng示), 每家12张,留6张底牌。(提示,为实现真正的随机,设置srand(unsigned)time(NULL); )#include void srand(unsigned int seed);设置新的伪随机数序列的种子为seed。种子的初值为1。int rand(void);产生一个0到RAND_MAX间的伪随机整数。RAND_MAX至少为32767。第4题图5.定义一个用于描述旅馆的结构体,包括以下成员:名称、地址、级别、房价、 房间数。编写程序,显示给定级别的旅馆按房价排序,显示房价小于给定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论