实验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仍然未能完成调试,等待老师上课讲解。

 

posted @ 2025-03-23 23:34  蒋率  阅读(12)  评论(0)    收藏  举报