实验1

task1.1

源码

//task1.1

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

结果

 

分析

 

task1.2

源码

//task1.2

#include<stdio.h>

int main()
{
	printf(" o       o \n");
	printf("<H>     <H>\n");
	printf("I I     I I\n");
	
	return 0;
}

结果

 

分析

 

task2

源码

//task2

#include<stdio.h>

int main()
{
	int n, sum;
	
	printf("请输入一个100以内的整数n\n");
	scanf("%d", &n);
	
	sum = n*(n+1)/2;
	
	printf("前%d个数的和为:%d", n, sum);
	
	return 0;
}

结果

 

分析

一,二种写法皆可。

三,四种写法可能因为非偶数除以二而导致 0.5 被约掉。

task3

源码

//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;    //交换AB的值 
    
    printf("a = %d, b = %d\n", a, b);
    
    return 0;
}

结果

 

分析

以t为中介,交换a,b的值。

task4

源码

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

结果

 

分析

将x上的个,十,百位倒值,存入t中。

task5

源码

//task5

#include<stdio.h>

int main()
{
	float a, b, c;
	
	printf("请输入三边的长,格式为 边长 边长 边长\n");
	scanf("%f%f%f", &a, &b, &c);
	
	if( a+b>c && a+c>b && b+c>a )
	
	    printf("可以构成三角型\n");
	    
	else
	 
	    printf("不可以构成三角形\n");
	    
	return 0;
 } 

结果

 

 

分析

 

task6

源码

//task6

#include<stdio.h>

int main()
{
	int year;
	
	year = 1e9 / 3600 / 24 / 365;
	
	printf("十亿秒约等于 %d 年", year);
	
	return 0;
}

结果

 

分析

 

task7

源码

//task7

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int n;
	
	srand(time(0));
	n = rand()%41 + 60;
	
	printf("随机一个整数 n = %d", n);
	
	return 0;
}

结果

 

分析

 

task8

源码

//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 == 89 || ans1 == 121) && (ans2 == 89 || ans2 == 121))
	    printf("\n罗马不是一天建成的, 继续保持哦:)\n");
	else
	    printf("\n罗马不是一天毁灭的, 我们来建设吧\n");
	    
	return 0;
}

结果

 

 

分析

 

posted @ 2023-03-02 17:29  南博图  阅读(32)  评论(0)    收藏  举报