实验1 c语言开发环境使用和数据类型、运算符、表达式

tesk1

//打印一个字符小人

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

    getchar();
    return 0;
}

tesk2

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

 

问题:第四种不能实现。因为代码中字符为int类型,会舍弃小数取整数,第四种(n+1)/2计算结果原本为小数,但运行结果为整数25,导致结果错误

tesk3

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

讨论:通过暂存至t内,交换a,b数值

tesk4

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


}

问题:作用是将原来x值的个十百位数顺序倒换

 

tesk5

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

 

tesk6

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

int main()
{
int year;
year=int(1e+9/60/60/24/365+0.5);

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

 

 

 

test7

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

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

return 0;
}

 

 test8

#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-03 23:43  超级peipei  阅读(23)  评论(0)    收藏  举报