实验一

实验任务1

程序源码

//打印一个字符小人

#include<stdio.h>
#include<stdlib.h>
int main()
{
    printf(" O \n");
    printf("<H>\n");
    printf("I I\n");
    printf(" O \n");
    printf("<H>\n");
    printf("I I\n");

    system("pause");
    
    return 0;
}

 

程序运行截图

程序源码

//打印一个字符小人

#include<stdio.h>
#include<stdlib.h>
int main()
{
    printf(" O     O \n");
    printf("<H>   <H>\n");
    printf("I I   I I\n");

    system("pause");
    
    return 0;
}

 

程序运行截图

 

结论、讨论:

实验任务2

程序源码

//1+2+3+...+n (设n的取值在100以内)
//用数学归纳法 (求和公式计算)

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n, sum;

    //从键盘上输入一个十进制整数给n
    scanf("%d", &n);

    sum = n*(n+1)/2;

    printf("sum = %d\n", sum);

    system("pause");

    return 0;
}

 

程序运行截图

                     

 

    

结论、讨论:写法1和写法2能实现题目要求,写法3和写法4不能实现题目要求

                     原因:写法1和2中n*(n+1)一定是偶数,除以2后还是整型变量,没有结果的偏差;

                                但是写法3和4中n或(n+1)可能是奇数或偶数,偶数时结果一致,奇数时除以2后小数结果自动取整为整型,结果变小,不能实现题目要求

实验任务3

程序源码

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a, b, t;

    a = 3;
    b = 4;
    printf("a = %d, b = %d\n",a, b);

    t = a;
    a = b;
    b = t;
    printf("a = %d, b = %d\n", a, b);

    system("pause");

    return 0;
}

 

程序运行截图

 

结论/讨论:line11-13合起来实现的功能:交换a,b的数值

实验任务4

程序源码

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int x, t, m;

    x = 456;
    printf("x = %d\n", x);

    t = 0;

    m = x % 10;
    t = t * 10 + m;
    x = x / 10;

    m = x % 10;
    t = t * 10 + m;
    x = x / 10;

    m = x % 10;
    t = t * 10 + m;
    x = x / 10;

    printf("t = %d\n", t);

    system("pause");

    return 0;
}

 

程序运行截图

 

结论/讨论:将x的个位*100,十位*10,百位+1后相加的结果输入给他,实现将x的个位变成t的百位,x的十位变成t的十位,x的百位变成t的个位,即将x的值从右往左输入给t

实验任务5

程序源码

//从键盘上输入三个数据作为三角形的边长,判断其能否构成三角形
//构成三角形的条件:任意两边之和大于第三边

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
    float a, b, c;

    //输入三边边长
    scanf("%f%f%f", &a, &b, &c);

    //判断能否构成三角形
    if((a + b) > c && fabs (a - b) < c)
        printf("能构成三角形\n");
    else
        printf("不能构成三角形\n");

    system("pause");

    return 0;
}

 

程序运行截图

                      

                      

 

结论/讨论:

实验任务6

程序源码

//计算10亿秒约等于多少年,并打印输出
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int year;
    double t, k;

    t = 1e+9;
    k = t/60/60/24/365;
    year = (int) (k + 0.5);

    printf("10亿秒约等于%d年\n", year);

    system("pause");

    return 0;
}

 

程序运行截图

 

结论/讨论:

实验任务7

程序源码

//生成一个[60,100]区间之内的随机整数,并打印输出
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
    int n;
    int a;
    srand((unsigned)time(NULL));
    a = rand() % 41 + 60;
    n = a;

    printf("n = %d\n", n);

    system("pause");

    return 0;
}

 

程序运行截图

 

结论/讨论:

实验任务8

程序源码

#include<stdio.h>
#include<stdlib.h>
#include<math.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");

    system("pause");

    return 0;
}

 

程序运行截图

                     

                      

 

结论/讨论:

posted @ 2023-03-04 17:36  TE-AMO  阅读(12)  评论(0编辑  收藏  举报