实验三————头都大了
任务一
//一元二次方程求解 //重复执行,直到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); x1 = (-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; }

任务二
# 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; printf("%3d",x); }while(n<N); printf("\n"); return 0; }

任务三
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int x,y,z,a; y=101; a=0; z=0; for (;y<=200;y++) { for (x=2;x<=y;x++) { if(y%x==0) { break; } } if(y==x) { printf("%5d\t",y); a++; if (a%5==0) printf("\n"); } } printf("\n100~200之间共有%d个素数。\n",a); return 0; }

任务四
算法思路:输入一个很长的数,首先分奇数跟偶数。奇数的个位是需要留下的,而偶数则不需要,因为变量定义为整型,所以变量除以10之后则可以得到原来的10位数上的数字,再分奇数跟偶数,然后得到所有的数,但是这样下来得到的应该是要求目的反过来的,所以在通过反序得到。
#include<stdio.h> int main(){ int a,b,c=0,s,num=0; printf("Enter a number:"); while(scanf("%d",&a)!=EOF){ while(a) { b=a%10; a=a/10; if(b%2!=0){ c=b+c*10; } } while(c) { s=c%10; c=c/10; num=num*10+s; } printf("new number is:%d\n",num); num=0; printf("\n"); printf("Enter a number: "); } return 0; }

任务五
#include<stdio.h> #include<stdlib.h> int main(){ int n,i,p=1; float s=1,l; printf("Enter n(1~10):"); while(scanf("%d",&n)!=EOF){ for(i=2;i<=n;i++){ p=p*i*(-1); l=1.0/p; s=s+l; } printf("n = %d,s = %f",n,s); printf("\n"); printf("\n"); printf("Enter n(1~10):"); } return 0; }
任务六
# include<stdio.h> # include<stdlib.h> # include<time.h> #define max 31 #define min 1 int main() { int x=1, n,t; srand(time(0)); n=rand()%((max-min)+min); printf("猜猜2020年12月哪一天会是你的luck day\n"); printf("\n"); printf("开始喽,你有三次机会,猜吧(1~31): "); scanf("%d",&t); while(x<3){ if(n==t){ printf("luck day!"); break; } else if(n>t){ printf("你猜的日期早了,luck day 还没到呢!"); printf("\n"); printf("\n"); x++; printf("再猜(1~31):"); scanf("%d",&t); } else if(n<t){ printf("你猜的日期晚了,luck day 悄悄溜到前面了!"); printf("\n"); printf("\n"); x++; printf("再猜(1~31):"); scanf("%d",&t); } if(x==3) printf("次数用完了,偷偷告诉你:12月,你的luck day是%d号",n); } return 0; }

实验总结:实验任务四做了最长时间,五六加起来的时间还没有任务四的时间一半久,一开始多组输入都有问题,后来又是各种取奇数偶数方法的问题,但好在搞通了一些点之后,再做相类似的就会相对轻松
浙公网安备 33010602011771号