实验1

task1


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

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

 

 

task2

//用数学归纳法(求和公式计算)

#include <stdio.h>
int main()
{
    int n, sum;
    scanf("%d", &n);
    
    sum = n*(n+1)/2;
    
    printf("sum = %d\n", sum);
    
    return 0; 
 } 

回答问题:写法3(sum = n/2*(n+1))和写法4(sum = (n+1)/2*n)不能实现题目要求。

                  原因:在写法3中,运算的数据都为整型,因此每一步的运算结果均为整型;若n为奇数,在运算n/2时,就会存在数据的丢失(小数部分会被去掉),从而导致最后的运算结果不能满足题目条件。写法4同理,当n为偶数时,运算时也会发生数据的丢失。

 

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

回答问题:将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;
}

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

 回答问题:将一个三位数的百位、十位、个位上的数字顺序颠倒,得到一个新的三位数

 

task5

#include <stdio.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("能构成三角形");
    else
         printf("不能构成三角形");
          
    return 0;
}

 

task6

#include <stdio.h>

int main()
{
    int year;
    
    year = 1e+009/(3600*24*365);
    
    printf("10亿秒约等于%d年\n", year);
    
    return 0;
 } 

 

 

task7

#include <stdio.h>

#include <stdlib.h>

#include <time.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(); 
    
    getchar();
    
    printf("\n动手敲代码实践了没?:");
    ans2 = getchar();
    
    if((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y'))
       printf("\n罗马不是一天建成的,继续保持哦~\n");
    else
       printf("\n罗马不是一天毁灭的,我们来建设吧!\n");
     
    return 0;
}

 

posted @ 2023-03-04 16:04  Capetian  阅读(57)  评论(0)    收藏  举报