C语言课程设计实习报告

时间:2024.4.8

C语言课程设计实习报告

一、两个大数相乘问题

1、题目描述:

【要求】本问题中,要求输入两个相对较大的正整数,能够通过程序计算出其结果。

【提示】两个相对较大的数肯定是不能够用LONG INT类型存储的,因为LONG型数据的数据范围也并不是很大,于是就需要采用其他的存储结构。这里推荐用数组存储一个大数,数组的初始空间可以定义到如200或300个单元,每个单元存储一位数据,形如下图:

这样理论上,比如数组定义为200,就可以存储200个数字的整数,应该是满足足够大的条件了。而结果的存储也需要考虑空间的问题,所以需要一个更大的数组。

在解决了存储问题后,我们需要来实现乘法运送的过程,也就是说你必须要把这个数组中的每一位数字单独来进行乘法运算,比如我们可以用一个数字和另外一个数组中的每一位去相乘,从而得到乘法运算中一行的数字,再将每一行数字错位相加。这就是乘法运算的过程。

2、设计思路:

乘法计算的算法,从低位向高位乘,在竖式计算中,我们是将乘数第一位与被乘数的每一位相乘,记录结果,之后,用第二位相乘,记录结果并且左移一位,以此类推,直到计算完最后一位,再将各项结果相加。通过调用函数得出最后结果。

流程图:

3、运行效果截图:

a:65498765165

b:16515135135

65498765165*16515135135=1081720957875605572275

4、附源程序如下:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define N 100

int GetDigits(int *a,char *s);

int multiply(int *a,int *b,int *c);

main()

{

    char s1[N],s2[N];

    int i,j,a[N],b[N],c[N*2];

    printf("\n 请输入大数a: ");

    scanf("%s",s1);

    printf("\n 请输入大数b: ");

    scanf("%s",s2);

    GetDigits(a,s1);

    GetDigits(b,s2);

    multiply(a,b,c);

    j=N*2-1;

    while(c[j]==0)

        j--;

    printf("\n %s * %s=",s1,s2);

    for(i=j;i>=0;i--)

        printf("%d",c[i]);

         return 0;

}

int GetDigits(int *a, char *s)

{

    int i;

    char digit;

    int len=strlen(s);

    for(i=0;i<N;i++)

        *(a+i)=0;

    for(i=0;i<len;i++)

    {

        digit=*(s+i);

        *(a+len-1-i) = digit - '0';

    }

         return 0;

}

int multiply(int *a,int *b,int *c)

{

    int i,j;

    for(i=0;i<N*2;i++)

        *(c+i)=0;

    for(i=0;i<N;i++)

        for(j=0;j<N;j++)

            *(c+i+j)+=*(a+i) * *(b+j);

        for(i=0;i<N*2-1;i++)

                   {

            *(c+i+1)+=*(c+i)/10;

            *(c+i)=*(c+i)%10;         

                   }

                   return 0;

}

二、画组合图形问题

1、题目描述:

【要求】了解C语言的图形函数,掌握用C语言画图的基本方法。首先需要同学们能够在屏幕上用各种颜色画出简单的点、直线、圆、椭圆、矩形、填充圆、填充矩形等图形,然后自由构图,通过编程实现一副简单图画(要求有一定意义)或动画。

【提示】C语言中有图形库函数<graphics.h>,包含此头文件可调用其中的图形函数,如画点函数、画线函数等。给出实例程序段如下,同学们可通过其举一反三。其他函数请查阅帮助文档或网络。

2、设计思路:

通过图形库函数<graphics.h>,包含此头文件可调用其中的图形函数绘制直线和圆弧进行组合,绘制成一幅较复杂的图画。许多图形可以由直线组成。以下话的房屋,可以由矩形、平行四边形和三角形组成。画直线函数line可以在指定位置画一条指定长度的直线。前景色决定屏幕上显示对象的颜色。C语言的作图函数都使用当前前景色作图。因此,要用什么颜色画图,在调用作图函数之前就先设置它为前景色。设置前景色可以使用setcolor函数。背景色决定屏幕的颜色,设置背景色可以使用setbkcolor函数。设置填充模式可以使用setfillstyle函数。

3、运行效果截图:

4、附源程序如下:

#include "graphics.h"

main( )

{

int drive,mode;

drive=DETECT;

initgraph(&drive,&mode,"E:\\123");  /*设置图形模式*/

cleardevice( );

circle(450,100,30);                /*画太阳*/

setfillstyle(SOLID_FILL,LIGHTRED);

floodfill(450,100,12);              /*自动充填太阳为浅红色*/

setbkcolor(15);                 /*设置背景色为白色*/

setcolor(6);                    /*设置前景色为棕色*/

rectangle(225,250,480,400);      /*画正面*/

rectangle(390,320,440,400);      /*画门*/

rectangle(260,290,300,330);      /*画窗户*/

line(260,310,300,310);

line(280,290,280,330);

line(200,200,455,200);

line(455,200,480,250);

line(200,200,225,250);           /*画屋顶*/

line(160,230,200,200);

line(160,230,225,250);           /*画左面*/

line(160,230,160,380);

line(160,380,225,400);

getch( );

closegraph( );                  /*关闭图形模式*/

}

