实验2

实验任务1

#include<stdio.h>
int main()
{
    int num;

    scanf_s("%d", &num);
    printf("2049%04d\n", num);

    scanf_s("%d", &num);
    printf("2049%04d\n", num);

    scanf_s("%d", &num);
    printf("2049%04d\n", num);

    return 0;
}

 A1格式符%04d所起的作用是使打印的数据占4为,前面的数位用0补足

A2用while循环进行改写

#include <stdio.h>
int main()
{
    int num;
    int i = 0;


    while (i < 3)
    {
        scanf_s("%d", &num);
        printf("2049%04d\n", num);
        i++;
    }

    return 0;
}

 

实验任务2

#include<stdio.h>
int main()
{
    char ans1, ans2;
    printf("复习了没?(输入Y或y表示复习了,输入N或n表示没复习):");
    ans1 = getchar();//从键盘输入一个字符,赋值给ans1

    getchar();

    printf("\n动手敲代码了没?(输入Y或y表示敲了,输入N或n表示木有敲):");
    ans2 = getchar();

    if ((ans1 == 'Y' || ans1 == 'y') && (ans2 == 'Y' || ans2 == 'y'))
        printf("\n罗马不是一天建成的:)\n");
    else
        printf("\n罗马不是一天毁灭的:)\n");

    return 0;
}

 

 

 

实验任务3

#include<stdio.h>
int main()
{
    char x;

    x = getchar();
    if (x >= '0' && x <= '9')
        printf("%c是数字字符\n", x);
    else if (x >= 'A' && x <= 'z')
        printf("%c是英文字母\n", x);
    else
        printf("%c是其它字符\n", x);

    return 0;
}

 

 

 

实验任务4

#include<stdio.h>
int main()
{
    int n, a;
    while ((scanf_s("%d", &n) != EOF) ) 
    {
        scanf_s("%d", &a);
        int i = 0;
        double s = 0;
        long b = a;
        for (; i < n; i++)
        {
            s += (i + 1.0) / b;
            b=a+(b * 10);
            
        }

        printf("n=%d,a=%d,sum=%llf", n, a,s);

    }
    return 0;
}

 

实验任务5

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
const int N = 5;
int main()
{
    int x,n;
    srand(time(0));//以当前系统时间作为随机种子
    
    for (n = 1; n <= N; n++)
    {
        x = rand() % 100;//生成一个0~99之间的随机整数
        printf("%3d", x);
    }
    printf("\n");

    return 0;
}

 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
const int N = 5;
int main()
{
    int x,n;
    srand(time(0));//以当前系统时间作为随机种子
    
    for (n = 1; n <= N; n++)
    {
        x = rand() % 31+1;//生成一个1~31之间的随机整数
        printf("%3d", x);
    }
    printf("\n");

    return 0;
}

 

实验任务6

 

#include<stdio.h>
int main()
{
    printf("猜猜2021年5月哪一天会是你的luck day");
    int date;
    int i;
    int ans;
    srand(time(NULL));
    date=rand()%31+1;
    scanf("%d",&ans);
    for(i=0;i<=1;i++)
    {
        if(ans==date)
        {
            printf("恭喜你,猜对啦"); 
            i=4;
        }
        if(ans!=date)
        {
            if(ans<date)
            {
                printf("你猜的日期早啦,luck day 还没到呢\n再试一次:");
            }
            else
            {
                printf("你猜的日期晚了,luck day悄悄溜到前面了\n再试一次:"); 
            }
            
        }
        if(ans!=date)
        scanf("%d",&ans);
    }
    if(ans<date)
    {
        printf("你猜的日期早啦\n");
        printf("次数用完了,偷偷告诉你:5月,你的luck day是%d号",date);
    }
    
    
    else if(ans>date)
    {
        printf("你猜的日期晚啦\n"); 
        printf("次数用完了,偷偷告诉你:5月,你的luck day是%d号",date);
    }
    
    
    
    return 0;
} 

 

 

 

 

实验任务7

#include<stdio.h>
int main()
{
    int n;
    int i = 0;
    scanf_s("%d", &n);
    while (i < n)
    {
        printf("  o\n ");
        printf("<H>\n");
        printf(" I I\n");
        printf("\n\n");
        i++;
    }
    return 0;
}

 

#include<stdio.h>
int main()
{
    int n;
    printf("Input:");
    scanf_s("%d", &n);
    int i=0, m=0, b=0;
    while (i < n)
    {
        printf(" o\t");
        i++;
    }
    printf("\n");
    while (m < n)
    {
        printf("<H>\t");
        m++;
    }
    printf("\n");
    while (b < n)
    {
        printf("I I\t");
        b++;
    }
    printf("\n");
    return 0;
}

 

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a;
    int b;
    int c;
    int d=0;
    int e;
    int i=n;
    for(e=0;e<=i;e++)
    {
    
        for(c=0;c<e;c++)
        {
            printf(" \t");
        }
        for(a=2*n-1;a>0;a--)
        {
            printf(" o\t");
        } 
        printf("\n");
        for(c=0;c<e;c++)
        {
            printf("\t");
        
        }
        
        for(a=2*n-1;a>0;a--)
        {
            printf("<H>\t");
        } 
        printf("\n");
        for(c=0;c<e;c++)
        {
            printf("\t");
        
        }
        
        
        
        for(a=2*n-1;a>0;a--)
        {
            printf("I I\t");
        } 
        printf("\n");
        
        
        
        
        n--;
        
        
    }


    return 0;
}

 

实验总结

\t是制表符,可以让打印的字符整齐排列

使用循环的嵌套需要理清思路,一步一步完成整个框架

字符型常量要记得加单引号

在循环的最开始经常定义一个变量的初始值为零,导致循环内部出现问题

 

posted @ 2021-11-11 22:02  波叶海菜花  阅读(29)  评论(3)    收藏  举报