实验1

task1

程序源码(task1-1)

 //打印一个字符小人
 
 #include <stdio.h>
 int main()
 {
     printf(" o\n");
     printf("<H>\n");
     printf("I I\n");

     return 0;
  } 

程序运行截图(task1-1)

程序源码(task1-2)

 //打印一个字符小人
 
 #include <stdio.h>
 int main()
 {
     printf(" o     o\n");
     printf("<H>   <H>\n");
     printf("I I   I I\n");

     return 0;
  } 

程序运行截图(task1-2)

 

 

 

 

task2

程序源码

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

#include <stdio.h>

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

程序运行截图

 

 

 

 回答问题

写法1和写法2可以实现题目要求,写法3和写法4不可以,因为最前面要求为int,取得的是整数,3和4中所除得的结果不一定为整数,在运算过程中会不断省略小数部分,累计造成误差。

 

task3

程序源码

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

程序运行截图

 

 回答问题

源代码line11-13合起来实现的功能是使a和b的值互换

 

task4

程序源码

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

程序运行截图

 

 

 

 回答问题

源代码中,代码line10-22组合起来实现的功能是使数字顺序颠倒

 

task5

程序代码

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

#include <stdio.h>

int main()
{
    float a, b, c;
    
    // 输入三边边长
    scanf("%f%f%f", &a, &b, &c);
    
    //判断能否构成三角形
    //补足括号里的逻辑关系
    if(a + b > c)
        printf("能构成三角形\n");
    else
        printf("不能构成三角形\n");
        
        return 0; 
 } 

程序运行截图

 

 

 

 

 

 

 

task6

程序源码

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

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

程序运行截图

 

 

 

task7

程序源码

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

int main()
{
    int n;
    
    srand((unsigned)time(NULL));
    n = rand()%41 + 60;
    
    printf("n = %d\n",n);
    
    return 0;
}

程序运行截图

 

 

 

 

 

task8

程序源码

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

程序运行截图

 

 

 

 

 

 

posted @ 2023-03-03 18:53  邱奕萱  阅读(21)  评论(0编辑  收藏  举报