C语言作业及参考答案.doc





《C语言作业及参考答案.doc》由会员分享,可在线阅读,更多相关《C语言作业及参考答案.doc(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-作者xxxx-日期xxxxC语言作业及参考答案【精品文档】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|
2、b=c|a=c) printf(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;标题 4.5计算函数的值 描述 当x1时,y=x当1x10时,y=2x-1当x10时,y=3x-11 输入数据 整数x的值 输出数据 一个整数表示函数的值 输入示例 5 输出示例 y=9 #includeint main() int x,y; scanf(%d,&x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11
3、; printf(%d,y); return 0;标题 4.6 数的分离 描述 给一个不多于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; /printf(inp
4、ut a number(0-999):); scanf(%d,&p); gewei=p%10; /个位 shiwei=p/10%10; /十位 baiwei=p/100; /百位 if(baiwei) /如果是3位数printf(%dn,3); printf(%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); els
5、e printf( %dn%dn%dn,1,gewei,gewei); /是1位数 return 0;标题 4.7输出等级分(用if语言实现) 描述 输入一个百分制成绩,输出对应的等级分90-100 为 A80-89 为 B70-79 为 C60-69 为 D0-59 为 E 输入数据 一个整数 输出数据 一个大写字符 输入示例 95 输出示例 A 标题 4.8 计算建筑高度 描述 有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。输入任一点的坐标,求该点的建筑高度(塔外高度为0)。 输入数据 以(x,y)形式作为
6、点的坐标输入 输出数据 输出高度 输入示例 (3,1) 输出示例 10 提示 注意输入坐标的格式,括号为半角符号输入: (0.5,0.7) 输出:0 输入: (2.1,2.3) 输出:10 输入: (-2,-1) 输出:10 输入: (-3,2) 输出:10 #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)=1) printf(%dn,10); el
7、se printf(0n); return 0;标题 4.9输出等级分(用switch语言实现) 描述 输入一个百分制成绩,输出对应的等级分90-100 为 A80-89 为 B70-79 为 C60-69 为 D0-59 为 E 输入数据 一个整数 输出数据 一个大写字符 输入示例 86 输出示例 B #include 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: grad
8、e=B; break; case 7: grade=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从
9、键盘输入一个年份,判该年是否是闰年,是闰年就输出yes,否则输出no5从键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。6商店卖西瓜,10斤以上每斤0.8元, 8斤以上每斤0.6元, 6斤以上每斤0.4元,4斤以上每斤0.3元, 4斤以下每斤0.15元,输入西瓜重量和所付的钱数,输出应付的货款和应找的钱数循环程序设计上机作业:标题 5.2 统计一行字符中各类字符的个数 描述 输入一行字符,统计其中英文字母、空格、数字和其他字符的个数 输入数据 一行以回车结束的字符 输出数据 四个分别表示英文字母、空格、数字和其他字符的个数的整数 输入示例 123 abcd*ABC
10、D 输出示例 8 2 3 4 #include stdio.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&ch=Z) numa+; else if (ch= ) num+; else other+; scanf(%c,&ch); printf(%d %d %d %d,numa,num,num0,other);return 0;标题 5.3 计算aaaaa 描述 计算S(n)=a+aa
11、+aaa+. 其中a是一个数字 输入数据 两个分别表示a和n的整数 输出数据 一个表示S(n)的整数 输入示例 3 5 输出示例 37035 提示 2*10+2=? 22*10+2=? #includeint 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;标题 5.6 找出1000以内的所有完数 描述 一个数等于它的所有因子之和,这个数就称为完数.找出1000以内的所有完数 输入数据 无 输出数据 完
12、数及它的所有因子(用逗号格开) 输入示例 无 输出示例 6 its factor are 1,2,328 its factor are 1,2,4,7,14496 its factor are 1,2,4,8,16,31,62,124,248 #include stdio.hmain()int a,b,k,s; for (k=2; k1000; k+) /判断k是否是完数 s=0; for (a=1; a=k/2; a+) if (k%a=0) s+=a; /计算k的因子之和 if (s=k) /k是完数 printf(%d its factors are 1,k); for (a=2; a=
13、k/2; a+) if (k%a=0) printf(,%d,a); /输出所有因子 printf(n); 标题 5.8 猴子吃桃问题 描述 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第十天早上想再吃时,就只剩下一个桃子了.问第一天共摘了多少桃子. 输入数据 无 输出数据 表示第一天桃子个数的整数 #include main( )int day,all; all=1; for(day=9; day0; day-) all=2*(all+1); printf(the first nu
14、mber is %dn,all);标题 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; i=n+1; i+) for (j=1; j=n+1-i; j+) p
15、utchar( ); for (j=1; j=2*i-1; j+) putchar(c); printf(n); for (i=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;标题 5.13 与 7 无关数的平方和 描述 一个正整数 , 如果它能被 7 整除 , 或者它的十进制表示法中某个位数上的数字为 7, 则称其为与 7 相关的数 . 现求所有小于等于 n(n100) 的与 7 无关的正整数的平方和 . 输入数据 输入为一正整数
16、n,(n100) 输出数据 输出小于等于 n 的与 7 无关的正整数的平方和 输入示例 21 输出示例 2336 #includeint main() int n; int sum=0; int i,ge,shi; scanf(%d,&n); for(i=1; i=n; i+) ge=i%10; shi=i/10; if(ge=7|shi=7|i%7=0) continue; sum+=i*i; printf(%d,sum); return 0;书面作业:1从键盘上输入10个整数,计算这些整数的和2水仙花数。(如153)#includeint main()/方法一 int num,bai,sh
17、i,ge; for(num=100; num1000; num+) bai=num/100; shi=num/10%10; ge=num%10; if(num=bai*bai*bai+shi*shi*shi+ge*ge*ge) printf(%dn,num); return 0;/方法二int main() int i,j,k; for(i=1; i10; i+) for(j=0; j10; j+) for(k=0; k10; k+) if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%dn,100*i+j*10+k); return 0;3计算分数序列2/1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业 参考答案

限制150内