实验2
task1
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main() { int number; int i; srand(time(0)); for(i = 0; i < N; ++i) { number = rand() % 100 + 1; printf("20490042%04d\n", number); } return 0; }

生成一个0~100的随机数
控制生成的数为四位
生成一个随机的编码
task2
#include <stdio.h> int main() { int choice, quantity; float total_price = 0, amount_paid, change; while (1) { printf("\n自动饮料售卖机菜单:\n"); printf("1. 可乐 - 3 元/瓶\n"); printf("2. 雪碧 - 3 元/瓶\n"); printf("3. 橙汁 - 5 元/瓶\n"); printf("4. 矿泉水 - 2 元/瓶\n"); printf("0. 退出购买流程\n"); printf("请输入饮料编号: "); scanf("%d", &choice); if (choice == 0) break; if (choice < 1 || choice > 4) { printf("无效的饮料编号,请重新输入。\n"); continue; } printf("请输入购买的数量: "); scanf("%d", &quantity); if (quantity < 0) { printf("购买数量不能为负数,请重新输入。\n"); continue; } switch (choice) { case 1: case 2: total_price += 3 * quantity; break; case 3: total_price += 5 * quantity; break; case 4: total_price += 2 * quantity; break; } printf("请投入金额: "); scanf("%f", &amount_paid); change = amount_paid - total_price; printf("本次购买总价: %.2f 元\n", total_price); printf("找零: %.2f 元\n", change); total_price = 0; } printf("感谢您的购买,欢迎下次光临!\n"); return 0; }

重置它的值,会和原来值相加
break会直接终止循环,continu会跳过本次继续
不用,因为上面有代码做出判断
task3
#include <stdio.h> int main() { char a; a = getchar(); getchar(); while (a != EOF) { switch (a) { case 'y': printf("wait a minute\n"); break; case 'g': printf("go go go\n"); break; case 'r': printf("stop!\n"); break; default: printf("something must be wrong...\n"); break; } a = getchar(); getchar(); } return 0; }

task4
#include <stdio.h> int main() { double a; double max = 0.0, min = 20000, b = 0.0; printf("输入一天内的若干笔开销,输入-1时终止"); scanf_s("%lf", &a); getchar(); while (a != -1) { if (a > max) max = a; if (a < min) min = a; b += a; scanf_s("%lf", &a); getchar(); } printf("今天消费总额:%.1f\n", b); printf("今日最高一笔消费:%.1f\n", max); printf("今日最低一笔消费:%.1f\n", min); return 0; }

task5
int main() { int d, x = 0; srand(time(0)); printf("猜猜四月你的幸运日是哪天\n"); printf("你有三次机会,猜吧:"); scanf_s("%d", &d); int n = rand() % 30 + 1; if (d == n) { printf("猜对了"); } while (d!=n) { while (x<2) { if (d < n) { printf("猜早了,"); printf("再猜"); scanf_s("%d", &d); } if (d > n) { printf("猜晚了,"); printf("再猜"); scanf_s("%d", &d); } x++; if (d == n) { printf("猜对了"); break; } } if (x == 2) { printf("告诉你吧,是%d", n); break; } } return 0; }

task6
#include <stdio.h> int main() { int i=1, n,m, x = 1, z = 1, c = 1; scanf_s("%d", &m); n = 2 * m; while (c < n) { while (x < c) { printf(" "); x++; } while (i < n) { printf(" 0 "); printf(" "); i++; } printf("\n"); i = z; x = 1; while (x < c) { printf(" "); x++; } while (i < n) { printf("<H>"); printf(" "); i++; } printf("\n"); i = z; x = 1; while (x < c) { printf(" "); x++; } while (i < n) { printf("I I"); printf(" "); i++; } printf("\n"); z += 2; i = z; x = 1; c++; } return 0; }


浙公网安备 33010602011771号