ex1.cpp
//一元二次方程 求解 //重复执行,直到按下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; }

ex2.cpp
//生成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("%5d", x); } while(n<N); printf("\n"); return 0; }

ex3.cpp
//输出101~200之间的素数 #include<stdio.h> int main() { int x, n=0, y; int z=5; for(x=101;x<200;x++) { int count=1; for(y=2;y<x;y++) { if(x%y==0) { count=0; break; } } if(count==1) { n++; printf("%5d",x); if(n%z==0) printf("\n"); } } printf("\n101~200之间共有%d个素数.",n); return 0; }

ex4.cpp
#include<stdio.h> int main() { int m=0; unsigned long long int n=0,a,b; int sum=0; printf("Enter a number:"); while(scanf("%llu",&a) != EOF){ while(a>0) { if(a<10) { b=a; a=0; goto in;} b=a%10; a/=10; in: if(b%2 !=0) sum = sum*10+b; }while(sum !=0){ m=sum%10; n=n*10+m; sum=sum/10; }printf("new number is :%llu",n); printf("\nEnter a number:"); n=0; sum=0; m=0; } return 0; }

实验结论:运用取余算法依次取出各位数上的数字进行奇偶计较,将所有奇数取出后会发现数字结果与预期的颠倒,最后可以运用反位数输出算法得出预期结果。
ex5.cpp
#include<stdio.h> int main() { int n, m; int t=1; int sign=1; double s=0; printf("\nEnter n(1~10):"); while(scanf("%d", &n) != EOF) { for(m=1;m<=n;m++){ t *= m; s += 1.0/(sign*t); sign = -sign; } if(m>n){ printf("n = %d, s = %f", n, s); printf("\nEnter n(1~10):"); t=1; s=0; sign=1; } } return 0; }

ex6.cpp
//随机取1~31的整数进行日期猜测 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand(time(0)); int t = rand()%31; int n; int m=1; printf("猜猜2020年12月哪一天会是你的luck day\n\n"); printf("开始喽,你有三次机会,猜吧(1~31):"); do{ scanf("%d",&n); if(n==t){ printf("\n\n你猜对啦,12月%d号是你的luck day", n); break; } else if(n<t){ printf("\n\n你猜的日期早了,luck day还没到呢"); if(m<3) printf("\n\n再猜(1~31):"); } else{ printf("\n\n你猜的日期晚了,luck day悄悄留到前面啦"); if(m<3) printf("\n\n再猜(1~31):"); } m++; } while(m<=3); if(m==4) printf("\n\n次数用完啦,偷偷告诉你:12月,你的luck day是%d号",t); return 0; }

实验总结:从零基础学习以来,虽然和身边的人差距还很大,但能自我感觉到有好多收获,学会了从头写出一道算法(虽然算法逻辑很啰嗦很low TUT),但我相信熟能生巧,希望今后的学习能像c程序一样,编译报错能及时改正,运行成功能有结果!!!QAQ
浙公网安备 33010602011771号