实习感想:

计算机编程真的是一门很严谨的学科,容不得半点差错,少一个标点,少一个符号,都可以导致整个程序错误而无法运行。编程是对我们耐心和细心严谨态度的考验,启发了我在治学求学的道路上,要审慎细心。编程确实有些难度,很多问题都要请教同学帮助,刚开始时,几乎寸步难行,如果没有程序设计指导书的帮助,还有同学们的耐心讲解和协作,我不可能写出这套程序。我们学习了C语言程序设计,初步了解了一些计算机语言方面的知识。借这次上机实习之际我又把上学期的课程重新复习了一遍。

   实践总是检验真理的唯一方法,学了再多的知识不会运用。学习C语言就是为了运用它帮助我们解决一些日常生活中遇到的问题,而此次的课程设计就为我们提供了检验自己能力的一次机会,也给了我们一次弥补以前缺陷的机会。总而言之,这次课程设计使我获益匪浅。

   最后,感谢老师在百忙之中,指导我们C语言实习以及认真查阅修改我们的实习报告,在这个寒冷的冬季,麻烦辛苦老师了。预祝老师新年快乐,万事如意。

                                                                  20##年12月


第二篇:C语言课程设计实习报告封面



C语言课程设计实习报告

姓    名:                学    号:                 

        专    业:                班 学 号:                 

      院(系):                指导教师:                  

                 

             

更多相关推荐:
电子课程设计实习报告

河南科技学院机电学院电子课程设计报告题目声光控制器设计专业班级应用电子技术教育111姓名张胜林20xx0325117时间20xx12920xx1227指导教师张伟邵锋完成日期20xx年12月20日声光控制器设计...

大学计算机基础课程设计实践报告

中南大学本科生课程设计(实践)任务书、设计报告(大学计算机基础)题目学生姓名指导教师学院专业班级学生学号课程设计实践报告计算机基础教学实验中心20xx年x月x日⑴任务内容:本期我们进行了网页制作的实践,我选…

电子课程设计实习报告

XXXX学院电子课程设计报告题目彩灯控制器设计专业班级电气工程及其自动化XX班姓名XXX时间20xx052720xx0607指导教师XXXXXXXX完成日期20xx年06月05日彩灯控制器设计任务书1设计目的与...

课程设计实践报告

中南大学本科生课程设计(实践)任务书、设计报告(大学计算机基础)题目时间旅行学生姓名龙辰指导教师刘光瑜学院化学化工学院高级工程人才实验班(化专业班级学)学生学号1507110107计算机基础教学实验中心20xx…

课程设计实训报告

封面书写实践名称课程设计指导教师申燕萍班级姓名学号学期20xx20xx学年第2学期报告日期20xx年6月11日6月21日实训项目一学生管理系统分析与设计实训目的分析确定学生管理系统的功能和设计界面了解C语言在图...

数据库课程设计实践报告

中南大学本科生课程设计(实践)任务书、设计报告(SQL数据库程序设计)题目学生姓名指导教师学院专业班级学生学号网吧会员管理系统戴云波杨红雨艺术学院美术09041904090421计算机基础教学实验中心20xx年…

实习报告——专业课程设计总结

XXX学院实习报告系别年级专业(班级)学号姓名实习类别专业课程设计指导教师实习期间教务部XXXX年制专业课程设计周小结为期一周的专业课程设计周转眼间过去了,在这期间我们主要对转播车、演播馆和音视频焊接头进行了学…

测量平差课程设计实习报告

湖南科技大学建筑与城市规划学院测量平差课程设计实习报告专业班级姓名学号指导老师20xx年1月9日一课程设计的性质目的和任务测量平差课程设计是完成测量平差基础课程教学后进行的综合应用该课程基本知识和技能的一个教学...

C语言课程设计实习报告

C语言课程设计实习报告班级姓名学号20xx6题目一题目描述要求输入两个相对较大的正整数能够通过程序计算出其结果设计思路由于LONG型数据的数据范围并不大所以两个相对较大的数不能用LONGINT类型存储本程序中设...

C语言课程设计实习报告

C语言课程设计实习报告班级0820xx班姓名高璐学号20xx1004164指导老师康晓军20xx12题目一两个大数相乘问题题目描述要求输入两个相对较大的正整数能够通过程序计算出其结果设计思路两个相对较大的数是不...

土地信息系统课程设计实习报告

土地信息系统课程设计报告学年第学期专业班级学号姓名评语课程设计总成绩指导教师签名年月日一课程设计概述一课程设计的目的和任务1课程设计的目的课程设计是课程学习后的一个实践环节是对课程理论的综合和补充对加深课程理论...

C语言课程设计实验报告

扬州大学信息工程学院课程设计报告课程名称《C语言程序设计》设计题目学生成绩管理系统1学生姓名班级学号指导老师一、课题内容和要求.................................3二、总体设计..…

课程设计实习报告(29篇)