C语言作业及参考答案 下载本文

标题 5.8 猴子吃桃问题 描述 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第十天早上想再吃时,就只剩下一个桃子了.问第一天共摘了多少桃子. 无 表示第一天桃子个数的整数 输入数据 输出数据 #include main( ) {int day,all; all=1; for(day=9; day>0; day--) all=2*(all+1); printf(\} 标题 描述 输入数据 输出数据 输入示例 输出示例 提示 标题 描述 输入数据 输出数据 输入示例 输出示例 提示 5.10 输出菱形图案 输出图案 无 菱形图案 无 ???* ??*** ?***** ******* ?***** ??*** ???* 找规律上下部分规律不同 5.11 输出菱形图案2 选做* 输入一个整数n和一个字符c,输出菱形图案.菱形图案由字符c构成,图案总共2n+1行 一个整数和一个字符 菱形图案 3* ???* ??*** ?***** ******* ?***** ??*** ???* 上下n行对称 #include int main() {int k,i,j,n; char c; scanf(\ 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(\ } 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(n<100) 的与 7 无关的正整数的平方和 . 输入数据 输入为一正整数 n,(n<100) 输出数据 输出小于等于 n 的与 7 无关的正整数的平方和 输入示例 21 输出示例 2336 #include int main() { int n; int sum=0; int i,ge,shi; scanf(\ for(i=1; i<=n; i++) {ge=i; shi=i/10; if(ge==7||shi==7||i%7==0) continue; sum+=i*i; } printf(\ return 0; } 书面作业: 1.从键盘上输入10个整数,计算这些整数的和

2.水仙花数。一个3位数,若其各位数字之和等于它本身,这个数就称为水仙花数.输出所有的水仙花数。(如153) #include int main()//方法一

{ int num,bai,shi,ge;

for(num=100; num<1000; num++) {bai=num/100; shi=num/10; ge=num; 标题 描述 if(num==bai*bai*bai+shi*shi*shi+ge*ge*ge) printf(\ }

return 0; }

//方法二 int main() {

int i,j,k;

for(i=1; i<10; i++)

for(j=0; j<10; j++)

for(k=0; k<10; k++)

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf(\ return 0; }

3.计算分数序列2/1,3/2,5/3,8/5,13/8,21/13,.....前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(\ 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(\ x1=a/2; do

{ x0=x1;

x1=(x0+a/x0)/2;

}while(fabs(x1-x0)>1e-5);

printf(\}

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以外,输入文件里每一行对应着输出文件的一行,每一行输出一个整数代表对应的订单所需的最小包裹数。 样例输入 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 #include int main() {char a[10];int i,j,k,t; for(i=0;i<=9;i++) scanf(\ for(j=0;j<=8;j++) { k=j; for(i=j+1;i<=9;i++) { if(a[i]0) //前面的大,后面的小就交换 {strcpy(t,a[j]); strcpy(a[j],a[j+1]); strcpy(a[j+1], t);} } //printf(“the sorted strings:\\n”); for(i=0 i