实验1 C语言开发环境使用和编程初体验

实验任务1

程序源代码:

task1_1

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

task1_2

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

 

运行结果截图:

 

 

实验任务2

程序源代码:

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

 

运行结果截图:

讨论:写法1和写法2可以实现题目要求。原因:写法3和4无法保证被除数是偶数,若为基数/2会

导致结果舍去小数部分0.5

实验任务3

程序源代码:

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

 

运行结果截图:

讨论:line11-13实现了两个常量互换

实验任务4

程序源代码:

#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实现了一个三位数的倒序

实验任务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");
    return 0; 
}

 

运行结果截图:

 

实验任务6

程序源代码:

 

#include<stdio.h>
int main()
{
    int year;
    year=1000000000.0/(60*60*24*365);
    printf("10亿秒有%d年\n",year);
    
    return 0;
}

 

运行结果截图:

 

 

实验任务7

程序源代码:

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

 

运行结果截图:

讨论:如果按照原代码,每一次生成的随机数都是相同的,这是因为rand函数产生的随机数是伪随机数,是根据一个个数按照某个公式推算出来的,称为“种子”,这个种子在系统启动后就是一个定值。若要每次产生的随机数不一样,可以用到srand函数,用时间作为种子,因为每次运行的程序的时间肯定不用,产生的随机数就不一样了。

实验任务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");
    
    return 0;
}

 

运行结果截图:

 

posted @ 2023-03-02 21:53  lzque  阅读(11)  评论(0编辑  收藏  举报