实验3
任务1
#include <math.h> #include <stdio.h> int main() { float a, b, c, x1, x2; float delta, real, imag; printf("Enter a, b, c: "); while(scanf("%f%f%f", &a, &b, &c) != EOF) { if(a == 0) printf("not quadratic equation.\n\n"); else { delta = b*b - 4*a*c; if(delta >= 0) { x1 = (-b + sqrt(delta)) / (2*a); x2 = (-b - sqrt(delta)) / (2*a); printf("x1 = %.2f, x2 = %.2f\n\n", x1, x2); } else { real = -b/(2*a); imag = sqrt(-delta) / (2*a); printf("x1 = %.2f + %.2fi, x2 = %.2f - %.2fi\n\n", real,imag, real, imag); } } printf("Enter a, b, c: "); } return 0; }
程序运行截图

任务2
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main() { int x, n; srand(time(0)); // 以当前系统时间作为随机种子 n = 0; do { n++; x = rand()%10; // 生成一个0~9之间的随机整数 printf("%3d", x); }while(n<N); printf("\n"); return 0; }
截图

实验任务3
#include<stdio.h> #include<math.h> int isprime(int n); int main() { int i,j=0; for(i=101;i<=200;i++) { if(isprime(i)==1) { printf("%4d",i); j++; } } printf("\n"); printf("100到200之间共有%d个素数\n",j); return 0; } int isprime(int n) { int k; for(k=2;k<=sqrt(n);k++) if(n%k==0) return 0; return 1; }
截图

任务4
#include<stdio.h> #define N 100 int main() { int s; while(scanf("%d",&s)!=EOF) { int p,r=0,t=1; do { p=s%10; if(p%2==1) { r=r+p*t; t*=10; } s=(s-p)/10; }while(s>0); printf("%d\n",r); } return 0; }
截图
思路:
每一位数对二取余,看是否为1,是1则取出来为p
t=1;
s=s+p*t;
t*=10;
任务5
#include<stdio.h> int main() { double s=0.0; int n; while(scanf("%d",&n)!=EOF) { int t=1,i; double j=-1.0; for(i=1;i<=n;i++) { t*=i; j*=-1; s=s+j/t; } printf("%f\n",s); s=0.0; } return 0; }
截图

任务6
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int num,a,b,c,t; srand(time(0)); num=1+rand()%31; printf("开始咯,你有三次机会,1到31猜吧: "); scanf("%d",&a); if(a==num) { printf("好兄弟,你猜对了\n"); return 0; } else if(a>num) printf("好兄弟,你猜晚了\n"); else printf("好兄弟,你猜早了\n"); printf("再猜1到31: "); scanf("%d",&b); if(b==num) { printf("好兄弟,你猜对了\n"); return 0; } else if(b>num) printf("好兄弟,你猜晚了\n"); else printf("好兄弟,你猜早了\n"); printf("再猜1到31: "); scanf("%d",&c); if(c==num) { printf("好兄弟,你猜对了\n"); return 0; } else printf("次数用完啦,偷偷告诉你:12月,你的lucky day 是%d号\n",num); return 0; }
截图

实验总结:
1)在循环中不能出现死循环
2)随机函数 先使用srand(time(0)),再使用num=x+rand()%(某一个数)
浙公网安备 33010602011771号