C语言作业及参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言及实验作业参考做法
分支程序设计
1.从键盘上输入10个整数,计算这些整数的和
2.水仙花数。一个3位数,若其各位数字之和等于它本身,这个数就称为水仙花数.输出所有的水仙花数。(如153)
#include<>
int main()...前20项之和。
#include<>
int main()
{
float sum,fenzi,fenmu,a;
int i;
fenzi=2;fenmu=1;sum=0;
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 sqrt of %f is %f\n",a,x1);
}
5.百钱买百鸡:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何
6.某人摘下一些桃子,第一天卖掉一半,又吃了一个,第二天卖掉剩下的一半,又吃了一个,以后每天都是如此处理,到第n天发现只剩下一只桃子。输入n,输出一共摘了多少桃子。
7.一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个6*6*h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。
输入
输入文件包括几行,每一行代表一个订单。每个订单里的一行包括六个整数,中间用空格隔开,分别为1*1至6*6这六种产品的数量。输入文件将以6个0组成的一行结尾。
输出
除了输入的最后一行6个0以外,输入文件里每一行对应着输出文件的一行,每一行输出一个整数代表对应的订单所需的最小包裹数。
数组
1.输入10个整数,输出最小值及最小值的下标。
2.字符串复制。输入一个字符串,把它复制到一个字符数组中,并输出。3.找出一个5*6的二维数组的鞍点。一个数组的鞍点是一个位置(行号,列号),该位置上的元素在该行值最大,在该列值最小.一个数组可能有一个鞍点,也可能没有鞍点。
4.字符分类统计。输入3行字符,分别统计其中英文大写字母、小写字母、数字、空格及其他字符的个数。
5.判断一个字符串是否是回文如“abcba”(顺读和逆读相同)
6.折半查找。有15个数,按从小到大的顺序存放在一个数组中。输入一个数,查找该数是数组中的第几个数。如果该数不在数组中,则输出“找不到”
7.矩阵的乘法运算
8.用筛选法求素数。对于一个整数x,只要删去所有不超过sqrt(x)的素数p的所有倍数(不含p),剩下的就是不超过x的全部素数。
9.输入1000个0~50的整数,统计每个数出现的次数
10.公元元年元月元日(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.完美立方。
问题描述:a^3= b^3+ c^3+ d^3为完美立方等式。例如123= 6^3+ 8^3+ 10^3。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a^3= b^3+ c^3+ d^3,其中1 输入:正整数N (N≤100) 输出:每行输出一个完美立方,按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则依次按照b、c、d进行非降升序排列输出,即b值小的先输出、然后c值小的先输出、然后d值小的先输出。 #include <> int main() { int n;scanf("%d",&n); int i, cube[101]; for(i=0;i<=100;i++) cube[i]=i*i*i; int a,b,c,d; for(a=2;a<=n;a++) for(b=2;b