1. 程式人生 > 其它 >C語言實驗二

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,number,guess,times=0;
    srand(time(0));
    number=rand()%30;
    printf("猜猜2022年4月哪一天會是你的lucky day\n開始嘍,你有三次機會,猜吧(1~30): 
"); for(i=1;i<=3;++i) { scanf("%d",&guess); if(guess==number) { printf("哇,猜中啦\n"); break; } else if(guess<number) { printf("你猜的日期早了,你的lucky day還沒到呢\n再猜(1~30): "); } else { printf(
"你猜的日期晚了,你的lucky day已經過啦\n再猜(1~30): "); } times++; } if(times==3) { printf("次數用完啦。偷偷告訴你:4月,你的lucky day是%d號",number); } return 0; }

task.3

#include<stdio.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 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 n,k,i=1;
    printf("input n:");
    scanf("%d",&n);
    
    while(n>0)
    {
        for(k=0;k<i;k++)
        printf("      ");    
        for(k=1;k<=2*n-1;k++)
        {
            printf(" O ");
            printf("   ");
        }
        printf("\n");
        
        for(k=0;k<i;k++)
        printf("      ");    
        
        for(k=1;k<=2*n-1;k++)
        {
            printf("<H>");
            printf("   ");
        }
        printf("\n");
        
        for(k=0;k<i;k++)
        printf("      ");    
        for(k=1;k<=2*n-1;k++)
        {
            printf("I I");
            printf("   ");
        }
        printf("\n");
        n--;
        i++;
    }
    return 0;
}

1.對生成隨機數的函式有了進一步的瞭解

2.理解了賦值在迴圈內外本質的不同

3.通過列印特殊形狀的字元小人的方法有了瞭解,並且能將此種方法應用到其他相似的圖形列印中