C语言实验二

task.1

//生成五个随机2018~2021级龙山书院同学的学号

#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 int main() { int grade,number; int i; srand(time(0)); //以当前系统时间作为随机种子 for(i=0;i<N;++i) { grade=rand()%4+2018; //生成2018~2021的随机数 number=rand()%999+1; //生成1~999的随机数 printf("%d83300%04d\n",grade,number); } return 0; }

task.2

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int i,lucky_day,guess,k=0;
    srand(time(0));
    lucky_day=rand()%30+1;
    printf("猜猜2022年4月哪一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30): ");
    
    for(i=1;i<=3;i++)
    {
        scanf("%d",&guess);
        if(guess==lucky_day)
        {
           printf("哇,猜中了\n");
           break;
        }
        
        else if(guess<lucky_day)
        printf("你猜的日期早了,你的lucky day还没到呢\n再猜: (1~300)");
        
         else
         printf("你猜的日期晚了,你的lucky day已经过了\n再猜:(1~30)");
         
         k++; 
    }
    
    if(k==3)
    printf("次数用完了,偷偷告诉你,4月,你的lucky day是%d号",lucky_day);
    
    return 0;
}

 

task.3

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

 

task.4

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

task.5

#include<stdio.h>
int main()
{
    int i,j,s;
    for(i=0;i<=9;i++)
    {
        for(j=0;j<=9;j++)
        {
            if(j<=i)
            {
                s=i*j;
                printf("%d×%d=%d\t",i,j,s);
            }
            }    
        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 n,i;
    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    ");
    }
    printf("\n");
    return 0;
}

task.6-3

#include<stdio.h>
int main()
{
    int row,col,n;
    scanf("%d",&n);
    for(row=1;row<=n;row++)
    {
        for(col=1;col<row;col++)
        printf("     ");
        for(col=1;col<=2*n-(2*row-1);col++)
        printf(" O   ");
        printf("\n");
        for(col=1;col<row;col++)
        printf("     ");
        for(col=1;col<=2*n-(2*row-1);col++)
        printf("<H>  ");
        printf("\n"); 
        for(col=1;col<row;col++)
        printf("     ");
        for(col=1;col<=2*n-(2*row-1);col++)
        printf("I I  ");
        printf("\n");
    }
    
    return 0;

 }

 

1.对生成随机数的函数有了进一步的了解

2.理解了赋值在循环内外本质的不同

3.通过打印特殊形状的字符小人的方法有了了解,并且能将此种方法应用到其他相似的图形打印中

 

posted @ 2022-04-14 10:36  夏洁  阅读(49)  评论(2编辑  收藏  举报