首页 > 其他分享 >实验1

实验1

时间:2023-03-04 22:23:03浏览次数:25  
标签:include return int sum 实验 printf main

实验任务1

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

  

2.

//打印一个字符小人

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

	return 0;
 } 

  

实验任务2

1.

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

 

  

 

2.

//1+2+3+..+n(设n的取值在100以内)
//用数学归纳法(求和公式计算)

#include<stdio.h>

int main() 
{
	int n,sum;
	
	//从键盘上输入一个十进制整数给n
	scanf("%d" , &n) ;
	
	sum=(n+1)*n/2;
		
	//打印输出求和结果
	printf("sum=%d\n", sum) ;
	
	return 0;
}

  

 3.

//1+2+3+..+n(设n的取值在100以内)
//用数学归纳法(求和公式计算)

#include<stdio.h>

int main() 
{
    int n,sum;
    
    //从键盘上输入一个十进制整数给n
    scanf("%d" , &n) ;
    
        //待补足代码
    sum=n/2*(n+1);
        
    //打印输出求和结果
    printf("sum=%d\n", sum) ;
    
    return 0;

4.

//1+2+3+..+n(设n的取值在100以内)
//用数学归纳法(求和公式计算)

#include<stdio.h>

int main() 
{
    int n,sum;
    
    //从键盘上输入一个十进制整数给n
    scanf("%d" , &n) ;
    
        //待补足代码
    sum=(n+1)/2*n;
        
    //打印输出求和结果
    printf("sum=%d\n", sum) ;
    
    return 0;
}

回答:写法1和写法2可以实现题目要求,写法3于51的计算上出现问题,写法4于50的计算上出现问题。这些主要是由于于算法3和算法4中对应的51/2和(50+1)/2在二进制中的结果是小数,由于取int,而不是double导致存在误差,又由于乘以了数字相对较大的50与51,导致小数部分误差增大,造成了结果不精确。

 

实验任务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\n",a,b);
    
    return 0;
    
}

回答:互换数值,将b原本的值赋给a,将a原本的值赋给b。

 

实验任务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;
}

回答:作用是逐步将最后一位的数字移到最高一位。(目前此程序只能移动三位数整数)
 
 
实验任务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

 

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

int main()
{
    int year;
    
    //补足代码
    double second;
    second=1000000000;
    year=(second/60/60/24/365)+0.5;
    
    printf("10亿秒约等于%d年\n",year) ;
    return 0;
}

 

 

实验任务7

 

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

int main()
{
    int n;
    
    //补足代码
    srand((unsigned)time(NULL));
    n=(rand()%40+1)+40; 
    
    printf("n=%d\n",n);
    
    return 0;
}

回答:每次运行结果不同。

 

实验任务8

 

#include<stdio.h>
int main()
{
    char ans1,ans2,y,Y;
    
    printf("每次课前认真预习,课后及时复习了没?(输入y或Y表示有,输入n或N表示没有):");
    ans1=getchar() ;//从键盘输入一个字符,赋值给ans1
    
     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;
}

实验总结

产生一定范围随机数的通用表示公式

要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;
要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;
要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1。

 

 

标签:include,return,int,sum,实验,printf,main
From: https://www.cnblogs.com/zyyjl/p/17172433.html

相关文章

  • 静态路由综合实验
    实验要求:1R6为isp,接口IP地址均为公有有地址;该设备只能配置IP地址,之后不能再对其进行任何配置;2R1—R5为局域网,私有P地址192.168.1.0/24,请合理分配;3R1,R2,R4,......
  • 实验一
    #inc#include<stdio.h>intmain(){inti;for(i=1;i<=2;i++){printf("o\n");printf("<H>\n");printf("II\n");}return......
  • 实验
    test1.c代码#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}结果代码#include<stdio.h>......
  • 实验1
    实验任务1实验代码#include<stdio.h>intmain(){ printf("00\n"); printf("<H><H>\n"); printf("IIII\n"); return0;}实验结论实验任......
  • GPIO与跑马灯实验
    STM32学习之GPIO实战:跑马灯库函数操作步骤使能IO口时钟。调用RCC_APB2PeriphClockCmd();初始化IO口模式,调用GPIO_Init();操作IO口,输出高低电平。GPIO_SetBits();GP......
  • 实验一
    实验任务1程序源码//打印一个字符小人#include<stdio.h>#include<stdlib.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");pr......
  • 实验1
    实验任务1task1代码:#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}运行结果:  t......
  • 实验一
    实验任务一程序源代码(task1.1.c)//打印一个字符小人#include<stdio.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");printf(......
  • 实验1 C语言开发环境使用和类型,运算符,表达式
    //打印一个字符小人#include<stdio.h>intmain(){ printf("O\n"); printf("<H>\n"); printf("II\n");printf("O\n");printf("<H>\n");printf("II\n"......
  • 实验一
    task1-1//垂直方向上打印两个字符小人#include<stdio.h>intmain(){printf("0\n");printf("<H>\n");printf("II\n");printf("0\n");......