• C语言设计实验报告(第二次)



    C程序设计实验报告


    一、实验目的与要求

    1. 掌握自增++、自减--运算符的正确使用。

    2. 掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。

    3. 掌握结构化程序的算法描述方法。

    4. 熟练掌握C语言的运算符,即运算符的优先级和结核性、运算规则、运算对象类型等。

    二、实验内容


    1、实验练习:字符与ASCLL码

    1.问题的简单描述:字符的输入输出写法与数值的输入输出不同

    2.实验代码:

    #include<stdio.h>
    int main()
    {
    	//第一种写法 
    	char ch;
    	printf("请输入一个大写字母"); 
    	ch=getchar();
    	printf("小写字母为
    ") ;
    	putchar(ch+31);
    	putchar(ch+32);
    	putchar(ch+33);
    	
    	//第二种写法 
    	scanf("%c",&ch);
    	printf("%c,%c,%c
    ",ch+31,ch+32,ch+33);
    	
    	//程序改进:计算平均值并输出 
    	printf("%c",(ch+31+ch+32+ch+33)/3) ;
    }
    

    3.问题分析:字符的输入输出可以采用sacnf("%c",&字符变量)+printf("%c",&字符变量)的写法;也可以采用ch=getc(stdin)``ch=getch()``ch=getchar()输入、putc()``putch()``putchar()输出。


    2、实验练习:运算符与表达式的应用

    1.问题的简单描述:原始数据被破坏

    2.实验代码:

    #include<stdio.h>
    int main()
    {
    	int i,j,k;
    	printf("请输入一个三位数");
    	scanf("%d",&i) ;
    	//第三位 
    	k=i%10;
    	//第二位
    	j=(i%100-k)/10;
    	//第一位 
    	i/=100;
    	printf("%d %d %d",k,j,i);
    	
    	return 0;
    }
    

    3.问题分析:在对数据处理的时候,有时候会破坏数据,那么接下来使用到该数据就会出现问题;

    解决方法1:定义一个变量存储该数据,当破坏的时候再用该变量取回;

    解决方法2:先使用最后破坏。


    3、实验练习:计算医药费

    1.问题的简单描述:无

    2.实验代码:

    #include<stdio.h>
    int main()
    {
    	float i,j,k,x,y,z; 
    	printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:
    ");
    	scanf("%f,%f,%f,%f,%f,%f",&i,&j,&k,&x,&y,&z);
    	float sum;
    	sum=i+k+j+x+y+z;
    	printf("应付款(元):%.2f病人付款(元):",sum);
    	int pay;
    	scanf("%d",&pay) ;
    	printf("计算结果:
    病人付款=%d元
    应收款=%.2f元,应找回%.2f元",pay,sum,pay-sum);
    	return 0;
    }
    

    3.问题分析:无


    4、实验练习:数学函数

    1.问题的简单描述:表达式变量数字混合计算

    2.实验代码:

    #include<stdio.h>
    int main()
    {
    	float x;
    	float y; 
    	printf("请输入x的值:") ; 
    	scanf("%f",&x);
    	if(x<1){
    		y=x;
    	}else if(x<10){
    		y=2*x-1;
    	}else{
    		y=3*x-1;
    	}
    	printf("y的值为%2f",y);
    	return 0;
    }
    

    流程图

    3.问题分析:在计算y=2x-1的时候输入代码应该是y=2*x-1,*不能漏掉!


    5、实验练习:鸡兔同笼

    1.问题的简单描述:和第四个实验同样问题

    2.实验代码:

    #include<stdio.h>
    int main()
    {
    	int h,f,x,y;
    	printf("鸡兔总数,鸡兔脚总数:") ;
    	scanf("%d %d",&h,&f) ;
    	if(x>0&&y>0) {
    		x=(4*h-f)/2;
    		y=(f-2*h)/2;
    		printf("鸡有%d 兔有%d
    ",x,y) ;
    	}else{
    		printf("输入错误!
    ");
    	}
    	return 0;
    }
    

    流程图

    3.问题分析:同实验4.


    6、实验练习:确定坐标

    1.问题的简单描述:表达距离

    2.实验代码:

    #include<stdio.h>
    int main()
    {
    	float x,y;
    	printf("请输入一个点(x,y):");
    	scanf("%f,%f",&x,&y);
    	if(x<0) {
    		x=-x;
    	}
    	if(y<0) {
    		y=-y;
    	}
    	if(((x-2)*(x-2)+(y-2)*(y-2))<1){
    		printf("10");
    	}else{
    		printf("0");
    	}
    	
    	return 0;
    }
    

    流程图

    3.问题分析:这个实验最复杂的就是在if判断条件,一开始我用的是计算原点到圆心的距离,要使用到#include<math.h>中的sqrt表示根号。但是有弊端,所以用了第二种方法:写出圆的方程,<R就是圆内的点。但是要注意把负数都转正。


    三、实验小结

    本次实验当中主要是巩固了C语言基本写法,对一些细枝末节的错误加深了印象。

    与此同时还自学了markdown的写法(本篇博文就是用markdown写的):

    标题:

    # 一级标题
    ## 二级标题
    ### 三级标题
    

    样式:

    *斜体* 
    
    **粗体** 
    
    ==高亮==
    
    ~~删除线~~
    
    

    等等

    回到顶部

  • 相关阅读:
    (转)ubuntu 对拍和基本操作
    一个在线翻译LateX的网站
    51nod 1376: 最长递增子序列的数量(二维偏序+cdq分治)
    BZOJ1087: [SCOI2005]互不侵犯King(状态压缩动态规划)
    ZOJ Problem Set
    bzoj2301:[HAOI2011]Problem b(容斥+莫比乌斯反演+分块)
    BZOJ 4318 OSU!期望DP
    CodeForces 235B Let's Play Osu!(概率)
    博客界面美化
    A+B Problem
  • 原文地址:https://www.cnblogs.com/oceaninfinite/p/12453799.html
Copyright © 2020-2023  润新知