b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(a>d)" />

大连理工c语言第二次上机作业参考答案

大连理工c语言第二次上机作业参考答案
大连理工c语言第二次上机作业参考答案

第二次上机作业参考答案:

1. 4个数排序

从键盘任意输入4个整数,将其按从小到大顺序排序后输出。

例:输入 5 12 -9 3

输出After ascending sorting: -9 3 5 12

#include

void main()

{ int a,b,c,d,t;

scanf("%d%d%d%d",&a,&b,&c,&d);

if(a>b)

{ t=a; a=b; b=t; }

if(a>c)

{ t=a; a=c; c=t; }

if(a>d)

{ t=a; a=d; d=t; }

if(b>c)

{ t=b; b=c; c=t; }

if(b>d)

{ t=b; b=d; d=t; }

if(c>d)

{ t=c; c=d; d=t; }

printf("The sorted number is:%d %d %d %d\n",a,b,c,d);

}

2.求1 + 1/2! +....+ 1/n!

输入正整数n,计算上式前n 项的和(保留 4 位小数)。

例:输入10

输出 1 + 1/2! +....+ 1/10!=1.7183

#include

int main( )

{ int i,j,n;

float s,t;

scanf("%d",&n);

for(s=0,i=1;i<=n;i++)

{

for(t=1,j=1;j<=i;j++)

t*=j;

s+=1/t;

}

printf("%0.4f\n",s);

}

3. 编程计算表达式:data1 op data2 的值。(+ - * / %)

例:输入23+12

输出23+12=35

#include

int main( )

{ int a,b,result,flag=1;

char op;

scanf("%d%c%d",&a,&op,&b);

switch(op)

{ case '+': result=a+b;

break;

case '-': result=a-b;

break;

case '*': result=a*b;

break;

case '/': printf("%d%c%d=%.2f\n",a,op,b,(float)a/b);

flag=0;

break;

case '%': result=a%b;

break;

}

if(flag)

printf("%d%c%d=%d\n",a,op,b,result);

}

4. 用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。

例:输入Please input the lower and upper boundaries: 3 10 输出No root in this boundary!

Please input the lower and upper boundaries: 1 5

The root is 2.00

#include

void main()

{ double x,fx,a,fa,b,fb;

do

{ printf("Please input the lower and upper boundaries:");

scanf("%lf%lf",&a,&b);

fa=2*a*a*a-4*a*a+3*a-6;

fb=2*b*b*b-4*b*b+3*b-6;

}while(fa*fb>0);

while(1)

{ x=(a+b)/2;

fx=2*x*x*x-4*x*x+3*x-6;

if(fabs(fx)<=1e-5)

{ printf("The solution is %.2f\n",x);

break;

}

if(fx*fa<0)

{ b=x; fb=fx; }

else

{ a=x; fa=fx; }

}

}

5.日历显示

编程反复显示2010年各月份日历。(程序可以设定2010年1月1号为星期五)。

程序运行输出示例如下:

Enter month in 2010 to display calendar (1-12): 9

****************************************************

SUN MON TUE WED THU FRI SAT

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30

Would you like to display another month (y/n) ? y

Enter month in 2010 to display calendar (1-12): 13

ERROR--- Enter month in range of (1-12)!

Enter month in 2010 to display calendar (1-12): 2

****************************************************

SUN MON TUE WED THU FRI SAT

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28

Would you like to display another month (y/n) ? N

#include

#include

main()

