实验二
任务一:
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 #define N1 397 //11班第一位学生的尾号 #define N2 476 //12班最后一位学生的尾号 #define N3 21 //奇安信班一共21人 int main() { int cnt; int random_major, random_no; srand(time(NULL)); // 以当前系统时间作为随机种子 cnt = 0; while(cnt < N) { random_major = rand() % 2; if(random_major) { random_no = rand() % (N2 - N1 + 1) + N1; //随机数与 11班和12班总人数取余 再加最前头的尾号,随机抽取11和12班的学生学号的尾号 printf("20248329%04d\n", random_no); } else { random_no = rand() % N3 + 1; //随机得到奇安信班内同学的学号 printf("20248395%04d\n", random_no); } cnt++; } return 0; } //功能:在班内所有同学的学号中随机抽取5个
任务二:
// 一元二次方程求解 #include <stdio.h> #include <math.h> int main() { double a, b, c; double delta, p1, p2; // 用于保存中间计算结果 while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) { if(a == 0) { printf("a = 0, invalid input\n"); continue; } delta = b*b - 4*a*c; p1 = -b/2/a; p2 = sqrt(fabs(delta))/2/a; if(delta == 0) printf("x1 = x2 = %.2g\n", p1); else if(delta > 0) printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2); else { printf("x1 = %.2g + %.2gi, ", p1, p2); printf("x2 = %.2g - %.2gi\n", p1, p2); } } return 0; }
任务三:
#include<stdio.h> int main() { char x='\0'; while(scanf("%c",&x)!=EOF) { if(x=='r') { printf("stop!\n"); getchar(); } else if(x=='g') { printf("go go go\n"); getchar(); } else if(x=='y') { printf("wait a minute\n"); getchar(); } else { printf("something must be wrong...\n"); getchar(); } } return 0; }
任务四:
#include<stdio.h> int main() { int a,b,c; while(scanf("%d%d%d",&a,&b,&c)!=EOF){ if(a+b<=c||a+c<=b||c+b<=a) { printf("不能构成三角形\n"); getchar(); } else { if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b) { printf("直角三角形\n"); getchar(); } else if(a==b&&a==c&&b==c) { printf("等边三角形\n"); getchar(); } else if(a==b&&b!=c||a==c&&a!=b||b==c&&a!=b) { printf("等腰三角形\n"); getchar(); } else { printf("普通三角形\n"); getchar(); } } } return 0; }
任务六:
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand(time(NULL)); int x; int i=3; int num=rand()%30+1; printf("猜猜2024年11月哪一天会是你的lucky day\n"); printf("开始喽,你有三次机会,猜吧(1~30):"); while(scanf("%d",&x)!=EOF) { if(x<num) { printf("你猜的日期早了,你的lucky day还没到呢\n再猜:"); } else if(x>num) { printf("你猜的日子晚了,你的lucky day在前面哦\n再猜:"); } else { printf("不错哟,猜中了^.^");return 0; } i--; if(i<=0) break; } printf("次数用光啦。偷偷告诉你,11月你的lucky day是%d\n号",num); return 0; }