第三次实验
//重复执行,直到按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_s("%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
//生成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"); system("pause"); return 0; }
实验任务三
#include <stdio.h> int fun(int n) { int i; if (n < 2)return 0; for(i=2;i<n;i++) if(n%i==0) return 0; return 1; } int main() { int i,s=0; for (i = 101; i <= 200; i++) if (fun(i)) printf("%d " , i); s++; printf("101--200之间的素数有%d个",s); return 0; }
实验任务4
#include<stdio.h> int main(){ printf("Enter a number:"); long x,s=0,j=0; int n,i; scanf("%ld",&x); while(x) { n=x%10; if(n%2!=0) s=s*10+n; x=x/10; } while(s) {i=s%10; j=j*10+i; s=s/10; printf("The new number is: %ld",j); getchar(); } }
取出为奇数的数字:先将该数字的每一位上数字取出,如13%10得到个位数字3,再判断3的奇偶性,如果3/2,因为定义的是整形变量,如果x/2==0就是偶数,然后算完之后整个数字除以10取下一位
定义一个a,每次循环a都乘10,原来各位的数字乘此次循环a的值,回到原来的位数上,保证各位不变高低次序。
实验任务5
#include <stdio.h> #include <math.h> int main() { int n, i, factorial = 1.0; double s = 0, sign = 1.00000; printf("输入n(1~10):"); while(scanf("%d",&n) != EOF) { for(i=1;i<=n;i++) { factorial = factorial * i; sign = pow(-1,i+1); s = s + sign/factorial; continue;} printf("n = %d s = %f\n", n, s); s = 0; factorial = 1; sign = 1.00000; printf("输入n(1~10):"); } return 0; }
实验任务6
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int s,x,n=1; srand(time(0)); x=rand()%32; printf("猜猜2020年12月哪一天会是你的luck day\n"); printf("开始喽,你有三次机会,猜吧(1~31): "); scanf("%d",&s); while(n<3) { if(x==s) { printf("你猜的日期是正确的!\n"); break; } else if(s>x) printf("你猜的日期晚了,luck day悄悄溜到前面啦\n"); else printf("你猜的日期早了,luck day还没到呢\n"); printf("再猜(1~31): "); scanf("%d",&s); n++; } if (n>=3) printf("次数用完了,偷偷告诉你:12月,你的luck day是:%d",x); return 0;}
实验总结:还是对逻辑,语句使用把握不好,练习不够。努力吧。。。。。。。。。。。