实验1

任务一:

程序源码1:

//打印一个字符小人

#include <stdio.h>
int main()
{
    printf("o\n");
    printf("<H>\n");
    printf("I I\n");
    printf("o\n");
    printf("<H>\n");
    printf("I I\n");
    
    return 0;
 } 

运行截图1:

程序源码2:

//打印一个字符小人

#include <stdio.h>
int main()
{
    printf("o     o\n");         
    printf("<H>  <H>\n");       
    printf("I I  I I\n");       
    
    
    return 0;
 } 

运行截图2:

 任务二:

程序源码:

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

#include <stdio.h>

int main()
{
    int n, sum;
    
    // 从键盘上输入一个十进制整数n
    scanf("%d", &n);
    
    sum = (n+1)*n/2 
    
    
    //打印输出求和结果
    printf("sum = %d\n", sum);
    
    return 0; 
 } 

 运行结果:

回答问题:

写法1、2可以实现题目要求;因为乘法运算和除法运算会严格按照自左向右的运算顺序,导致奇数无法除尽2。

任务三:

程序源码:

#include <stdio.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);
    
    return 0;
}

运行截图:

回答问题:功能是  通过赋值运算结合方向为从右向左的特点,交换原本的 a 和 b 的值。

任务四:

程序源码:

#include <stdio.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);
    
    return 0;
 } 

运行结果:

回答问题:功能为 将原数字逆序排成一个新的数字。

任务五:

程序源码:

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

运行结果:

 任务六:

#include <stdio.h>

int main()
{
    int year;
    
    year = 1000000000 / 60 / 60 / 24 / 365;
    
    printf("10亿秒约等于%d年\n", year);
    return 0;
 } 

运行截图:

任务七:

#include <stdio.h>

int main()
{
    int n;
    
    // 补足代码
    //
    
    printf("n = %d\n",n);
    
    return 0; 
 } 

运行截图:

 

 

 

 

 

 

任务八:

#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')&&(ans2=='y'))
      printf("\n罗马不是一天建成的, 继续保持哦:)\n");
    else
      printf("\n罗马不是一天毁灭的,我们来建设吧\n");
        
      return 0;
} 

运行截图:

 

posted @ 2023-03-09 07:21  ANG--13  阅读(11)  评论(0编辑  收藏  举报