HXA 实验二

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 5

int main()      /*随机选取 5个2018届~2021届的学生学号*/
{
    int grade, number;
    int i;

    srand(time(0));

    for(i=0;i<N;++i)
    {
        grade=rand()%4+2018;      /*随机选取2018、2019、2020、2021*/
        number=rand()%999+1;      /*随机选取[1,999]中的整数*/
        printf("%d8330%04d\n",grade, number);
    }

    return 0;
 }

task 2

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 3       /*猜测的次数*/

int main()
{
    int lucky_day,guess_day,flag,i;

    srand(time(0));
    lucky_day=rand()%30+1;
    flag=1;

    printf("猜猜2022年4月哪一天会是你的Lucky day.\n\n开始喽,你有%d次机会,猜吧(1~30):  ",N);

    for(i=N;i>0;i--)
    {
        scanf("%4d",&guess_day);
        if(guess_day==lucky_day)
            {
                printf("\n哇,猜中了:-)\n");
                flag=0;
                break;
            }
        else if(guess_day!=lucky_day)
                {
                    if(guess_day<lucky_day)
                        printf("\n你猜的日期早了,你的Lucky day还没到呢\n\n");
                    else printf("\n你猜的日期晚了,你的Lucky day已经过啦\n\n");

                    if(i!=1) printf("再猜(1~30): ");
                }
    }

    if(flag)
    printf("\n次数用完啦,偷偷告诉你:4月,你的Lucky day是%d号",lucky_day);

    return 0;
 }

task 3

#include<stdio.h>
#include<stdlib.h>
int main()
{ char ch;
    while(scanf("%c",&ch)!=EOF)
    { if(ch=='r')
          printf("stop!\n");
    else if(ch=='g')
        printf("go go go\n");
    else if(ch=='y')
        printf("wait a mintue.\n");
    else
        printf("something must be wrong\n");
    getchar();
    }

system("pause");
}

task4

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{ int n,a;
  double i,sum,fm;
 while(scanf("%d%d",&n,&a)!=EOF)
 {   for(sum=0,fm=0,i=1;i<=n;i++)
   {  fm+=a*pow(10,i-1);
      sum+=i/fm;   }
      printf("n=%d,a=%d,s=%.6lf",n,a,sum);
}


system("pause");
}

task 5

#include<stdio.h>

#define N 9

int main()
{
    int i,j;
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("%d×%d= %2d  ",j,i,i*j); 
        }
        printf("\n");
    }
    return 0;
}

task 6_1

#include<stdio.h>

int main()
{
    int n,i;
    scanf("%d",&n);
    printf("input n:%d\n",n);

    for(i=1;i<=n;i++)
    {
    printf(" o \n");
    printf("<H>\n");
    printf("I I\n\n");
    }
    return 0;
}

task 6_2

#include<stdio.h>

int main()
{
    int i,n;
    scanf("%d",&n);
    printf("input n:%d\n",n);

    for(i=1;i<=n;i++)
    {
        printf(" o   ");
    }
    printf("\n");
    for(i=1;i<=n;i++)
    {
        printf("<H>  ");
    }
    printf("\n");
    for(i=1;i<=n;i++)
    {
        printf("I I  ");
    }
    return 0;
}

task 6_3

#include<stdio.h>

int main()
{
    int i,j,n;
    printf("input n:");
    scanf("%d",&n);
    printf("\n");

    for(i=1;i<=n;i++)
    {
        for(j=1;j<i;j++)
        {
            printf("      ");
        }
        for(j=1;j<=2*(n+1-i)-1;j++)
        {
            printf(" o    ");
        }
        printf("\n");

        for(j=1;j<i;j++)
        {
            printf("      ");
        }
        for(j=1;j<=2*(n+1-i)-1;j++)
        {
            printf("<H>   ");
        }
        printf("\n");

        for(j=1;j<i;j++)
        {
            printf("      ");
        }
        for(j=1;j<=2*(n+1-i)-1;j++)
        {
            printf("I I   ");
        }
        printf("\n");
    }
    return 0;
}

实验总结

1.用scanf()输入函数是一定记得加地址符&

2.函数的声明一般要放在头文件中

3.注意细节

posted @ 2022-04-19 09:08  韩轩昂HXAaa  阅读(119)  评论(4编辑  收藏  举报