实验2

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<stdlib.h>
#define N 5
int main()
{
    int number,i;
    srand(time(0));
    for(i=0;i<N;++i)
    {   number=rand()%500+1;
        printf("20228329%04d\n",number);
    }

    system("pause");
    return 0;
}

 rand()%500表示产生一个随机的数,介于0~499之间,rand()%500+1就变为1~500之间的一个随机数,此程序可以随机生成随机的学号        srand()和rand()的头文件在stdlib.h

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()

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

 

#define _CRT_SECURE_NO_WARNING
#include<stdio.h>
#include<stdlib.h>
int main()
{
    char ch;
    ch = getchar();

    while (ch != EOF)
    {   
        if (ch == 'r')
        {
            printf("stop!\n");
            getchar();
        }
        else if (ch == 'g')
        {
            printf("go go go\n");
            getchar();
        }
        else if (ch == 'y')
        {
            printf("wait a minute\n");
            getchar();
        }
        else
        {
            printf("smoething must be wrong\n");
            getchar();
        }
        ch = getchar();
    }
    system("pause");
    return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
    unsigned int a = 1, n = 1, b = 1;
    while (scanf("%u%u", &n, &a) != EOF)
    {
        double s = 0.0, i, j;
        for (i = 1,b=a; i <= n; i++)
        {
            j = i / b;
            s = s + j;
            b = b * 10 + a;
        }
        printf("n=%u,a=%u,s=%lf\n", n, a, s);
    }

    
    system("pause");
    return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j,s;
    for (i = 1; i < 10; i++)
    {
        for (j = 1; j <=i; j++)
        {
            s = j * i;
            printf("%dx%d=%d\t",j,i,s);
        }
        printf("\n");
    }
    system("pause");
    return 0;
       
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,i,j,m,h;
    printf("input n: ");
    scanf("%d", &n);
    m = n;
    for (i = 1; i <= n; i++)
    {
        for (h = 1; h < i; h++)
            printf("\t");
        for (j = 1; j <= (2 * m - 1); j++)
        {
            printf(" O \t");
        }
        printf("\n");
        for (h = 1; h < i; h++)
            printf("\t"); 
        for (j = 1; j <= (2 * m - 1); j++)
        {            
            printf("<H>\t");
        }
        printf("\n");
        for (h = 1; h < i; h++)
            printf("\t");
        for (j = 1; j <= (2 * m - 1); j++)
        {
            printf("I I\t");
        }
        printf("\n");
        m = m - 1;
    
    }
    system("pause");
    return 0;
}

规律:

1.有n行,第一行小人2n-1,第二行2n-3,直到第n行小人1个

2.第n行就有n-1个空格

 思路:

1.先找出n与行之间小人的关系

2.利用for循环,外层for循环控制行,内层控制小人身体

3.内层先第一行打印所需的O,再复制和O一样的for循环代码,同样打印<H>,I I

4.结果打印出来每行的小人数量相同,但排布不一样,而是像个三角形,原因第一个小人永远顶头

5.所以要在打印O前再设置一个for循环,找出空格与行的关系

6.找到后同样复制到<H>,I I

7.结果打印出来就会符合

posted @ 2022-10-23 23:04  随风守  阅读(28)  评论(0)    收藏  举报