实验1

task1

代码:

//打印一个字符小人

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

    return 0;
}

运行结果:

 

task2

代码:

//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输入50,51都正确;

           写法2输入50,51都正确;

           写法3输入50正确,输入51不正确;

           写法4输入50不正确,输入51正确

分析:是int型,写法3输入51时,n/2舍去了小数取整了,所以结果错误;

           写法4输入50时,n+1是奇数,(n+1)/2也取整为int型了 

 

task3

代码:

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

 

运行结果:

 

 分析:先用t储存了a 原本的值,再把b的值赋给a,把a原本的值t赋值给b,实现a,b值的互换

 

task4

代码:

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

int main()
{
    int x, t, m;

    x = 123;
    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的各位数字调换位置成逆序

task5

代码:

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

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

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

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

    //判断能否构成三角形
    // 补足括号里的逻辑表达式
    if((a+b>c) || (b+c>a) || (a+c>b))
        printf("能构成三角形\n");
    else
        printf("不能构成三角形\n");
    system("pause");

    return 0;

}

运行结果:      

 

task6

代码:

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

int main()
{
int year;

//补足代码
year = (int) (1e+009/60/60/24/365+0.5);

printf("10亿秒约等于%d\n", year);
system("pause");
return 0;
}

 运行结果:

 

task7

代码:

//生成一个【60,100】之间的随机整数,并打印输出。
#include <stdlib.h>
#include <stdio.h>

int main()
{
int n;

//补足代码
srand(time(0));
n = 60+rand()%41;
printf("n=%d\n",n);

system("pause");
return 0;
}

运行结果:       

 

 

task8.c

代码:

#include <stdio.h>
#include <stdlib.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') )//待补足,判断用户回答ans1和ans2都是小写y或大写Y
printf("\n罗马不是一天建成的,继续保持哦:)\n");
else
printf("\n罗马不是一天毁灭的,我们来建设吧\n");

system("pause");
return 0;
}

运行结果:    

 

posted @ 2023-03-04 09:58  岁杪听风  阅读(48)  评论(0)    收藏  举报