太原理工大学软件工程大一程序设计技术实验Word文档格式.docx

上传人:b****7 文档编号:22640564 上传时间:2023-02-05 格式:DOCX 页数:22 大小:62.57KB
下载 相关 举报
太原理工大学软件工程大一程序设计技术实验Word文档格式.docx_第1页
第1页 / 共22页
太原理工大学软件工程大一程序设计技术实验Word文档格式.docx_第2页
第2页 / 共22页
太原理工大学软件工程大一程序设计技术实验Word文档格式.docx_第3页
第3页 / 共22页
太原理工大学软件工程大一程序设计技术实验Word文档格式.docx_第4页
第4页 / 共22页
太原理工大学软件工程大一程序设计技术实验Word文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

太原理工大学软件工程大一程序设计技术实验Word文档格式.docx

《太原理工大学软件工程大一程序设计技术实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《太原理工大学软件工程大一程序设计技术实验Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

太原理工大学软件工程大一程序设计技术实验Word文档格式.docx

sum=a+b;

average=(a+b)/2;

printf(“sum=%f,average=%f\n”,sum,average);

}

输入4,6

结果是sum=10.000000,auerage=5.000000

1-2

Voidmain()

{floats[10],max,min,sum,score;

inti;

for(i=0;

i<

10;

i++)

scanf(“%f”,&

s[i]);

max=min=sum=s[0];

for(i=1;

{if(max<

s[i])max=s[i];

if(min>

s[i])min=s[i];

sum+=s[i];

score=(sum-max-min)/8;

printf(“score=%.4f”,score);

输入1,2,3,4,5,6,7,8,9,0

输出4.5000

在运行时在一些语法上错误。

通过同学的互相合作解决问题。

22-2

voidmain()

{

intvalue1,value2,sum;

value1=30;

value2=45;

sum=value1+value2;

printf(“sum=%d\n”,sum);

结果sum=75

2-3

intmax(intx,inty)

{intz;

if(x>

y)

z=x;

else

z=y;

returnz;

voidmain(void)

inta,b,c;

printf(“a,b=”);

scanf(“%d,%d”,&

c=max(a,b);

printf(“max=%d\n”,c);

输入:

1,2

输出:

max=2

4.

(1)

#include<

stdio.h>

voidmain()

intx=2,a=7,y=4;

Printf(“%d\n”,x+a%3*(x+y)%2/4);

2

4.

(2)

floata=2,b=3,x=3.5,y=2.5;

printf(“%f\n”,(a+b)/2+(int)x%(int)y);

3.500000

5.

#include<

{inta=10;

Printf(“%d”,a+=a);

20

Printf(“%d”,a*=2+3);

50

Printf(“%d”,a-=2);

8

Printf(“%d”,a/=a+a);

Printf(“%d”,a+=a-=a*=a);

{inta=10,n=5;

Printf(“%d”,a%=(n%=2));

遇到的问题和解决方法

1.在函数的嵌套调用中,不能理智的排列好调用顺序。

解答:

通过问老师获得帮助。

2.函数多时,头脑有点混乱。

通过和同学一起商量,使编程变得有意义。

心得体会

编程序时,只要细心,认真,耐心,就能一次成功完成程序。

先分析问题,设计算法,编写代码,运行验证。

实验三简单程序、分支程序和循环程序设计

实验四数组应用程序设计

1.理解C语言程序的基本结构和实现基本结构的语句;

2.熟练应用赋值、输入和输出语句;

3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;

4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;

5.掌握数组的定义、初始化和数组元素的引用方法;

6.掌握与数组有关的算法,如:

求最大(小)值,排序等;

7.理解字符数组与字符串的关系,掌握字符串的处理过程和常用字符串处理函数。

1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。

2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。

3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。

4.输入一百分制成绩,输出成绩等级A、B、C、D、E。

90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。

要求程序能处理错误的输入数据。

5.利用公式:

π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。

(fabs(t)表示t的绝对值,1e-6=1*10-6)。

6.在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6的偶数都可以表示为两个素数之和,如:

100=3+97。

7.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。

8.输入一个英文句子,统计单词的个数。

实验记录(写出实验内容中3,5,6,8的程序代码和运行结果)(可分栏或加页)

1.

inta=5678;

printf(“%d,%o,%x,%u\n”,a,a,a,a);

输出结果为5678,13056,162e,5678

floata=-123.456789;

printf(“f格式:

%f\n”,a);

printf(“g格式:

%g\n”,a);

printf(“e格式:

%e\n”,a);

%10.2f\n”,a);

printf(“g格式:

%10.2g\n”,a);

%10.2e\n”,a);

f格式:

-123.456787

g格式:

-123.457

e格式:

-1.23457e+002

-123.46

-1.2e+002

2.

#include<

intx,y;

printf(“输入矩形的长和宽:

”);

scanf(“%d%d”,&

x.&

y);

printf(“areais%d、n”,x*y);

34

areais12

math.h>

floata,b,c,disc,x1,x2,p,q;

printf(“Inputa,b,c:

scanf(“%f,%f,%f”,&

b,&

c);

disc=b*b-4*a*c;

p=-b/(2*a);

q=sqrt(disc)/(2*a);

x1=p+q;

x2=p-q;

printf(“x1=%5.2f\nx2=%5.2f\n”,x1.x2);

Inputa,b,c;

1,2,3

x1=-1.00

x2=2.00

3.

inth=3;

floata=3.14,b,c,d,r=1.5;

b=2*a*r;

c=a*r*r;

d=a*r*r*h;

printf(“%f,%f,%f”,b,c,d);

9.420000,7.065000,21.195002

4.

charA,B,C,D,E;

floatr;

printf(“pleaseinputafigure:

scanf(“%f”,&

r);

if(r>

=90&

&

r〈=100)

printf(“%c”,A);

elseif(r>

=80&

r<

=89)

printf(“%c”,B);

=70&

=79)

printf(“%c”,C);

=60&

=69)

printf(“%c”,D);

printf(“%c”,E);

intmain()

doublei=1;

doublepi=0;

while

(1)

{

pi+=(double)(1/i-1/(i+2));

printf("

pi:

%f\n"

pi*4);

i+=4;

if(1/i-1/(i+2)<

10e-6)break;

}

return0;

6

#include<

intisPrime(intt);

voidprnt(inti);

intsum,n;

n=0;

for(sum=6;

sum<

=100;

sum=sum+2)

prnt(sum);

n++;

if(n%5==0)

printf("

\n"

);

printf("

return0;

voidprnt(inti)

intm;

for(m=3;

m<

m++)

{

if(isPrime(m))

if(isPrime(i-m))

{

printf("

%d=%d+%d"

i,m,(i-m));

break;

}}

intisPrime(intt)

intj;

for(j=2;

j<

=sqrt(t);

j++)

if(t%j==0)

return0;

return1;

程序运行结果:

6=3+38=3+510=3+712=5+714=3+11

16=3+1318=5+1320=3+1722=3+1924=5+19

26=3+2328=5+2330=7+2332=3+2934=3+31

36=5+3138=7+3140=3+3742=5+3744=3+41

46=3+4348=5+4350=3+4752=5+4754=7+47

56=3+5358=5+5360=7+5362=3+5964=3+61

66=5+6168=7+6170=3+6772=5+6774=3+71

76=3+7378=5+7380=7+7382=3+7984=5+79

86=3+8388=5+8390=7+8392=3+8994=5+89

96=7+8998=19+79100=3+97

7.

charstr[81],ch;

inti,position;

输入一个字符串:

"

gets(str);

输入要插入的字符位置:

scanf("

%d"

&

position);

输入要插入的字符:

%*c%c"

ch);

for(i=0;

str[i]!

='

\0'

;

while(i>

=position-1)

str[i+1]=str[i];

i--;

str[position-1]=ch;

在指定位置插入字符后的字符串:

%s\n"

str);

{

charstr[255];

printf(‘pleaseinput:

’);

for(i=1;

=’\0’;

if(str[i]>

=’a’&

str[i]<

=’z’||str[i]>

=’A’&

=’Z’)

i++;

printf(“%d”,i);

1:

做事必须认真,细心,一心一意。

2:

必须坚持不懈,才能成功。

3:

在写程序时,写注释有利于阅读程序。

实验五指针应用程序设计

实验六函数应用程序设计

1.理解指针的概念,掌握指针变量的定义和赋值,掌握使用指针变量访问数据的方法;

2.学会使用指针处理数组中的数据,学会用指针处理字符串;

3.了解指针数组和指向指针的指针;

4.掌握C语言函数的定义、调用和声明方法,掌握函数的参数传递方式;

5.了解变量的作用域和存储类别。

1.输入并运行第5章例5-1、例5-3中的程序,观察输出结果,理解指针变量的用法。

2.输入并运行第5章例5-5中的程序,掌握使用指针变量访问数组元素的方法。

3.编程序,输入有一个英文句子,将每个单词的第一个字母改为大写。

(使用指针)

4.设计一函数,判断一个字符串是否是回文。

“回文”是一种顺序读和反序读都一样的字符串,例如:

“121”“abcba”“ABCCBA”。

在主函数中输入字符串并输出判断结果。

5.编写一个程序,由主函数和如下函数构成。

⑴设计函数:

input(),输入n个无序的整数存储在一个数组中;

⑵设计函数:

sort(),用起泡法对数组中的n各数据从大到小排序;

⑶设计函数:

search(),用折半查找法在已排序的n个数种查找指定的数据,若存在,返回其所处的位置,否则,将其插入适当位置使数据仍有序。

在主函数中调用上述函数,验证函数的功能。

6.输入并运行第6章例6-27中的程序,根据输出结果总结局部静态变量的特点。

实验记录(写出实验内容中3,4,5的程序代码和运行结果)(可分栏或加页)

1.面积计算公式不能准确使用,通过到XX查阅获得答案。

2.不能正确使用which语句,通过参考课本得到解决。

3.不能正确使用条件控制语句(for)中的,通过看课本。

注重团队合作能力,互帮互助,这样才能共同进步,取得最后的成功。

实验七结构体应用程序设计

实验八文件操作程序设计

1.理解结构体的概念,掌握结构体类型的定义和结构体变量、数组和指针的定义;

2.掌握结构体变量和结构体数组的初始化方法;

3.掌握结构体变量和结构体成员的引用方法;

4.理解文件、文件类型、文件类型指针,熟悉文件的操作过程。

5.掌握文件打开、关闭和文件读写等文件操作函数的手机用。

1.输入并运行第7章例7-1中的程序。

理解结构体类型、变量和结构体成员。

2.编写一个程序实现如下功能:

定义一个点的结构数据类型,实现下列功能:

⑴输入点的坐标值。

⑵求两个点中点坐标。

⑶求两点间距离。

3.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。

4.有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。

台式或笔记本计算机

实验记录(写出实验内容中2,3,4的程序代码和运行结果)(可分栏或加页)

1

structcomplex

floatreal;

floatimag;

};

intmain(void)

structcomplexx,y,s,p;

scanf("

%f,%f"

x.real,&

x.imag);

y.real,&

y.imag);

s.real=x.real+y.real;

s.imag=x.imag+y.imag;

p.real=x.real*y.real-x.imag*y.imag;

p.imag=x.real*y.imag+x.imag*y.real;

两复数的和为:

%f+%fi\n"

s.real,s.imag);

printf("

两复数的积为:

p.real,p.imag);

程序运行结果为:

1,3

2,5

3.000000+8.000000i

-13.000000+11.000000i

structpoint

floatxnum;

floatynum;

structpointm,n,j;

floatk;

m.xnum,&

m.ynum);

n.xnum,&

n.ynum);

j.xnum=(m.xnum+n.xnum)/2;

j.ynum=(n.ynum+m.ynum)/2;

k=sqrt((n.xnum-m.xnum)*(n.xnum-m.xnum)+(n.ynum-m.ynum)*(n.ynum-m.ynum));

中点坐标为:

j.xnum,j.ynum);

两点之间的距离为:

%f"

k);

1,2

3,4

2.000000,3.000000两点之间的距离为:

2.828427

stdlib.h>

structstudent

intno;

charname[11];

floatmat;

floateng;

floatcha;

floatave;

structstudenta[5];

FILE*fp;

5;

{printf("

\n请输入第%d为学生学号:

i);

scanf("

a[i].no);

printf("

\n请输入第%d位学生姓名:

%s"

a[i].name);

\n请输入第%d位学生数学成绩:

a[i].mat);

\n请输入第%d位学生语文成绩:

a[i].cha);

\n请输入第%d位学生英语成绩:

a[i].eng);

a[i].ave=(a[i].mat+a[i].cha+a[i].eng);

第%d位学生的平均成绩为:

i,a[i].ave);

fp=fopen("

stud"

"

r"

if(fwrite(&

a[i],sizeof(structstudent),1,fp)!

=1)

filewriteerror\n"

fclose(fp);

#include"

stdio.h"

stdlib.h"

main()

{FILE*fp;

inti,j,n,ni;

charc[160],t,ch;

if((fp=fopen("

A"

))==NULL)

{printf("

fileAcannotbeopened\n"

exit(0);

\nAcontentsare:

(ch=fgetc(fp))!

=EOF;

{c[i]=ch;

putchar(c[i]);

ni=i;

B"

fileBcannotbeopened\n"

\nBcontentsare:

n=i;

for

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1