首页 > 代码库 > 第七次作业
第七次作业
1.题目:
定义一个判断素数的函数isprime(int n),利用该函数输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)
代码:
#include <stdio.h> int isprime(int n); int main() { int i,a=0,b=2,c=1; for(i=2;i<=1000;i++) { if(isprime(i)) { printf("%3a",i); a++; if(b%10==0) printf("\n"); } } printf("%d\n",a); } int isprime(int n) { int b,c=1; for(;c<=n-1;c++) { if(n%b==0) { b=0;break; } } return 0; }
运行结果:
2.题目:
.求两个正整数的最大公约数和最小公倍数。用一个函数gcd(int a,int b)求最大公约数,另一个函数lcm(int a,int b)根据求出的最大公约数求最小公倍数。
代码:
#include <stdio.h> int gcd(int a,int b); int lcm(int a,int b); int main() { int a,b,c,d,e; printf(" 请输入两个整数,用,隔开\n"); scanf("%d,%d",&a,&b); while(a<=0||b<=0) { printf("输入错误\n"); scanf("%d,%d",&a,&b); } c=gcd(a,b); d=lcm(a,b); printf("最大公约数%d,最小公倍数%d\n",c,d); } int gcd(int a,int b) { int c,d,e; if(b>a) { c=b; b=a; a=c; } while(b!=0) { e=a%b; a=b;b=e; } return a; } int lcm(int a,int b) { int i; i=a*b/gcd(a,b); return i; }
运行结果:
3.题目:
编写一个函数fun(double x)求表达式x2-5x+4的值,x作为参数传给函数。在主函数中调用该函数求下列式子的值:
y1= 22-5*2+4
y2= (x+15)2-5*(x+15)+4
y3= sin2x-5*sinx+4
求y3用数学函数 sin(x) 头文件math.h
求解y2和y3时需要输入x的值。
样例:
y1=-2, x=0.5时,y2=166.75,y3=1.832721
代码:
#include <stdio.h> #include <math.h> double fun(double x); int main() { double x,y,y1,y2,y3; { printf("x*x-5*x+4\n输入x的值\n"); return y; } scanf("%.2f",&x); y1=fun(2*2-5*2+4); scanf("%2f",&x); y2=fun((x+15)*(x+15)-5(x+15)+4); scanf("%2f",&x); y3=fun((sin(x))*(sin(x))-5*(sin(x))+4); scanf("%2f",&x); { printf("%.2f %.2f %.2f",y1,y2,y3); } double fun(double x) { double y; y=x*x-5*x+4; return y; }
运行结果:
附加题:
火柴棍问题。
代码:
#include<stdio.h> int fun(int a); int fun(int a) { int b; switch(a) { case 0: case 6: case 9:b=6; break; case 2: case 3: case 5:b=5; break; case 1:b=2; break; case 4:b=4; break; case 7:b=3; break; case 8:b=7; break; } return b; } int main() { int m,n,z; for(m=0;m<=9;m++) for(n=0;n<=9;n++) { z=m+n; if(z>9) { break; } else if(fun(m)+fun(n)+fun(z)==12) { printf("%d+%d=%d\n",m,n,z); } } return 0; }
运行结果:
实验总结:
1.注意自己定义的变量;
2.注意定义函数;
3.printf前后没有{};
4.学会简化程序;
5.注意 int gcd(int a,int b);
int lcm(int a,int b);
函数的用法。
知识点总结:
1.标识符:字母、下划线、数字:
2.clrscr() 清屏;
3.大 变 小:strwr;小 变 大 :strupr:
4.函数无返回值,单独作为一个函数调用语句;
有返回值时,可放到一个赋值表达式语句;
还可放到一个函数调用语句中,作为另一个函数的参数;
5.代码的优化处理。
第七次作业