实验二

#include<stdio.h>
int main(){
    int num;
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    scanf("%d",&num);
    printf("2049%04d\n",num);
    
    
    
    
    return 0;
}

 格式符%04d使输出的数据占四位,不足的位数在左边用0补齐。

#include<stdio.h>
int main(){
    int num,i=0;
    
    while(i<3)
    {
    scanf("%d",&num);
    printf("2049%04d\n",num);
    i++;
    }
    
    
    
    return 0;
}

 task2

#include<stdio.h>
int main(){
    char ans1,ans2;
    
    printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习):");
    ans1=getchar();
    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;
}

 

 

task3

#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;
}

 

 

 task4

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

 task5

#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;
        printf("%3d",x);
    }
    printf("\n");
    
    return 0;
}

 task6

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int luck_day,n,i=0;
    srand(time(0));
    luck_day=rand()%31+1;
    
    printf("猜猜2021年12月哪一天会是你的luck day\n");
    printf("开始喽,你有三次机会,猜吧(1~31):");
    scanf("%d",&n);
    while(i<2)
    {
        if(n==luck_day)
        {
          printf("猜对啦!\n");
          break;
        }
        else if(n<luck_day)
        {
            printf("你猜的日期早了,luck day悄悄溜到后面啦\n再猜(1~31):");
            scanf("%d",&n);
            i++;
        }
        else
        {
            printf("你猜的日期晚了,luck day悄悄溜到前面啦\n再猜(1~31):");
            scanf("%d",&n);
            i++;
        }
    }
    if(i==2)
    {
        if(n==luck_day)
            printf("猜对啦!\n");
        else if(n<luck_day)
            printf("你猜的日期早了,luck day悄悄溜到后面啦\n\n次数用完啦,偷偷告诉你:12月,你的luck day是%d号\n",luck_day);
        else
            printf("你猜的日期晚了,luck day悄悄溜到前面啦\n\n次数用完啦,偷偷告诉你:12月,你的luck day是%d号\n",luck_day);
    }
    system("pause");
    return 0;
}

 task7

int main()
{
    
    int i,n;
    
    printf("input n:");
    scanf("%d",&n);
    
    for(i=1;i<=n;i++)
    {
        printf(" O \n");
        printf("<H>\n");
        printf("I I\n");
        printf("\n");
    }
    
    return 0;
}

 

#include<stdio.h> 
int main(){
    
    int i,n;
    
    printf("input n:");
    scanf("%d",&n);
    
    for(i=1;i<=n;i++)
    {
        printf(" O \t");
    }
    printf("\n");
    
    for(i=1;i<=n;i++)
    {
        printf("<H>\t");
    }
    printf("\n");
    
    for(i=1;i<=n;i++)
    {
        printf("I I\t");
    }
    
    return 0;
}

 

#include<stdio.h>

int main()
{
    int a,i,n,j;
    printf("input n:");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        for(j=0;j<i;j++)
            printf(" \t");

        for(a=0;a<2*(n-i)-1;a++)
            printf(" o\t");

    printf("\n");

        for(j=0;j<i;j++)
            printf("\t");

       for(a=0;a<2*(n-i)-1;a++)
            printf("<H>\t");

    printf("\n");

        for(j=0;j<i;j++)
            printf("\t");

          for(a=0;a<2*(n-i)-1;a++)
            printf("I I\t");

    printf("\n");
    }
    
}

 

实验总结

熟悉了循环中的嵌套,要理清思路,一步一步完成整个框架。比如打印小人,可以现在纸上列出他们的关系,防止把自己绕晕。

在实验六中,体会到了根据运行结果不断发现源代码中的小问题,最终排除所有问题。

字符型常量要加单引号。

posted @ 2021-11-14 14:52  iloveedith  阅读(54)  评论(3)    收藏  举报