{

int year=2010,month,days=0;

int dayinmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int fday=5; /*the first day of 2010 is Friday*/

int i;

char ch;

while(1)

{

while(1)

{

printf("Enter month in 2010 to display calendar (1-12):");

scanf("%d",&month);

if(month<1 || month>12)

printf("ERROR- Enter month in range of (1-12)!\n");

else

break;

}

days=0;

fday=5;

/*how many days are there from Jan to month-1*/

for(i=0;i

days+=dayinmonth[i];

fday=(days+fday)%7; /*what day is first day of month*/

printf("*************************************************\n");

printf(" SUN MON TUE WED THU FRI SAT\n");

for(i=0;i

printf(" ");

for(i=1;i<=dayinmonth[month-1];i++)

if((i+fday)%7==0)

printf("%7d\n",i);

else

printf("%7d",i);

printf("\n");

printf("Would you like to display another month (y/n)?");

fflush(stdin);

ch=getchar();

if(ch=='n' || ch=='N')

break;

}

}

思考题:

某地刑侦大队对涉及六个嫌疑人的一桩疑案进行分析:

A、B至少有一人作案;

A、E、F三人中至少有两人参与作案;

A、D不可能是同案犯;

B、C或同时作案,或与本案无关;

C、D中有且仅有一人作案;

如果D没有参与作案,则E也不可能参与作案。

试编一程序,将作案人找出来。

#include

void main() // 主函数

{

int a,b,c,d,e,f,cc1,cc2,cc3,cc4,cc5,cc6;

char info[][20]={" is not crimal."," is a crimal"};

for(a=0;a<=1;a++)

for(b=0;b<=1;b++)

for(c=0;c<=1;c++)

for(d=0;d<=1;d++)

for(e=0;e<=1;e++)

for(f=0;f<=1;f++)

{ cc1=a||b;

cc2=a&&e || a&&f || e&&f;

cc3=!(a&&d);

cc4=b&&c || !b&&!c;

cc5=c&&!d || d&&!c;

cc6=d||!e;

if(cc1+cc2+cc3+cc4+cc5+cc6==6)

{ printf("A:%s\n",info[a]);

printf("B:%s\n",info[b]);

printf("C:%s\n",info[c]);

printf("D:%s\n",info[d]);

printf("E:%s\n",info[e]);

printf("F:%s\n",info[f]);

printf("\n");

}

}

}

五位跳水高手将参加十米高台跳水决赛,有好事者让五个人据实力预测比赛结果。

A选手说:B第二,我第三;

B选手说:我第二,E第四;

C选手说:我第一,D第二;

D选手说:C最后,我第三;

E选手说:我第四,A第一;

决赛成绩公布之后,每位选手的预测都只说对了一半,即一对一错,请编程解出比赛的实际名次。

#include

void main()

{ int a,b,c,d,e,ta,tb,tc,td,te,t;

for(a=1;a<=5;a++)

for(b=1;b<=5;b++)

for(c=1;c<=5;c++)

for(d=1;d<=5;d++)

{ e=15-a-b-c-d;

≠≠≠≠*/

if(a*b*c*d*e==120) /*a b c d e

{ ta=((b==2)+(a==3))==1;

tb=((b==2)+(e==4))==1;

tc=((c==1)+(d==2))==1;

td=((c==5)+(d==3))==1;

te=((e==4)+(a==1))==1;

t=ta+tb+tc+td+te;

if(t==5)

printf("a=%d, b=%d, c=%d, d=%d, e=%d\n",a,b,c,d,e);

}

}

}

C语言上机作业

1.输入十个整数,分别输出这10个数再计算并输出它们的和。 源程序: #include void main() { int i,sum=0; int a[10]; printf("input 10 intergers:\n"); for(i=0;i<=9;i++) { scanf("%d",&a[i]); } for(i=0;i<=9;i++) { sum+=a[i]; printf("%d ",a[i]); } printf("sum=%d\n",sum); } 运行结果: 2.输入10个不同的数,将它们存入数组a中,在输入一个数x。然后在数组中查找x。如果找到,则输出相应下标,否则输出“not found”。 源程序:#include void main() { int a[10],i,j,x; printf("Input data of a[10]:\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]);

} printf("Input x:"); scanf("%d",&x); for(j=0;j<10;j++) { if(x==a[j]) { printf("%d\n",j); goto L1; } } printf("not found\n"); L1: ; } 运行结果:

3.输入一个整数n(1 void main() { int n,i,s,min,a[10]; printf("Input a interger n(1a[i]) min==a[i]; } for(i=0;i

交通大学C语言第二次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就能 确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要调 用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静 态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

Removed_大连理工大学工科数学分析上机作业

工科数学分析上机作业 说明:以下两道题均是使用Matlab 语言,且在Matlab 7.0中运行通过。 1.(两个重要极限)计算下列函数的函数值并画出图形,观察两个重要极限值。 (1)y=f(x)=; (2)y=f(x)=. sin x x (1+x)1x 解:(1)求解过程如下: >> syms x >> y=limit(sin(x)/x) y = 1 >> ezplot(sin(x)/x,[-10*pi,10*pi]) >> ezplot(sin(x)/x,[-1*pi,1*pi]) 其图形如下:

(2)求解过程如下:>> syms x >> y=(1+x)^(1/x)

y = (1+x)^(1/x) >> y=limit((1+x)^(1/x)) y = exp(1) >> ezplot((1+x)^(1/x),[-1000,1000]) >> ezplot((1+x)^(1/x),[-10,10]) >> ezplot((1+x)^(1/x),[-1,1]) 其图像如下:

分析如下:(1)当x 取值为[-30,30]时,由该题的第一个图像可以看到,函数值在不断震荡,一会为正数,一会为负数。

而当x 取值为[-3,3]时,函数值始终大于0。当x 趋近于0时,由该题的第二个图像可以得到函数值为1。 另外,该结论也可以由夹逼法则证明,结果不变,当x 趋近于0时,函数值仍为1。 (2)由该题的三个图像可以知道,该函数在定义域内为单调递减函数。且由该题的第一和二个图像知道,当x 在 [0,10]区间内,函数递减趋势非常迅速。由该题的第三个图像知道,当x 趋于0 时,函数值为自然对数的底数 e ,即约为2.71828. 3.计算f(x)=, 12+1√2π ∫x 0e ?t 2/2dt 1?x ?3的函数值{f (0.1k );k=1,2,…,30}.计算结果取7位有效数字。 解:计算过程为: >> f1= @(t) exp(-(t).^2/2) f1 = @(t) exp(-(t).^2/2) >> for i=1:30

5-6次C语言上机作业

实验5 函数(1) 【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。调试运行程序,观察出现了什么错误,提出两种修改方案。 【实验题5-2】下程序的功能:输出3~1000之的间的素数。请选择合适的内容填入程序的空白处,并调试运行程序。

【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。要求计算n^3用函数实现。 【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。要求计算两数之和用函数

实现。 注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n” on integer constant. 调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。Ifun=fun(int n) × 【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。要求如下: 1)编写一个函数计算n!; 2)编写主函数,输入n和m, 调用第1)项中的函数完成计算; 3)输出并计算C58、C712的结果。

【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。但程序有错,请上机调试并改正错误。

【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。在程序空白处填写适当的编译预处理命令。 【实验题6-3】用for循环输出20个0~99之间的随机数。要求没输出五个随机数换一行。 【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。要求用库函数实现。

交通大学C语言第二次作业教案资料

交通大学C语言第二 次作业

题目1 正确 满分1.00 标记题目 题干 对于传值调用(By Value)的描述,哪一个正确?() 选择一项: a. 实际参数和形式参数共占相同的内存位置 b. 实际参数会把内存地址传递给形式参数 c. 实际参数和形式参数可以使用不同的数据类型 d. 实际参数会将变量内容复制后,把副本传给形式参数 题目2 正确 满分1.00 标记题目 题干 关于多态,下列说法错误的是() 选择一项: a. 编译时多态是在程序运行时才能确定要调用成员方法的哪个版本, 而运行时多态在编译时就能确定要调用成员方法的哪个版本 b. 多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写 虚方法来实现,后者是通过对同一个函数名编写多个不同的实现代码来 完成。 c. 多态可以分为编译时多态和运行时多态。前者的特点是在编译时就 能确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要 调用成员方法的哪个版本 d. 多态实际上就是重载,它们本质上是一样的 题目3 正确 满分1.00

标记题目 题干 关于静态成员,下列说法正确的是() 选择一项: a. 在类实例化后静态成员也被实例化,因此不同的对象有不同的静态 成员 b. 在类定义时静态成员属于类,在类实例化后静态成员属于对象 c. 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的 静态成员 d. 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有 一个版本 题目4 正确 满分1.00 标记题目 题干 假设有类C继承类B,类B继承类A,则下面说法正确的是() 选择一项: a. C仅继承类A的所有成员,不继承类B的成员 b. 类C仅继承类B的所有成员,不继承类A的成员 c. 类C不仅继承类B的所有成员,也继承类A的所有成员 d. 类C继承类A的部分成员,同时继承类B的所有成员 题目5 正确 满分1.00 标记题目 题干 下列对于对象的描述,哪一个正确?() 选择一项: a. 使用private将对象实例化

2016年大连理工大学优化方法上机大作业

2016年理工大学优化方法上机大作业学院: 专业: 班级: 学号: : 上机大作业1: 1.最速下降法:

function f = fun(x) f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end function g = grad(x) g = zeros(2,1); g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2); end

function x_star = steepest(x0,eps) gk = grad(x0); res = norm(gk); k = 0; while res > eps && k<=1000 dk = -gk; ak =1; f0 = fun(x0); f1 = fun(x0+ak*dk); slope = dot(gk,dk); while f1 > f0 + 0.1*ak*slope ak = ak/4; xk = x0 + ak*dk; f1 = fun(xk); end k = k+1; x0 = xk; gk = grad(xk); res = norm(gk); fprintf('--The %d-th iter, the residual is %f\n',k,res); end x_star = xk; end >> clear

>> x0=[0,0]'; >> eps=1e-4; >> x=steepest(x0,eps)

2.牛顿法: function f = fun(x) f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end function g = grad2(x) g = zeros(2,2);

7~8次C语言上机作业

实验7 数组(1) 【实验题7-1】此程序的功能:给数组元素赋值并进行输出。但程序中有错误,请查找原因,并调试程序以实现程序功能。 【实验题7-2】以下程序的功能:求整型数组中元素的最大值及其下标。请选择合适的内容填入程序中空白处。 【实验题7-3】以下程序的功能:把整型数组里的元素按逆序进行排序并输出。请选择合适的内容填入程序中空白处。 【实验题7-4】编写一个程序,定义一个有五个元素的一维数组,从键盘对该数组的元素进行赋值后再显示在屏幕上。 【实验题7-5】编写程序对整型数组iA的各元素进行从大到小排序。 【实验题7-6】在数组iA和数组iB中分别存放了na和nb个由小到大的有序数。编写程序,完成把两个数组中的元素按从小到大的顺序归并存放在数组iC中。 【实验题7-7】假设数组iA中的元素按由小到大的顺序存放。编写程序把数组iA中相同的元素删除至一个,然后按照每行六个元素的形式输出数组iA中的各个元素值。 【实验题7-8】在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素为该二维数组的一个鞍点。编写程序要求从键盘输入一个二维数组,当鞍点存在时,把鞍点找出来。 #include #define M 3 #define N 4 int main(){ int a[M][N],i,j,k; printf("\n请输入二维数组的数据:\n"); for(i=0;i for(j=0;j scanf("%d",&a[i][j]); for(i=0;i for(j=0;j

printf("M",a[i][j]); printf("\n"); } for(i=0;i k=0; for(j=1;j if(a[i][j]>a[i][k]) k=j; for(j=0;j if(a[j][k] break; if(j==M) printf("%d,%d,%d\n",a[i][k],i,k); } return 0; } 上面这个题代码运行不了,可又找不到问题所在,头疼!!! 实验8 数组(2) 【实验题8-1】此程序的功能:过滤字符数组中数字并进行输出。但程序中有错误,请查找原因,并调试程序以实现程序功能。 【实验题8-2】此程序的功能:统计字符数组中出现字符“s”的次数,并进行输出。但程序中有错误,请查找原因,并调试程序以实现程序功能。 【实验题8-3】以下程序的功能:连续输入一批“#”结束的字符串,遇“##”则全部结束,统计并输出每个字符串的有效长度。请选择适当的内容填入空白处。 【实验题8-4】

大连理工大学(工程抗震)大作业

大连理工大学《工程抗震》大作业

题目1:底部剪力法。 钢筋混凝土5层框架经质量集中后计算简图如下图所示,各层高均为3m , 集中于各楼层的重力荷载代表值分别为: 1500kN G =,2550kN G =,3580kN G =,4600kN G =,5450kN G =。结构阻尼比0.05ξ=,自振周期为10.55s T =,Ⅰ1类 场地类别,设计地震分组为第一组,抗震设防烈度为8度(设计基本地震加速度为0.30g )。按底部剪力法计算结构在多遇地震时的水平地震作用及地震剪力。 3580kN =2550kN =1500kN =(a )计算简图 4600kN =5450kN = 解:查《建筑设计抗震规范》表5.1.4知,8度多遇地震,αmax=设计地震分组为第一组, Ι类场地,取Tg= Tg=<T1=<5Tg= α1=(Tg/T1)r η2αmax =()××=≈ 查《建筑设计抗震规范》表5.2.1知,T 1=>=×= 取δn=T1+=×+= 总水平地震作用标准值: F EK =α1Geq=×(500+550+580+600+450)×85%=

各楼层水平地震作用标准值: Fi=G i H i F EK (1-δn)/∑G j H j (i=1,2,3n) ∑G j H j =500×3 +550×6+580×9+600×12+450×15=23970KN ·m F 1=[500×3××]/23970= F 2=[550×6××]/23970= F 3=[580×9××]/23970= F 4=[600×12××]/23970= F 5=[450×15××]/23970= 计算各楼层的层间地震剪力 V 1= F 1+ F 2+ F 3+ F 4+ F 5=++++= V 2= F 2+ F 3+ F 4+ F 5=+++=152KN V 3= F 3+ F 4+ F 5=++= V 4= F 4+ F 5=+= V 5=F 5= 题目3:怎样判断土的液化如何确定土的液化严重程度,并简述抗液化措施。 答:饱和松散的砂土或粉土(不含黄土),地震时易发生液化现象,使地基承载力丧失或减弱,甚至喷水冒砂,这种现象一般称为砂土液化或地基土液化。其产生的机理为:地下水位以下的饱和砂土和粉土颗粒在地震作用下,土颗粒之间有变密的趋势。因空隙水不能及时排出,土颗粒就处于悬浮状态,形成如同液体一样的现象,即所谓的土的液化现象。地基土液化判别过程可以分为初步判断和标准贯入试验判别两大步骤。下面分别予以介绍。 1、初步判断 饱和的砂土或粉土(不含黄土)当符合下列条件之一时,可初步判别为不液化或不考虑液化影响: (1)地质年代为第四纪晚更新世(Q3)及其以前时且处于烈度7度或者8度地区时可判为不液化土。 (2)粉土的粘粒(粒径<0.005mm )含量百分率当烈度为7度时大于10%、当烈度为8度时大于13%、当烈度为9度时大于16%,可判为不液化土。 (3)浅埋天然地基,当地下水位深度和覆盖非液化土层厚度满足下式之一时,可不考虑液化影响。 03w b d d d >+- 02 u b d d d >+-

大连理工大学优化方法上机大作业程序

函数定义: % 目标函数 function f = fun(x) fm=0; for i=1:499 fmi = (1-x(i))^2 + 100*(x(i+1)-x(i)^2)^2; fm=fm+fmi; end f =fm; end % 梯度 function g = grad(x) g = zeros(500,1); g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); for i=2:499 g(i)=2*(x(i)-1)+400*x(i)*(x(i)^2-x(i+1))+200*(x(i)-x(i-1)^2); end g(500) = 200*(x(500)-x(499)^2); end % 二阶梯度

function g = grad2(x) g = zeros(500,500); g(1,1)=2+400*(3*x(1)^2-x(2)); g(1,2)=-400*x(1); for i=3:500 g(1,i)=0; end for i=1:498 g(500,i)=0; end g(500,499)=-400*x(499); g(500,500)=200; for i=2:499 for j=1:500 if j==i-1 g(i,j)= -400*x(i-1); elseif j==i g(i,j)= 2+400*(3*x(i)^2-x(i+1))+200; elseif j==i+1 g(i,j)= -400*x(i); else g(i,j)=0; end end end end 1.最速下降法 function x_star = steepest(x0,eps) gk = grad(x0); res = norm(gk); k = 0; while res > eps && k<=50000 dk = -gk;

C语言2016下半年第二次作业

第2次作业 一、单项选择题 1.若有以下定义:int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是( B )。 A)p+=5, *(p+1) B)p+=1, * ++p C)p+=4, *p++ D)p+=1, ++ *p 2.下面函数调用语句含有实参的个数为( B ) fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1 B)3 C)4 D)2 3.函数形式正确的是( D )。 A) double myfun( int x, int y) B) int myfun( int x, y) { m=x+y; return m; } { int m; } C) int myfun( int x, int y) D) int myfun( int x, int y) { int x, y; double m; { int m; m=x+y; return m; } m=x+y; return m; } 4.不正确的字符串赋值或赋初值方式是( C )。 A)char *str; str=”string”; B)char str[7]={…s?, …t?, …r?, …i?, …n?, …g?} C) char str[10]; str=”string”; D)char str[]=”string”; str2[]=”12345678”; strcpy(str2, str1); 5.以下程序的输出结果是( B )。 #include main() { char str[]="SSSWLIA", c; int k; for (k=2; (c=str[k])!='\0'; k++) { switch (c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } } putchar('*'); } A)SSW* B)SW* C)SW*A D)SW 6.以下程序的输出结果是( B )。 #include int w=3; fun( int k) { if ( k==0) return w; return ( fun(k -1 )*k); }

大连理工大学数据结构(一)上机作业答案——张老师

1.将顺序表逆置,要求用最少的附加空间。 参考答案 #include #include #include #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int ElemType; typedef int Status; #define LIST_INIT_SIZE 100 #define LISTTINCREMENT 10 typedef struct{ ElemType *elem; int length; int listsize; }SqList; //创建空顺序表 Status InitList_Sq(SqList &L){ L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L.elem)exit(OVERFLOW); L.length=0; L.listsize=LIST_INIT_SIZE; return OK; } //创建顺序表,插入元素 void ListInput_Sq(SqList &L){ int n,i; printf("input the length of Sqlist:"); scanf("%d",&n); L.length=n; for(i=0;i

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

大连理工大学概率上机作业

第一次上机作业 1.利用Matlab自带命令产生1000个均匀随机变量服从U(0,1)。 >>unifrnd(0,1,20,50) ans= Columns1through10 0.81470.65570.43870.75130.35170.16220.10670.85300.78030.5470 0.90580.03570.38160.25510.83080.79430.96190.62210.38970.2963 0.12700.84910.76550.50600.58530.31120.00460.35100.24170.7447 0.91340.93400.79520.69910.54970.52850.77490.51320.40390.1890 0.63240.67870.18690.89090.91720.16560.81730.40180.09650.6868 0.09750.75770.48980.95930.28580.60200.86870.07600.13200.1835 0.27850.74310.44560.54720.75720.26300.08440.23990.94210.3685 0.54690.39220.64630.13860.75370.65410.39980.12330.95610.6256 0.95750.65550.70940.14930.38040.68920.25990.18390.57520.7802 0.96490.17120.75470.25750.56780.74820.80010.24000.05980.0811 0.15760.70600.27600.84070.07590.45050.43140.41730.23480.9294 0.97060.03180.67970.25430.05400.08380.91060.04970.35320.7757 0.95720.27690.65510.81430.53080.22900.18180.90270.82120.4868 0.48540.04620.16260.24350.77920.91330.26380.94480.01540.4359 0.80030.09710.11900.92930.93400.15240.14550.49090.04300.4468 0.14190.82350.49840.35000.12990.82580.13610.48930.16900.3063 0.42180.69480.95970.19660.56880.53830.86930.33770.64910.5085 0.91570.31710.34040.25110.46940.99610.57970.90010.73170.5108 0.79220.95020.58530.61600.01190.07820.54990.36920.64770.8176 0.95950.03440.22380.47330.33710.44270.14500.11120.45090.7948 Columns11through20 0.64430.31110.08550.03770.03050.05960.17340.95160.03260.2518 0.37860.92340.26250.88520.74410.68200.39090.92030.56120.2904 0.81160.43020.80100.91330.50000.04240.83140.05270.88190.6171 0.53280.18480.02920.79620.47990.07140.80340.73790.66920.2653 0.35070.90490.92890.09870.90470.52160.06050.26910.19040.8244 0.93900.97970.73030.26190.60990.09670.39930.42280.36890.9827 0.87590.43890.48860.33540.61770.81810.52690.54790.46070.7302

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

大连理工大学-环境化学-所有作业答案

绪论部分: 2、简述环境问题的分类?(10分) 答:环境问题是多方面的,但大致可分为两类:原生环境问题和次生环境问题。由自然力引起的为原生环境问题,也称为第一环境问题。由于人类生产和生活引起生态系统破坏和环境污染,反过来又危及人类自身和生存和发展的现象,为次生环境问题,也叫第二环境问题。原生环境问题和次生环境问题很难截然分开,它们之间常常存在着某种程度的因果关系和相互作用。 4、什么是环境化学,学习环境化学有什么意义?(10分) 答:环境化学是一门研究有害化学物质在环境介质中的存在、化学特性、行为和效应及其控制的化学原理和方法的科学。 意义:用来掌握污染来源,消除和控制污染,确定环境保护决策,以及提供科学依据诸方面都起着重要的作用。 5、简述环境化学的分支学科。(10分) 答:主要包括6类。 ①环境分析化学:是研究化学品的形态、价态、结构、样品前处理和痕量分析的学科。 ②环境污染化学:大气、水体和土壤环境化学,元素循环的化学过程。 ③污染控制化学:主要研究与污染控制有关的化学机制及工艺技术中化学基础性问题。 ④污染生态化学:是研究化学污染物在生态系统中产生生态效应的化学过程的学科。 ⑤环境计算化学:主要利用有效的数学近似以及电脑程序计算分子的性质。 ⑥环境生物化学:是研究环境化学品对生命影响的学科。 第一章: 1、地球环境主要由哪些圈层构成?英文单词?各之间有什么联系?各有哪些性 质?(10分) 答:地球环境主要由大气圈(atmosphere)、水圈(hydrosphere)、土壤圈(pedosphere)、岩石圈(lithosphere)和生物圈(biosphere)构成。 联系:大气圈、水圈、土壤圈和生物圈共同组成了地球环境系统,每个圈层都离不开

C语言作业2

期待的输出时间限制内存限制#include main() { int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z; scanf("%1d",&a); scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f); scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k); x=a+c+e+g+i+k; y=b+q+f+h+j;

n=m-1; z=n%10; p=9-z; printf("%d\n",p); } H2:数制转换(选作) 成绩: 5 / 折扣: 0.8 我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如12 和 5 ,在十进制下它们是不等的,但若12 使用 3 进制而5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制,12 和5 就可以是相等的。 程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。 求出分别在2~36 哪种进制下M 和N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出 制 #include"string.h" #include"stdio.h"

{ char a[N],b[N],d[N],e[N],d0[N]; int i,j,o,r,g,h,w,t,l,k,max1,max2; double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i='\x30') c[i]=b[i]-'0'; if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; } for(i=0;i='\x30') f[i]=e[i]-'0'; if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0]; for(i=1;i

大连理工大学优化方法上机大作业

2016年大连理工大学优化 方法上机大作业 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

2016年大连理工大学优化方法上机大作业学院: 专业: 班级: 学号: 姓名: 上机大作业1: 1.最速下降法:

function f = fun(x) f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; end function g = grad(x) g = zeros(2,1); g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2); end function x_star = steepest(x0,eps) gk = grad(x0); res = norm(gk); k = 0; while res > eps && k<=1000 dk = -gk;

ak =1; f0 = fun(x0); f1 = fun(x0+ak*dk); slope = dot(gk,dk); while f1 > f0 + 0.1*ak*slope ak = ak/4; xk = x0 + ak*dk; f1 = fun(xk); end k = k+1; x0 = xk; gk = grad(xk); res = norm(gk); fprintf('--The %d-th iter, the residual is %f\n',k,res); end x_star = xk; end >> clear >> x0=[0,0]'; >> eps=1e-4; >> x=steepest(x0,eps)

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

相关文档
最新文档