实验3
实验任务一
// 一元二次方程求解 // 重复执行, 直到按Ctrl+Z结束 // #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; }

实验任务二
// 生成N个0~9之间的随机整数,并打印输出 #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; }

实验任务三
#include<stdio.h> #include<math.h> int main(){ int a,m,i=0; for(a=101;a<=200;a++){ for(m=2;m<=sqrt(a);m++){ if(a%m==0)break; } if(m>sqrt(a)){ printf("%5d",a); i++; if(i%5==0){ printf("\n"); } } } printf("\n"); printf("101~200之间共有%d个素数\n",i); return 0; }

实验任务四
#include<stdio.h> int main(){ long a; int b,c,f; printf("Enter a number:"); while(scanf("%ld",&a)!=EOF){ b=0; f=1; while(a!=0){ c=a%10; if(c%2!=0){ b=b+c*f; f*=10; } a/=10; } printf("new number is:%d",b); printf("\n"); printf("\nEnter a number:"); } return 0; }

对10取余判断是否为奇数,再对原数整除10继续取余判断
余数乘以10的n的次方
实验任务五
#include<stdio.h> int main(){ double c,s; int n,a,b,i; printf("Enter n(1~10):"); while(scanf("%d",&n)!=EOF){ a=1; b=-1; s=0; for(i=1;i<=n;i++){ b*=-1; a*=i; c=b*1.0/a; s+=c; } printf("n=%d,sum=%f\n",n,s); printf("\nEnter n(1~10):"); } return 0; }

实验任务六
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(){ int date,guess,i=3; srand(time(0)); date=rand()%31+1; printf("猜猜2020年12月哪一天会是你的luck day\n"); printf("开始喽,你有三次机会,猜吧(1~31):"); while(scanf("%d",&guess)!=EOF){ if(i>1){ if(guess>date){ printf("\n你猜的日期晚了,luck day悄悄溜到前面啦\n"); } else if(guess<date){ printf("\n你猜的日期早了,luck day还没到呢\n"); } else if(guess==date){ printf("\n恭喜你答对啦\n"); break; } printf("再猜(1~31):"); i--; } else if(i==1) printf("\n次数用完啦,偷偷告诉你,12月,你的luck day是%d号\n",date); } return 0; }



浙公网安备 33010602011771号