第7章上机课作业及答案

  • 格式:pdf
  • 大小:156.55 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

写一个判别素数的函数, 在主函数输入一个整数, 输出其是否为素数的信息。
#include<stdio.h> int sushu(int); main() { int a; printf("输入一个整数:"); scanf("%d",&a); if(sushu(a)==1) printf("是素数"); else printf("不是素数"); }
作业答案2
将求圆柱体的体积写成带参数的宏定义,并使用该宏 定义计算圆柱体的体积 #include <stdio.h> #define volumn(r,h) 3.14*r*r*h void main(){ float r, h; printf("输入圆柱底面积半径:"); scanf("%f", &r); printf("输入圆柱的高:"); scanf("%f", &h); printf("圆柱的体积为:%f", volumn(r,h));
第6章作业P186
1.写一个判别素数的函数,在主函数输入一个整数,输出其是否为素数的信息 6. 写一个函数,其功能是返回正整数n的位数。并设计一个主程序测试这个函数。 8. 编写函数,验证陈景润研究的哥德巴赫猜想:任意大偶数为两个素数之和, 并输出这两个素数(所谓大偶数是指6开始的偶数) 2. 写一个判别水仙花数的函数,求出所有的水仙花数(所谓“水仙花数”是指 一个三位整数,其各位数字立方和等于该数本身)。
作业答案1
编写一个计算圆的程序,将pi值定义为符号常量 #include <stdio.h> #define pi 3.14 void main() { float r; printf("输入圆的半径:"); scanf("%f", &r); printf("圆的面积为%f\n", pi*r*r); }
第7章上机课
第7章作业P198
1.编写一个计算圆面积S和圆周长C的程序,将pi的值定义为符号常量 (c=2*3.14159*r, s=3.14159*r*r)。 2.将求圆柱体的体积写成带参数的宏定义,并使用该宏定义计算圆柱体的体积。 3(函数复习).写一个判断某数是否“完数”的函数;在主函数中调用该函数输出 10000以内的所有完数,屏幕每行输出3个数据。(完数:各因子之和等于本 身的数,例如6=1+2+3) 4 (循环结构复习).有36块砖,36人搬.男搬4,女搬3,两个小孩抬1块.一次刚好搬完,问 男、女、小孩各多少人?
写一个判断某数是否“完数”的函数;在主函数中调用该函 数输出10000以内的所有完数,屏幕每行输出3个数据。(完 数:各因子之和等于本身的数,例如6=1+2+3)
#include<stdio.h> void main() { int i,j,sum; for(i=1;i<=10000;i++) { for(j=1,sum=0;j<i;j++) { if(i%j==0) sum+=j; } if(sum==i) printf("%d\t",i); } }
int sushu(int x) { int i; for(i=2;i<x;i++) { if(x%i==0) return 0; } return 1; }
写一个判别水仙花数的函数, 求出所有的水仙花数。 #include<stdio.h> int shuixian(int); main() { int i; for(i=100;i<1000;i++) { if(shuixian(i)==1) printf("%d\t",i); } }
8、编写函数,验证陈景润研究的哥德 main() 巴赫猜想:任意大偶数为两个素数 { 之和,并输出这两个素数(所谓大 int i,j,a,b; 偶数是指6开始的偶数) printf("输入查询范围:(两个偶数)"); 说明:下面的程序,需要输入查询范围 scanf("%d%d",&a,&b); 的左右边界a,b,然后程序会验证属 for(i=a;i<=b;i+=2) 于(a,b)区间内的所有偶数都是两个素 数之和,并且会打印出这些素数。 { #include<stdio.h> printf("%d:\n",i); int sushu(int x) for(j=2;j<=i/2;j++) { { int i; if(sushu(j)&&sushu(i‐j)) for(i=2;i<x;i++) printf("%d+%d=%d\n",j,i‐j,i); { if(x%i==0) return 0; } } printf("\n"); return 1; } } }
wenku.baidu.com
int shuixian(int x) { int i,sum=0,a; a=x; for(i=0;i<3;i++) { sum+=(x%10)*(x%10)*(x%10); x/=10; } if(sum==a) return 1; else return 0; }
5、写一个函数,其功能是返回正整数n的位数。并设计一个主程序测试 这个函数。 #include<stdio.h> int weishu(int x) { int i,c=0; for(i=0;x>0;i++) { x/=10; c++; } return c; } main() { int a; printf("输入一个整数:"); scanf("%d",&a); printf("共有%d位。",weishu(a));}
36块砖,36人搬。男搬4,女搬3,两个小孩抬一块。一次刚好搬完, 问男、女、小孩各多少人? #include<stdio.h> void main() { int boy,girl,child; for(boy=0;boy<=9;boy++) { for(girl=0;girl<=12;girl++) { for(child=0;child<=36;child++) { if(boy*4+girl*3+child==36) printf("boy=%d girl=%d child=%d\n",boy,girl,2*child); } } } }