C语言及实验作业,C语言作业及参考答案

《C语言作业及参考答案》由会员分享,可在线阅读,更多相关《C语言作业及参考答案(65页珍藏版)》请在人人文库网上搜索。

1、C语言及实验作业参考做法分支程序设计上机作业:标题 4.3三角形判断 描述 输入三条边的长,输出这三条边是否构成等边三角形、等腰三角形、直角三角形、普通三角形,还是不能构成三角形输入数据 整数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(1);else if(a+bc&a+cb&b+ca) if(a=b|b=c|a=c) printf(2);else if(a*a+b。

2、*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;标题 4.5计算函数的值 描述 当xint main() int x,y;scanf(%d,&x);if(xint main( )int p,t,s; int i,bit;/printf(input a number(0-999):); scanf(%d,&p);gewei=p%10; /个位shiwei=p/10%10; /十位baiwei=p/100; /百位if(baiwei) /如果是3位数printf(%dn,3); pri。

3、ntf(%d %d %dn,baiwei,shiwei,gewei);printf(%d %d %dn,gewei,shiwei,baiwei);else if(shiwei) /如果是2位数printf(%dn,2);printf(%d %dn,shiwei,gewei);printf(%d %dn,gewei,shiwei);else printf( %dn%dn%dn,1,gewei,gewei); /是1位数return 0;精品.标题 4.7输出等级分(用if语言实现) 描述 输入一个百分制成绩,输出对应的等级分90-100 为 A80-89 为 B70-79 为 C60-69 为 。

4、D0-59 为 E 输入数据 一个整数 输出数据 一个大写字符 输入示例 95 输出示例 A 标题 4.8 计算建筑高度 描述 有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。输入任一点的坐标,求该点的建筑高度(塔外高度为0)。 输入数据 以(x,y)形式作为点的坐标输入 输出数据 输出高度 输入示例 (3,1) 输出示例 10 提示 注意输入坐标的格式,括号为半角符号输入: (0.5,0.7) 输出:0 输入: (2.1,2.3) 输出:10 输入: (-2,-1) 输出:10 输入: (-3,2) 输出:10。

5、 #include main( )int x1=2,y1=2;float x,y;printf(input the position x & y:); scanf(%f,%f),&x,&y);x=fabs(x); y=fabs(y);if(x-x1)*(x-x1)+(y-y1)*(y-y1)int main( )int score; char grade;printf(input a score:); scanf(%d,&score);switch(score/10)case 10:case 9: grade=A; break;case 8: grade=B; break;case 7: gr。

6、ade=C; break;case 6: grade=D; break;case 5:case 4:case 3:case 2:case 1:case 0: grade=E; break;printf(his score class is %cn,grade);return 0;笔头作业:1 输入4个整数,按从小到大的顺序输出2 根据月份判断季节。输入月份,输出春/夏/秋/冬。要求用switch语言实现3学生学习两门课:必修课成绩为course1,选修课成绩为course2,若两门都及格,打印pass,必修课不及格,打印fail4从键盘输入一个年份,判该年是否是闰年,是闰年就输出yes,否则输。

7、出no5从键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。6商店卖西瓜,10斤以上每斤0.8元, 8斤以上每斤0.6元, 6斤以上每斤0.4元,4斤以上每斤0.3元, 4斤以下每斤0.15元,输入西瓜重量和所付的钱数,输出应付的货款和应找的钱数循环程序设计精品.上机作业:标题 5.2 统计一行字符中各类字符的个数 描述 输入一行字符,统计其中英文字母、空格、数字和其他字符的个数 输入数据 一行以回车结束的字符 输出数据 四个分别表示英文字母、空格、数字和其他字符的个数的整数 输入示例 123 abcd*ABCD 输出示例 8 2 3 4 #include stdi。

8、o.hmain()int num0=0,numa=0,num=0,other=0;char ch; /num0:0-9; numa:alpha; num:space; scanf(%c,&ch);while (ch!=n) if (ch=0&ch=a&ch=A&chint main()int a,n,i; long all=0,t;scanf(%d %d,&a,&n);t=a;for (i=1; imain( )int day,all;all=1;for(day=9; day0; day-)all=2*(all+1);printf(the first number is %dn,all);精品。

9、.标题 5.10 输出菱形图案 描述 输出图案 输入数据 无 输出数据 菱形图案 输入示例 无 输出示例 *提示 找规律上下部分规律不同 标题 5.11 输出菱形图案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; iint main()int n;int sum=0;int i,ge,shi;scanf(%d,&n);f。

10、or(i=1; iint main()/方法一 int num,bai,shi,ge;for(num=100; numint main()float sum,fenzi,fenmu,a;int i;fenzi=2;fenmu=1;sum=0;for(i=1; i#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 sqrt of %f is %fn,a,x1);精品.5百钱买百鸡:鸡翁一,值钱五;鸡母。

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

12、文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中间用空格隔开,分别为1*1至6*6这六种产品的数量。输入文件将以6个0组成的一行结尾。 输出 除了输入的最后一行6个0以外,输入文件里每一行对应着输出文件的一行,每一行输出一个整数代表对应的订单所需的最小包裹数。 样例输入 0 0 4 0 0 1 7 5 1 0 0 0 0 0 0 0 0 0 样例输出 2 1 数组上机作业:标题 6.2选择排序 描述 用选择法对10个字符排序 输入数据 10个字符 输出数据 排好序的10个字符 输入示例 fgthyjpdsa 输出示例 adfghjpsty #includeint main()。

13、char a10;int i,j,k,t;for(i=0;i0) /前面的大,后面的小就交换精品.strcpy(t,aj); strcpy(aj,aj+1); strcpy(aj+1, t);/printf(“the sorted strings:n”);for(i=0 iint main() int a10;int i,j,t;for(i=0; i=0; i-) /从后往前找插入位置,并把大的数往后挪if(aiint main() long p,i,j;int weishu,jinwei,temp;int a501=1;int b10=1,2,4,8,16,32,64,128,256,512。

14、;scanf(%d,&p);weishu=(int)(p*log10(2)+1;printf(%dn,weishu);for(i=p;i0; i-)jinwei=0;for(j=0; j=0; i-) printf(%d,ai);if(i%50=0)printf(n);return 0;/方法二#includeint main() long p,i,j;int weishu,jinwei,temp,tempwei,maxwei;精品.int a501=6,7,5,8,4,0,1;/pow(2,20)int b20=1,2,4,8,16,32,64,128,256,512,1024,2048,4。

15、096,8192,16384,32768,65536,131072,262144,524288;scanf(%d,&p);weishu=(int)(p*0.301029996)+1;printf(%dn,weishu);tempwei=4;for(i=p-20;i=20; i-=20)jinwei=0;maxwei=tempwei+7;for(j=0; j=0; i-) printf(%d,ai);if(i%50=0)printf(n);return 0;标题 6.6 打印杨辉三角形 描述 输出杨辉三角形(10行) 输入数据 无 输出数据 杨辉三角形(10行) 输入示例 输出示例 8行示例:1。

16、1 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 1精品.提示 注意输出10行用%4d输出每个数 #includeint main()int a1010=0;int i,j;for(i=0;i#define N 30+1int getlargenumber(int AN) /读入一个大整数,放在数组A中 char c,tempN;int i,j,k,start,len;for(i=0; i=start; j-,i-)Aj=tempi-0;return 1;int is7bei(int AN) /判断是否。

17、能被7整除/方法是每一位不断的减7,直到小于7为止/如865,与165具有相同的特性(最高位-7),165与25具有相同的特性(1*10+6-7-7=2),25与4具有相同的特性(2*10+5-7-7-7) int i,k;for(i=0; ;i+)if(Ai) break; /找最高位while(i=7) k-=7; /这位数字只要超过7就不断的减7Ai-1=0; Ai=k;i+;i-; if(Ai%7=0) return 1;return 0;int main() int aN;int bei10=0; /存放大整数是否为7的倍数,如bei7=1表示能被7整除int sum,i,t,yes。

18、;t=getlargenumber(a);/读取大整数while(t) memset(bei,0,sizeof(bei);/将bei的值都置为0if(a30%2=0) bei2=1; /判断能否被2整除sum=0;精品.for(i=0; iint 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; i0; i-) printf(%d,ai); j+;if(j%40=0)printf(n);printf(n);return 0;标题 6.10计算鞍点选做题*描述 找出一个二。

19、维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。输入数据 输入一个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; iaik) k=j;for(j=0;jint main( ) int i, pos=0, word=0,start=0,maxlen=0;char s。

20、tring81;gets(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;精品.标题 6.12 字符串比较 描述 输入两个字符串,比较这两个字符串的大小。比较时从头开始依次比较两个串的对应字符,如果都相同,输出0,否则输出不同处两个字符ASCII码。

21、的差。 输入数据 两个字符串 输出数据 一个整数 输入示例 asdfgasghd 输出示例 -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的二维数组的鞍点。一个数。

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

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

24、(%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+cubed)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猜字游戏。。

25、计算机生成一个随机数,用户来猜。猜对数字但是位置不对用nB来表示,位置正确用nA表示。例如随机数:2468一猜:0123 0A,1B 二猜:1234 0A,2B三猜:2345 1A,1B 四猜:2346 1A,2B五猜:8346 0A,3B 六猜:2846 1A,3B七猜:2486 2A,2B 八猜:2468 4A15A,B,C是小学老师,各教两门课,互不重复。共有6门课:语文、算术、政治、地理、音乐和美术。已知:(1)政治老师和算术老师是邻居(2)地理老师比语文老师年纪大(3)B最年轻(4)A经常对地理老师和算术老师讲他看过的文学作品(5)B经常和音乐老师、语文老师一起游泳16过年了,村里要。

26、庆祝一下。村长对村里的128个村民说:做一个游戏,让每个人把出生年精品.+月+日得到一个数。例如:1968年10月28日=1968+10+28=2006。然后把这个数报上来。村里有一笔钱要作为游戏的奖金,数额为M元。如果有人报上来的数字与M相同,就把这笔钱发给这些人。如果只有一个人得奖,奖金都归这个人。如果有多于一个人得奖,则他们平分这笔钱。现在让我们来写一段程序算算都有哪些人得到了奖金?得到多少?函数上机作业:标题 7.1 折半查找 描述 输入10个从小到大的数,再输入一个数x,用折半方法查找x在10个数中的位置(0-9),输出-1表示找不到. 输入数据 10个从小到大的整数和一个整数 输出。

27、数据 一个表示位置的数(-1至9) 输入示例 1 2 3 4 5 6 7 8 9 10 1 输出示例 0 提示 注意折半查找的方法标题 7.2找最大数 选作题* 描述 利用函数找出9个数的最大值.请设计一个函数找出9个数的最大值,在主函数中调用这个函数,输出最大值. 输入数据 9个整数 输出数据 1个表示最大值的整数 输入示例 3 4 7 2 99 2 4 6 1 输出示例 99 提示 必须使用函数标题 7.3判断素数函数 描述 写一个判素数的函数,在主函数输入一个整数,输出是否素数信息。 输入数据 整数 输出数据 YES或者NO 输入示例 42 输出示例 NO 标题 7.4数组转置 描述 无。

28、 输入数据 输入一个4*4矩阵 输出数据 无 输入示例 1 2 3 45 6 7 89 10 11 1213 14 15 16 精品.输出示例 1 5 9 132 6 10 143 7 11 154 8 12 16 提示 使用%3d输出 标题 7.5 百分制换算为等级分 选作题*描述 根据百分制得分给出等级分.设计一个函数根据百分制得分给出等级分,在主函数中调用这个函数 输入数据 一个表示分数的整数输出数据 一个表示对应等级的字符 输入示例 65 输出示例 D 提示 必须定义函数 95-100 A81-94 B70-80 C60-69 D59以下 E 标题 7.8 字符分类统计 描述 写一个函数,统计一个字符串中字母、数字、空格及其他字符的个数。在主函数中输入字符串和输出统计结果 输入数据 一个字符串 输出数据 四个整数,发表表示字母、数字、空格及其他字符的个数 输入示例 g6g 7g*g*k 输出示例 5 2 3 4 提示 一个函数只能返回一个值标题 7.12 成绩统计 描述 输入10个学生5门课的成绩,分别写3个函数完成:(1)每个学生的平均分(2)每门课的平均分(3)找出最高分学生的学号(1-10)和课程(1-5)在主函数中调用这3个函数 输入数据 一个10行5列的数组 输出数据 (1)10个整数。

你可能感兴趣的:(C语言及实验作业)