实验二
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 #define N 5 5 int main() { 6 int number; 7 int i; 8 srand(time(0)); // 以当前系统时间作为随机种子 9 for(i = 0; i < N; ++i) { 10 number = rand() % 100 + 1; 11 printf("20490042%04d\n", number); 12 } 13 return 0;}

1.随机生成并打印N个符合格式的学号
2.生成1-100之间的随机整数,作为学号编号的后四位数
3.控制输出格式为十进制
4.实现随机生成数的目的;导致程序出现伪随机
1 #include <stdio.h> 2 int main() { 3 int choice, quantity; 4 float total_price = 0, amount_paid, change; 5 while (1) { 6 printf("\n自动饮料售卖机菜单:\n"); 7 printf("1. 可乐 - 3 元/瓶\n"); 8 printf("2. 雪碧 - 3 元/瓶\n"); 9 printf("3. 橙汁 - 5 元/瓶\n"); 10 printf("4. 矿泉水 - 2 元/瓶\n"); 11 printf("0. 退出购买流程\n"); 12 printf("请输入饮料编号: "); 13 scanf("%d", &choice); 14 if(choice==0) 15 break; 16 if (choice < 1 || choice > 4) { 17 printf("无效的饮料编号,请重新输入。\n"); 18 continue; } 19 printf("请输入购买的数量: "); 20 scanf("%d", &quantity); 21 if (quantity < 0) { 22 printf("购买数量不能为负数,请重新输入。\n"); 23 continue;} 24 if(choice == 1 || choice == 2) 25 total_price += 3 * quantity; 26 else if(choice == 3) 27 total_price += 5 * quantity; 28 else 29 total_price += 2 * quantity; 30 printf("请投入金额: "); 31 scanf("%f", &amount_paid); 32 change = amount_paid - total_price; 33 printf("本次购买总价: %.2f 元\n", total_price); 34 printf("找零: %.2f 元\n", change); 35 total_price = 0;} 36 printf("感谢您的购买,欢迎下次光临!\n"); 37 return 0;}

1.总价累加错误
2.过滤无效输入或者终止当前流程
1 #include<stdio.h> 2 int main(){ 3 char ans1; 4 printf("请输入字符来表示信号灯的颜色\n"); 5 while((ans1=getchar())!=EOF){ 6 if(ans1=='\n'){ 7 continue;} 8 if(ans1=='r'){ 9 printf("Stop!\n"); 10 }else if(ans1=='g'){ 11 printf("gogogo\n"); 12 }else if(ans1=='y'){ 13 printf("wait a mintue\n"); 14 }else{ 15 printf("wrong\n"); 16 } 17 } 18 return 0; 19 20 21 }

1 #include<stdio.h> 2 int main(){ 3 double expense,total=0,max_expense,min_expense; 4 int count=0; 5 printf("请输入今天的若干笔开销,直到输入-1终止\n"); 6 while(1){ 7 scanf("%lf",&expense); 8 if(expense==-1){ 9 break; 10 } 11 if(expense<0||expense>20000){ 12 printf("输入错误\n"); 13 continue; } 14 total+=expense; 15 count++; 16 if(count==1){ 17 max_expense=min_expense=expense; 18 }else{ 19 if(expense>max_expense){ 20 max_expense=expense; 21 } 22 if(expense<min_expense){ 23 min_expense=expense; 24 } 25 } 26 } 27 if(count==0){ 28 printf("输入有误,请重新输入\n"); 29 }else{ 30 printf("今日消费总额:%lf\n",total); 31 printf("今日消费最高额为:%lf\n",max_expense); 32 printf("今日消费最低额为:%lf\n",min_expense); 33 } 34 return 0; 35 36 }

1 #include<stdio.h> 2 int main(){ 3 int a,b,c; 4 printf("输入三角形的三边长:\n"); 5 while(scanf("%d %d %d",&a,&b,&c)!=EOF){ 6 if(a<=0||b<=0||c<=0||a+b<=c||a+c<=b||b+c<=a){ 7 printf("不能形成三角形\n"); 8 continue; 9 } 10 if(a==b&&b==c){ 11 printf("三角形为等边三角形\n"); 12 }else if(a==b||a==c||b==c){ 13 printf("三角形为等腰三角形\n"); 14 }else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){ 15 printf("三角形是直角三角形\n"); 16 }else{ 17 printf("三角形是普通三角形\n"); 18 } 19 20 } 21 return 0; 22 }

1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 int main(){ 5 int i; 6 srand(time(NULL)); 7 printf("猜猜四月哪天是你的幸运天吧,你有三次机会(1-30)\n"); 8 int day=rand()%30+1; 9 for(i=0;i<3;i++){ 10 int guess; 11 scanf("%d",&guess); 12 if(guess<day){ 13 printf("早啦\n"); 14 } 15 else if(guess>day){ 16 printf("晚啦\n"); 17 }else if(guess=day){ 18 printf("猜对啦\n"); 19 return 0;} 20 } 21 printf("机会用完了,你的lucky day是%d\n",day); 22 }

浙公网安备 33010602011771号