实验2
task1: 问题1:生成一个1-100的随机数,并赋值给number
问题2:使输出整数为四位,不足用0补齐
问题3:生成一个12位学号,最后四位随机
task2: 问题1:重置total price,防止一次购买多瓶饮料时价格叠加,去掉导致价格叠加
问题2:break直接跳出while循环,continue可以使输出后继续执行后续代码
问题3:没必要,如果choice输入错误,根本不会执行到switch语句,所以没必要
task3:
#include<stdio.h> int main(){ char ans; while(scanf(" %c",&ans)!=EOF){ switch(ans){ case('y'):printf("wait a minute\n"); break; case('r'):printf("stop!\n"); break; case('g'):printf("go,go,go\n"); break; default:printf("something must be wrong...\n"); } } return 0; }

task4:
#include<stdio.h> int main(){ float n,max,min,sum=0; int one=1; while(scanf("%f",&n)==1 && n!=-1){ if(one){ max=n; min=n; one=0; } else{ if(n<min) min=n; if(n>max) max=n; } sum+=n; } printf("今日累计消费总额: %.1f\n",sum); printf("今日最高一笔开销: %.1f\n",max); printf("今日最低一笔开销: %.1f\n",min); return 0; }

task5:
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(){ int day,ans; srand(time(0)); day=rand()%30+1; int i; printf("猜猜2025年4月哪一天是你的lucky day\n"); printf("开始了,你有三次机会,猜吧(1-30)\n"); for(i=1;i<=3;i++){ scanf("%d",&ans); if(ans>day) printf("晚了,你的lucky day在前面(1-30)\n"); if(ans<day) printf("早了,你的lucky day还没到(1-30)\n"); if(ans==day){ printf("哇,猜中了\n"); break;} if(i==3) printf("次数用完了,偷偷告诉你,你的lucky day是: %d\n",day); } return 0; }


task6:
#include <stdio.h> int main() { int n, i, j; printf("input n: "); scanf("%d", &n); for (i = n; i >= 1; i--) { for (j = 0; j < 2 * (n - i); j++) { printf(" "); } for (j = 0; j < i; j++) { if (j < i - 1) { printf(" O "); } else { printf(" O "); } } printf("\n"); for (j = 0; j < 2 * (n - i); j++) { printf(" "); } for (j = 0; j < i; j++) { if (j < i - 1) { printf("<H> "); } else { printf("<H>"); } } printf("\n"); for (j = 0; j < 2 * (n - i); j++) { printf(" "); } for (j = 0; j < i; j++) { if (j < i - 1) { printf("I I "); } else { printf("I I"); } } printf("\n"); } return 0; }
代码仍然存在问题,输出小人格式不符合要求,借助AI仍然未能完成调试,等待老师上课讲解。

浙公网安备 33010602011771号