实验1

#include <stdio.h>
int main()
{
    printf(" o \n");
    printf("<H>\n");
    printf("I I\n");
    printf("\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;
}

 

#include <stdio.h>
int main()
{
    int x,y;
    int r1,r2,r3,r4;
    
    x = 1;
    y = 2;
    r1 = x + y;
    r2 = x - y;
    r3 = x * y;
    r4 = x / y;
    
    printf("r1 = %d\n",r1);
    printf("r2 = %d\n",r2);
    printf("r3 = %d\n",r3);
    printf("r4 = %d\n",r4);
    
    return 0;
}

 

#include <stdio.h>
int main()
{
	float x,y;
	float r1,r2,r3,r4;
	
	x = 1;
	y = 2;
	r1 = x + y;
	r2 = x - y;
	r3 = x * y;
	r4 = x / y;
	
	printf("r1 = %f\n",r1);
	printf("r2 = %f\n",r2);
	printf("r3 = %f\n",r3);
	printf("r4 = %f\n",r4);
	
	return 0;
}

  

原因:第一次使用了整形的定义,第二次使用浮点型定义,所以第二次结果带有小数点。

#include <stdio.h>
int main()
{
	int n,r1,r2,r3,r4;
	
	n = 100;
	
	r1 = n*(n+1)/2;
	r2 = (n+1)*n/2;
	r3 = n/2*(n+1);
	r4 = (n+1)/2*n;
	
	printf("n = %d\n",n);
	printf("r1 = %d\n",r1);
	printf("r2 = %d\n",r2);
	printf("r3 = %d\n",r3);
	printf("r4 = %d\n",r4);
	
	return 0;
}

  

 

#include <stdio.h>
int main()
{
    int n,r1,r2,r3,r4;
    
    n = 101;
    
    r1 = n*(n+1)/2;
    r2 = (n+1)*n/2;
    r3 = n/2*(n+1);
    r4 = (n+1)/2*n;
    
    printf("n = %d\n",n);
    printf("r1 = %d\n",r1);
    printf("r2 = %d\n",r2);
    printf("r3 = %d\n",r3);
    printf("r4 = %d\n",r4);
    
    return 0;
}

 

line7:n乘以(n+1)除以2;

line8:(n+1)乘以n除以2;

line9:n除以2乘以(n+1);

line10:(n+1)除以2乘以n;

不同的原因:在c语言的运算中,由于采用了整形的定义,所以在做除法运算时会丢掉小数部分,取偶数无误差,取奇数有误差,该误差即为运算结果不同的原因。

#include <stdio.h>
int main()
{
    double x,y;
    char c1,c2,c3;
    int a1,a2,a3;
    
    scanf("%d%d%d",&a1,&a2,&a3);
    printf("%d,%d,%d\n",a1,a2,a3);
    scanf(" %c %c %c",&c1,&c2,&c3);
    printf("%c%c%c\n",c1,c2,c3);
    scanf("%lf %lf",&x,&y);
    printf("%f,%f\n",x,y);
    
    return 0;
}

 

#include <stdio.h>
int main()
{
    int a1,a2;
    char c1,c2;
    
    scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
    printf("a1 = %d, a2 = %d\n", a1 , a2);
    printf("c1 = %c, c2 = %c\n", c1 , c2);
    
    return 0;
 } 

 

#include <stdio.h>
int main()
{
    int answer;
    char words[5000];
    
    printf("网课学习让一些人欢喜一些人忧。\n");
    printf("1. 作为一个宅,社恐,觉得这样很好。有网络,自主学习,很ok。\n");
    printf("2. 不喜,不喜,很不喜。眼睛快瞎了。脑壳有点卡。。。\n");
    printf("3. 中间派。不知道。说不清。\n");
    printf("4. 其他。。。\n");
    printf("你的选择: ");
    scanf("%d",&answer);
    if(answer == 4){
        printf("请补充说明你的想法: \n");
        getchar();
        gets(words);
    } 
    
    printf("\n");
    printf("当遇到问题时,你会选择:\n");
    printf("1. 遇到问题,解决问题。不懂的,搜索式学习,逐个攻破。\n");
    printf("2. 遇到问题,不高兴。然后。。。没有了\n");
    printf("3. 其他。。。\n");
    printf("你的选择: ");
    scanf("%d",&answer);
    
    if(answer == 1)
    printf(":)\n");
    else if(answer == 3){
        printf("请补充说明你的想法: \n");
        getchar();
        gets(words);
    }
    
    return 0; 
 } 

 

 

posted @ 2021-10-31 22:38  刘骏涛  阅读(29)  评论(1编辑  收藏  举报