实验1

【实验任务1】

源码1_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;
}

 

截图1_1:

 

源码1_2:

// 打印一个字符小人

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

 

截图1_2:

 

【实验任务2】

源码:

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

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

int main()
{
    int n, sum1, sum2 ,sum3, sum4;

    //从键盘上输入一个十进制整数给n

    scanf("%d", &n );

    sum1 = n*(n+1)/2 ;
    sum2 = (n+1)*n/2 ;
    sum3 = n/2*(n+1) ;
    sum4 = (n+1)/2*n ;

    printf("sum1 = %d\n" , sum1);
    printf("sum2 = %d\n" , sum2);
    printf("sum3 = %d\n" , sum3);
    printf("sum4 = %d\n" , sum4);

    system("pause");


    return 0;
}

 

截图:

 

回答:4种写法中,第1、2种写法能实现题目要求。因为在第3、4种写法中,根据c语言从左往右的运算规则以及整数除以整数得到整数的规则,导致51/2=25,所以存在误差。

 

【实验任务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;
}

 

截图:

 

功能:使a、b数值交换。

 

【实验任务4】

源码:

#include <stdio.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的数值倒转。

 

【实验任务5】

源码:

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


scanf("%f%f%f" , &a, &b, &c);


if(a+b>c && a+c>b && b+c>a)
printf("能构成三角形\n");
else
printf("不能构成三角形\n");


system("pause");


return 0;
}

 

截图:

 

 

【实验任务6】

源码:

#include <stdio.h>

int main()
{
    int year;

    year =1000000000 /(60 * 60 * 24 * 365);

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

    system("pause");

    return 0;
}

 

截图:

 

【实验任务7】

源码:

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

int main()
{
    int n;

    srand((unsigned)time(NULL));
    n = rand()%(100-60+1)+60 ;
    
    printf("n = %d\n" , n);

    system("pause");

    return 0;
}

 

截图:

 

【实验任务8】

源码:

#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");

    system("pause");

    return 0 ;
}

 

截图:

 

总结与疑问:

①知道了怎么用rand()生成随机数;

②才注意到 if()后面不用分号,而是和else一起的;

③学会了怎么用system("pause"); 暂停输出框;

④不懂四舍五入。

posted on 2023-03-03 10:48  是我,  阅读(13)  评论(0编辑  收藏  举报