山东科技大学C语言作业四

山东科技大学C语言作业四
山东科技大学C语言作业四

Problem A: 只有一个二元运算符的表达式运算

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 5044 Solved: 1937

[Submit][Status][Web Board]

Description

编程序读入并计算只有一个二元运算符的表达式的值。用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。

Input

每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。测试样例不存在除数为0的情况。

输入以a和b为0,且用一个空格分开结束。

Output

每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。

Sample Input

33+5

8*9

2.2

1-6

17/3

9%3

0 0

Sample Output

38

72

invalid op

-5

5

#include

#include

void main()

{

int i,a,b;

char c;

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

{for(;scanf("%d%c%d",&a,&c,&b)!=EOF;) if(a==0&&c==' '&&b==0)

goto loop;

else

switch(c)

{

case'+':

printf("%d\n",a+b);

break;

case'-':

printf("%d\n",a-b);

break;

case'*':

printf("%d\n",a*b);

break;

case'/':

printf("%d\n",a/b);

break;

case'%':

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

break;

default:

printf("invalid op\n");

}

}

loop:

i=101;

}

Problem B: 摄氏——华氏温度转换表

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 6632 Solved: 1711

[Submit][Status][Web Board]

Description

已知华氏温度F,转换为摄氏温度C的公式为C=(F-32)*5/9。

输出给定范围(从low到high)和步长(step)的摄氏——华氏温度转换表

Input

第1行若为“C->F”表示输出:摄氏——华氏温度转换表,若为“F->C”表示输出:华氏——摄氏温度转换表。

第2、3行为两个整数:high和low,其值在-100到200之间。

第4行为step,step精确到小数点后1位。

Output

输出第一行为C和F,分别表示摄氏和华氏,与小数点对齐。若输出摄氏——华氏温度转换表,则C在前、F在后;反之,则输出华氏——摄氏温度转换表。

从输出的第2行开始为从温度low到温度high(包括low和high)的转换表,温度输出精确到小数点后1位,表格被“->”分为两个宽度相同的部分,其它的测试样例也不会给出超出宽度的数据,格式详见sample。

Sample Input

C->F

-10

2.5

Sample Output

C -> F

-10.0 -> 14.0

-7.5 -> 18.5

-5.0 -> 23.0

-2.5 -> 27.5

0.0 -> 32.0

2.5 -> 36.5

5.0 -> 41.0

7.5 -> 45.5

10.0 -> 50.0

12.5 -> 54.5

15.0 -> 59.0

17.5 -> 63.52 20.0 -> 68.0

22.5 -> 72.5

25.0 -> 77.0

27.5 -> 81.5

30.0 -> 86.0

32.5 -> 90.5

35.0 -> 95.0

37.5 -> 99.5

40.0 -> 104.0

HINT

输出格式可以通过sample分析出来,因为两栏的总宽度是固定的。一个隐藏的陷阱是step 是浮点数,某些浮点数是无法精确存储的,因此经过一定量的计算后这个误差会影响到浮点数的相等性判断,需要加上精度控制。

Append Code

[Submit][Status][Web Board]

#include

int main()

{

double low,high;

double step,c,f;

char ch1,ch2;

scanf("%c->%c",&ch1,&ch2);

if(ch1=='C'&&ch2=='F')

{

scanf("%lf%lf%lf",&low,&high,&step);

f=(double)9/5*low+32;

if(low==-100||f<=-100)

{

printf(" C -> F");

while(low<=high+0.01)

{

f=low*9.0/5.0+32;

printf("\n%6.1lf -> %6.1lf",low,f);

low+=step;

}

return 0;

}

printf(" C -> F");

while(low<=high+0.01)

{

f=low*9.0/5.0+32;

printf("\n%5.1lf -> %5.1lf",low,f);

low+=step;

}

return 0;

}

else if(ch1=='F'&&ch2=='C')

{

scanf("%lf%lf%lf",&low,&high,&step);

c=(low-32)*((double)5/9);

if(low==-100||c<=-100)

{

printf(" F -> C");

while(low<=high+0.01)

{

c=(low-32)*5/9.0;

printf("\n%6.1lf -> %6.1lf",low,c);

low+=step;

}

return 0;

}

printf(" F -> C");

while(low<=high+0.01)

{

c=(low-32)*5/9.0;

printf("\n%5.1lf -> %5.1lf",low,c);

low+=step;

}

return 0;

}

}

Problem C: 1!+2!+…+k!=? Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 5125 Solved: 1645

[Submit][Status][Web Board]

Description

求1!+2!+…+k!=?,并判断是否溢出。

Input

输入为一个正整数k。

Output

若1!+2!+…+k!的值溢出unsigned(无符号整型)的范围输出“overflow”,否则输出1!+2!+…+k!的结果。

Sample Input

5

Sample Output

153

HINT

如果一个值溢出某个变量的数据类型存储范围,但仍然存入该变量,那么存入该变量中的值实际上是什么?

Append Code

#include

int main()

{

int i,j;

unsigned int s,b,a;

s=0;

scanf("%d",&j);

b=1;

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

{ a=b;

b=b*i;

if((double)b/a

{ printf("overflow\n");

return 0;

}

s=s+b;

}

printf("%u\n",s);

return 0;

}

Problem D: 辗转相除法

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 3383 Solved: 1185

[Submit][Status][Web Board]

Description

辗转相除法,也称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。

两个整数的最大公约数(亦称公约数)是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和105的最大公约数是21(252 = 21 × 12;105 = 21 × 5);因为252 ? 105 = 147,所以147和105的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。这时,所剩下的还没有变成零的数就是两数的最大公约数。

例如,计算a = 1071和b = 462的最大公约数的过程如下:从1071中不断减去462直到小于462(可以减2次,即商q0 = 2),余数是147:

1071 = 2 × 462 + 147.

然后从462中不断减去147直到小于147(可以减3次,即q1 = 3),余数是21:462 = 3 × 147 + 21.

再从147中不断减去21直到小于21(可以减7次,即q2 = 7),没有余数:147 = 7 × 21 + 0.

此时,余数是0,所以1071和462的最大公约数是21。

Input

输入为多行,每行有一对非负整数a,b,且a*b不会超出int类型的数据范围。输入至EOF 结束。

Output

每行输出一对a,b的最大公约数和最小公倍数,顺序与输入对应。

从整除定义出发:若a整除b(b除以a没有余数),则b是a的倍数,a是b的约数,这里要求b不为0。因此0是任意整数的倍数(任意整数都是0的约数),但是0不能是约数。

Sample Input

1 1

2 3

2 2

3 2

4 6

7 5

12 6

18 9

24 36

Sample Output

1 1

1 6

2 2

1 6

2 12

1 35

6 12

9 18

12 72

HINT

按照题目描述所给的算法解题,注意以下几点:辗转相除法对两个数的大小关系有要求,根据倍数和约数的数学定义,一个非0数和0的约数是多少?辗转相除法的计算过程是符合这种定义的。

Append Code

[Submit][Status][Web Board]

错误:#include

int main()

{

int a,b,i,c;

for(;scanf("%d%d",&a,&b)!=-1;)

{

c=a*b;

if(a==0&&b!=0)

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

else if(a!=0&&b==0)

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

else

{

while(a!=b)

{

if(a>b)

a=a-b;

if(a

b=b-a;

}

printf("%d %d\n",a,c/a);

}

}

}

正确:#include

int main()

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

while(scanf("%d %d",&a,&b)!=EOF)

{

if(a==0&&b!=0)

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

else if(a!=0&&b==0)

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

else

{

if(a

{

t=a;

a=b;

b=t;

}

m=a*b;

c=a%b;

while(c!=0)

{

a=b;

b=c;

c=a%b;

}

printf("%d %d\n",b,m/b);

}

}

}

Problem E: Sum Problem (II) : Input/Output

Practice

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 2765 Solved: 1959

[Submit][Status][Web Board]

Description

计算若干整数的和,这些整数都是小于1000的非负整数。

Input

输入的第一行是一个整数M,后面有M个测试样例。每个测试样例以一个整数N开始,后面接着是N个整数。

Output

每组测试样例对应一行输出,为所给的N个整数之和,顺序与输入对应。

Sample Input

2

3 1 2 3

5 10 15 20 30 50

Sample Output

6

125

HINT

用双重循环解决这个问题,外层循环控制用例的输入,内层循环控制读取N个整数。Append Code

#include

int main()

{

int m,n,a,i,j,s;

scanf("%d",&m);

for(j=1;j<=m;j++)

{

scanf("%d",&n);

{

s=0;

for(i=1;i<=n;i++)

{

scanf("%d",&a);

s=s+a;

}

printf("%d\n",s);

}

}

}

Problem F: Sum Problem (III) : Input/Output

Practice

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 2521 Solved: 1817

[Submit][Status][Web Board]

Description

计算若干整数的和,这些整数都是小于1000的非负整数。

Input

输入为多行,每行为一组测试样例。每个测试样例以一个整数N开始,后面接着是N个整数。当输入的N为0时表示输入结束。

Output

每组测试样例对应一行输出,为所给的N个整数之和,顺序与输入对应。

Sample Input

3 1 2 30

5 10 15 20 30 50

Sample Output

6

125

HINT

用双重循环解决这个问题,外层循环控制用例的输入,内层循环控制读取N个整数。Append Code

#include

int main()

{

int n,a,i,s;

for(;scanf("%d",&n);)

{

if(n==0)

break;

else

{

s=0;

for(i=1;i<=n;i++)

{

scanf("%d",&a);

s=s+a;

}

printf("%d\n",s);

}

}

}

Problem G: 百钱买百鸡问题

Time Limit: 1 Sec Memory Limit: 2 MB

Submit: 4464 Solved: 800

[Submit][Status][Web Board]

Description

“百钱买百鸡”是我国著名的古代数学问题,中国古代数学家张丘建在他的《算经》中提出了这样一个问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?

你的任务是求解下面这个问题。问题是这样描述的:a文钱可买一只公鸡,b文钱可买一只母鸡,c文钱可买d只小鸡。用m文钱买n只鸡,那么有公鸡x只、母鸡y只、小鸡z只。求解出符合题意的x,y,z。

Input

输入为一张表。第一行是一个固定不变的表头,格式见sample。后面有多行,每行为一组测试数据。每组测试数据由6个整数组成,分别为“a,b,c/d,m,n”。满足0

50<=m,n<=108+1,并且母鸡和小鸡的单价不会相同。

Output

每组测试数据的运行结果输出为一张表,表头固定为“COCKS,HENS,CHICKS”。每组测试数据的一个可行解数出为一行,为三个整数:“x,y,z”。多组解按照公鸡数从少到多的顺序输出。若测试数据无解则输出“Cannot buy!”。两组测试数据之间用一个空行分隔开。

Sample Input

COCK,HEN,CHICK,MONEY,CHICKS

3,2,1/3,100,100

5,3,1/3,100,100

8,5,1/7,100,100

8,5,1/7,300,300

Sample Output

COCKS,HENS,CHICKS

0,40,60

5,32,63

10,24,66

15,16,69

20,8,72

25,0,75

COCKS,HENS,CHICKS

0,25,75

4,18,78

8,11,81

12,4,84

Cannot buy!

COCKS,HENS,CHICKS

8,40,252

HINT

本题重点在于了解多重循环的运行效率问题,减少一层循环可以降低很大规模的运算量。通过在循环体内加计数器可以统计出循环的运行次数,当测试数据变大时,运行次数的增长会非常可观,这就是超时的原因了。

Append Code

Eg:#include

void main()

{

int a,b,c;

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

{

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

{

for(c=3;c<100;c+=3)

{

if((a+b+c==100)&&(a*5+b*3+c/3==100))

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

}

}

}

}

答案:#include

#include

int main()

{

char s[50];

long int a,b,m,n,x,y,z,flag;

int c,d;

gets(s);

while(scanf("%ld,%ld,%d/%d,%ld,%ld",&a,&b,&c,&d,&m,&n)!=EOF)

{

flag=0;

for(x=0; x<=n; x++)

{

if((((a-b)*x+b*n-m)*d)%(b*d-c)==0)

{

z=(((a-b)*x+b*n-m)*d)/(double)(b*d-c);

y=n-z-x;

if(fabs(a*x+b*y+z*c/(double)d-m)<0.000000001&&z*c%d==0&&x>=0&&y>=0&&z>=0) {

flag=1;

}

}

}

if(flag==0)

printf("Cannot buy!\n");

else

{

printf("COCKS,HENS,CHICKS\n");

for(x=0; x<=n; x++)

{

if((((a-b)*x+b*n-m)*d)%(b*d-c)==0)

{

z=(((a-b)*x+b*n-m)*d)/(double)(b*d-c);

y=n-z-x;

if(fabs(a*x+b*y+z*c/(double)d-m)<0.000000001&&z*c%d==0&&x>=0&&y>=0&&z>=0)

{

printf("%ld,%ld,%ld\n",x,y,z);

}

}

}

}

printf("\n");

}

return 0;

}

Problem H: Print Graphics Problerm (II)

Time Limit: 1 Sec Memory Limit: 16 MB

Submit: 2378 Solved: 845

[Submit][Status][Web Board]

Description

向标准输出上打印一些用ASCII字符组成的图形。

Input

输入为多个整数n,0

Output

若n为偶数,则输出一个正向的n层等腰三角形;n为奇数,则输出一个倒向的n层等腰三角形。三角形由“+”组成。任意两个图形之间有一个空行分隔,格式见sample。

Sample Input

4

Sample Output

+++++++++

+++++++

+++++

+++

+

+

+++

+++++

+++++++

HINT

Append Code

[Submit][Status][Web Board]

???< 中文????? English ???

All Copyright Reserved 2010-2011 SDUSTOJ TEAM

GPL2.0 2003-2011 HUSTOJ Project TEAM

Anything about the Problems, Please Contact Admin:admin

#include

int main()

{

int n,i,j;

while(n!=0)

{

scanf("%d",&n);

if(n%2==0&&n!=0)

{

for(i=1;i<=n;i++)

{

for(j=1;j<=n-i;j++)

printf(" ");

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

printf("+");

printf("\n");

}

}

else

{

for(i=n;i>=1;i--)

{

for(j=n-i;j>=1;j--)

printf(" ");

for(j=2*i-1;j>=1;j--)

printf("+");

printf("\n");

}

}

printf("\n");

}

return 0;

}

Problem I: 编写函数:求三个整数的最大值 (Append

Code)

带答案C语言2-10章作业

C语言习题集专业班级 学姓号名 C语言习题集 第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=3.5,y= 2.5;则下面表达式的值为( C )。 (float)(a+b)/2+(int)x% (int)y A)3.5 B)35 C)3.500000 D)35.00000 2.若有定义:int x=3 ,y=2; float a=2.5 ,b= 3.5;则下面表达式的值 为( B )。(x+y)%2+(int)a/(int)b A)1.0 B)1 C)2.0 D)2 3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有int x=11;则表达式(x++*1/3)的值是( A )。

A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <stdio.h> main( ) { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);} A)3 B)3.2 C)0 D)3.07 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <stdio.h> main( ) { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C )。 A)1 B)2 C)2.0 D)2.5 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

第六次作业

习题九 一、选择题 9-1.C语言程序由函数组成。它的。 A.主函数必须在其它函数之前,函数内可以嵌套定义函数 B.主函数可以在其它函数之后,函数内不可以嵌套定义函数 C.主函数必须在其它函数之前,函数内不可以嵌套定义函数 D.主函数必须在其它函数之后,函数内可以嵌套定义函数 9-2.一个C语言程序的基本组成单位是。 A.主程序B.子程序C.函数D.过程 9-3.以下说法中正确的是。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 9-4.已知函数abc的定义为: void abc ( ) { ....... } ?则函数定义中void的含义是。 A.执行函数abc后,函数没有返回值B.执行函数abc后,函数不再返回??C.执行函数abc后,可以返回任意类型D.以上三个答案全是错误的 9-5.在以下对C语言的描述中,正确的是。 A.在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参B.C语言函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C语言程序中有调用关系的所有函数都必须放在同一源程序文件中 9-6.以下叙述中错误的是。 A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 B.在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C.在C语言中,外部变量的隐含类别是自动存储类别 D.在C语言中,函数形参的存储类型是自动(auto)类型的变量 9-7.说明语句"static int i=10;"中"i=10"的含义是。 A.只说明了一个静态变量B.与"auto i=10;"在功能上等价 C.将变量i初始化为10 D.将变量i赋值为10 9-8.C语言中的函数。

操作系统试卷(B卷)

山东科技大学2009—2010学年第二学期 《操作系统》考试试卷(B卷) 班级姓名学号 一、判断题(回答“正确”或“错误”,并对错误命题简要说明理由)(每小题2分,共10分) 1、Wait、Signal操作中信号量的值永远代表着某类可用资源的数量。 2、死锁的形成只与资源分配策略有关,而与并发进程的执行速度无关。 3、进程A、B共享变量X,需要互斥执行;进程B、C共享变量Y,B、C也需要互斥执行。因此,进程A、C必须互斥执行。 4、请求分页系统中一条指令执行期间产生的缺页次数可能会超过4次。 5、最佳适应算法比首次适应算法具有更好的内存利用率。 二、填空题(每空1分,共10分) 1、在多道批处理系统中,通常采用以下两种作业调度算法:(1)和(2)。 2、一个作业从进入系统到运行结束,一般要经历的阶段是提交,(3),(4),(5)。 3、分时系统的特点是:(6)、(7)、及时性和交互性。 4、系统中各进程对互斥资源操作的程序段必须互斥执行。我们把这种互斥执行的程序段称为(8)。 5、缓冲的实现方法有(9)和(10)两种。 三、单项选择题(每小题2分,共30分) 1、响应比高者优先作业调度算法是以计算时间和______来考虑的。 A.输入时间B.完成时间C.周转时间D.等待时间

2、操作系统中______采用了以空间换时间的技术。 A.SPOOLing技术B.覆盖技术C.通道技术D.虚拟存储技术 3、虚存是______。 A.容量扩大了的内存B.提高运算速度的设备 C.实际不存在的存储器D.进程的地址空间及其内存扩大方法 4、在多道批处理系统中,用户的作业是由______组成的。 A.程序、数据、作业说明书B.程序、数据 C.程序、作业说明书D.程序 5、在可变式分配方案中,首先适应算法是将空白区在空白区表中按______次序排列。 A.地址递增8.地址递减C.容量递增D.容量递减 6、作业调度中的先来先服务算法是以______为出发点考虑的。 A.作业执行时间B.作业的周转时间 C.作业等待时间D.等待时间加运行时同 7、设m为同类资源数,n为系统中的并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w。下列情况下,系统会死锁的是______。 A.m=2, n=l, w=2 B.m=2, n=2, w=1 C.m=4, n=3, W=2 D.m=4, n=2, w=3 8、存储管理方案中,______可采用覆盖技术。 A.单一连续区B.可变分区C.段式D.段页式 9、分页式虚拟存储系统中,页面的大小与可能产生的缺页中断次数______。 A.成正比B.成反比C.无关D.成固定比值 10、从资源分配角度看,外设可分为若干种,其中不包括______。 A .虚拟设备B.物理设备C.独占设备D.共享设备 11、采用树形目录结构可以______。 A.缩短查找文件的时间B.节省存储空间 C.减少文件的传送时间D.存储更多的文件 12、在进程基本调度状态转换时,会出现的情况是______。

C语言实训作业1

《C语言通识教育》实训指导书 (第一次) (2学时) 何天成 2016年月日

前言 C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,C 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。本指导书可增强同学上机实验的针对性。整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。共计约14次实训课,其中每一讲内容分1、2两次上课。每个实验内容结构如下: (1)实验学时 (2)实验目的 (2)预习要求 (4)实验内容 (5)实验注意事项 (6)思考题 其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。 在实验之前,要求学生对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。一般要求准备好相关代码,实验课中最好以调试和讨论为主。 实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy 别人的运行结果。通报告具体内容可根据实验内容和实验要求进行增删。实验报告一般要求包含:(1)实验题目 (2)设计思路或算法分析 (3)流程图 (4)程序源代码 (5)程序运行结果及分析

带答案C语言2-10章作业

C语言习题集 专业班级 学号 姓名

第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。 (float)(a+b)/2+(int)x% (int)y A) B)35 C) D) 2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。 (x+y)%2+(int)a/(int)b A) B)1 C) D)2 3.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。 A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <> main( ) { double d=; int x,y; x=; y=(x+/; printf("%d\n", d*y);} A)3 B)3.2 C)0 D) 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <> main( ) { double d; float f; long l; int i; i=f=l=d=20/3;

printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 B)6 6 C)6 6 D)6 6 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。 A)1 B)2 C) D) 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。 A)i=int(a) B)++i; C)a=a++=5; D)a=int(i); 9.若执行以下程序段后,c3的值为( A )。 int c1=1,c2=2,c3; c3=c2*c1; A)0 B)0.5 C)1 D)2 10.如下程序的运行结果是( D )。 #include <> main( ) { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } A)3 4 B)4 2 C)4 3 D)3 3 11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 && a<=0 D)a>=10||a<=0 12.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )。 A)不定值B)4 C)3 D)1 13.以下程序的输出结果是( D )。 #include <> main( ) { int a=3;

山东科技大学毕业实习报告

毕业实习报告书 系(部)机电工程系 专业班级机制xxx班 学生姓名xxx 完成日期200x年4月25日山东科技大学x x校区

一、毕业实习目的 毕业实习是大学中最后一次理论与实践相结合的综合性实践锻炼,能让自己充分的将所学习的专业知识学以致用,从各方面锻炼提高自己的综合素质,毕业是我们机械设计制造及其自动化专业知识结构中不可缺少的组成部分。本次毕业实习的目的是为促进毕业设计的完成,根据学校安排组织进行实习参观,在实习过程中,使我们获得基本生产的感性认识,理论联系实际,扩大知识面,将所学的专业理论知识与生产实际相结合,从而进一步提高自己的理论基础和实践操作技能。通过本次实习进一步了解机械制造业的状况,以及一般零部件的生产加工,从而为毕业设计收集相关的实践技术资料及原始素材,并与现场技术人员进行技术咨询,为毕业设计做好充分的准备。 二、实习任务 这次毕业参观实习在指导老师的带领下我们分别参观了山东山工机械有限公司、山东省尤洛卡自动化装备股份有限公司。实习中学到了很多在课堂没学到的知识,让我们受益匪浅。 根据本次毕业实习目的,我们将要完成: 1、掌握机械加工工艺方面的知识及方法; 2、了解切削刀具方面的知识,熟悉常用刀具的结构、选择、用途等; 3、熟悉机械加工生产工艺和方法及加工机床; 4、了解企业生产管理模式,学习先进的管理方式方法; 5、了解液压系统及控制方法,为毕业设计做好准备。 三、实习内容 在指导老师的带领下我们依次参观了山东山工机械有限公司、山东省尤洛卡自动化装备股份有限公司。下面自己对这次毕业实习内容总述如下: 参观实习地点一:山东山工机械有限公司 公司简介: 山东山工机械有限公司坐落在古九州之一的山东省青州市,公司于2005年3月22日与世界500强之一的卡特比勒公司合资成立中美合资山东山工机械有限公司。属于国家大型一档企业,国家经贸委定点生产轮式装载机的重点

国家开放大学C语言程序设计A第一次形考任务及答案

一、选择题(共40分,每小题2分) 题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。 A. main B. MAIN C. name D. function 题目2 C语言源程序文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。 A. cpp B. exe C. obj D. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号

D. 空格或回车 题目5 每个C语言程序文件的编译错误被分为()。 A. 1类 B. 2类 C. 3类 D. 4类 题目6 不符合C语言规定的复合语句是()。 A. {} B. {;} C. {x=0;} D. {y=10} 题目7 C语言程序中的基本功能模块为()。 A. 表达式 B. 标识符 C. 语句 D. 函数 题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。 A. 表达式 B. 语句 C. 参数表

D. 函数体 题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。 A. 尖括号 B. 双引号 C. 单引号 D. 花括号 题目10 在C语言程序中,多行注释语句使用的开始标记符为()。 A. // B. /* C. */ D. ** 题目11 在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。 A. char B. int C. float D. double 题目12 在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

C语言程序设计-作业与答案

《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。

第六次c语言作业

第六次课作业 下次课默写交换排序、选择排序和冒泡排序。 习题6-1 题码:章节:数组考查点:一维数组的定义、引用及格式输出难度:2 编写一程序p717.C实现以下功能 输入10个整型数存入一维数组,输出值和下标都为奇数(数组第1个元素的下标为0)的元素及其个数。编程可用素材:printf("Input 10 integers.\n")...、printf("count=...\n"...、 printf("a[...]=...\n"...。 程序的运行效果应类似地如图1所示,图1中的2 45 34 56 78 12 41 55 86 37是从键盘输入的内容。 图1 程序运行效果示例 习题6-2 题码:章节:数组考查点:一维数组定义、输入和输出的掌握,对递推算法的掌握难度:2 编写一程序p725.C实现以下功能 利用数组,求斐波拉契数列的前n(n的范围为:3~20)项,并输出到屏幕上(数和数之间用字符'\t'隔开),斐波拉契公式:f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2) (n≥3)。编程可用素材:printf("input a data(3--20): ")...。 程序的运行效果应类似地如图1所示,图1中的11是从键盘输入的内容。 图1 程序运行效果示例 习题6-3 题码:章节:数组考查点:一维数组的应用难度:2 编写一程序p718.C实现以下功能 有一递推数列,满足f(0)=0,f(1)=1,f(2)=2, f(n+1)=2f(n)+f(n-1)f(n-2) (n>=2), 编写程序求f(n)的值(n由键盘输入,13>=n>=2)。编程可用素材:printf(“Input n (13>=n>=2): ”)...、printf(“\nf(...)=...\n”...。 程序的运行效果应类似地如图1所示,图1中的10是从键盘输入的内容。 图1 程序运行效果示例 习题6-4 题码:章节:数组考查点:键盘输入技巧的掌握和二维数组的应用,判断条件的设定难度:2 编写一程序p217.C实现以下功能 求任意的一个m×m矩阵的对角线上元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf("Please input m: ")...、 printf("\nPlease input array:\n")...、printf("\nsum=...\n"...。 程序的运行效果应类似地如图1所示,图1中的5和 1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634 3235 567 24 8465 25 是从键盘输入的内容。

山东科技大学怎么样

山东科技大学怎么样 山东科技大学,顶着种种压力和阻拦,毅然从泰安济南两校区分批搬迁至青岛,这可以称得上青岛发展史上重要的一笔,无论科技大学选择青岛,还是青岛选择科技大学,对两者都是重要的。 山东科技大学决定在黄岛建新校区,从开始到现在依然是默默进行,可谓享受了难得的孤独,而当地政府却也很少表态,对其支持和关心的力度也不够,青岛市民对其也不甚了解,只认为是一般的职业技术教育学院而漠视它的存在,甚至很少有人知道这个学校还搬迁到了黄岛,这些都让科技大学的师生无比尴尬。 在青岛市媒体宣传中也从不提山东科技大学的名字,只是反复强调青岛的四所本科院校,中国海洋大学,青岛大学,青岛科技大学,青岛理工大学.学校的师生的尴尬境地从他们的话中可见一斑:“也许青岛不稀罕我们这样的学校吧,人家需要的是北大,山大这样的高校引进,还是在济南和泰安好些。”“与一些青岛市民提起山东科技大学,会很诧异的看着你,说…你们是民办高校还是职业技术学院啊,没听过,只听过青岛科技大学。?我们直接和青岛科大合并算了,组建新的青岛科技大学。那样好多专家人才也不会走失了。?人才走失的原因,很多是因为搬迁到黄岛后位置过于偏僻,生活极其不方便导致。他们说与青岛科技大学合并的戏谑正是看中了青岛科技大学新校区的位置。目前因为山东科技大学搬迁而辞职的专家学者已经不少,他们有的是省部级重点实验室的相关带头人。不知道这是青岛市引进的尴尬,还是山东科技大学选择青岛的尴尬。 现在诸如学校园区建设问题,教师宿舍楼问题等等,都存在着许多障碍,至于如何解决,那就看青岛市的政府了。这些大问题暂且不考虑,只一简单的解决科技大学到薛家岛直达公交车的问题,就很让科大师生困惑。科技大学师生若到开发区够物游玩,需要先乘10路区间车到港头陈,再转乘1,2路车。期间浪费的时间和金钱不用多说。为此学校每到周末,只能开几趟前往长江路立群的班车,解决他们够物难的问题。我与当地一个公交车司机说到这件事,人家还振振有辞说,你们反映到区政府也没用,区里能为了你们一个科大增改公交线路?说的让我无言以对。这可是一个综合大学啊,目前师生已经过万,暑假后全部搬迁来此,将是2万---三万人。满足这么多师生生活问题是小事吗?市区政府不能给他们解决吗? 山东科技大学本身在夹缝中生存已经很为难了,当地政府的不重视更让他们寒心。当初,刚决定搬迁时,是动员泰安校区的,学生已经把行李都运到了黄岛,但是遇到了当地政府和上级政府的阻拦,只好作罢,临时动员济南校区学生搬迁。雄赳赳气昂昂的大队人马在无人喝彩声中孤独的搬迁到了荒凉的地方。学生失望,老师失望,本想融入青岛这个城市,但是却遭遇到许多意想不到的困难,最重要的是当地政府的认同与支持。学校师生期望能与驻青各高校互增交往,共同发展。[原文为山东科技大学学生在贴吧内所发] [评:在地理位置上,山东科技大学位于青岛下辖的黄岛区,但不在市区,与青岛市区隔着胶州弯,实属各种交通不便;即便现在开通了海底隧道,从山东科技大学坐车到通过隧道到市区,也需要两个小时,更不用说这条公交线路有多机,每年因为交通不便原因,很多大公司都不来山科进行校园招聘,就业机会比在市区的四所大学少了不少,而且假期各种大学生兼职活动比市区的大学就更少了,山科的招生办的老师也说过,向别人介绍说,山东科技大学在青岛时,心里感觉是在骗人,因为在这你看不到半点青岛的影子….]

最新C语言程序设计作业答案汇总

C语言程序设计作业 答案

C语言程序设计作业答案 作业一 C语言概述参考答案 一、选择题 1-5 ACDCB 二、编程题 main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法参考答案 一、填空题 1、确定性、有效性、有零个或多个输入、有一个或多个输出 2、顺序结构、选择结构、循环结构 3、函数 作业三数据类型、运算符与表达式参考答案 一、选择题 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构参考答案 一、选择题 1-5 BCDDD 6-10 BDADD 二、填空题

1、【31.415920,3.14159e+01】 2、【c=k】 3、【a=1,b=空格,c=2】 4、 【a=12,b=345】 5、【c=A】 作业五选择结构参考答案 一、选择题 1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题 1.【-1】 2.【3】 3.【4】 4.【11】 5. 【97或'a'】 作业六循环结构参考答案 一、选择题 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB 作业七数组参考答案 一、选择题 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题 1、LBLMNP 2、SW* 3、mo 4、a=2,b=1 作业八函数参考答案 一、选择题 1-5 AAACA 二、填空题 1【编程中的main( )函数】2【函数说明部分】和【函数体】 3【–125= –5*5*5】 4【void add (float a, float b)】【float add (float a, float b)】

山东科技大学青岛校区景观文化建设综述

山东科技大学青岛校区景观文化建设综述在山东省委、省政府的正确领导下,在省委高校工委和省教育厅的直接领导下,在社会各界人士与朋友的热切帮助下,山东科技大学自2001年6月启动青岛校区建设,至2006年10月校庆55周年之际基本建设完成,历时五年多的时间。当前,这所占地面积3000亩、建筑面积达140万平方米的现代化校园已成为学校办学的主体,成为在校35000名师生的学习、工作与生活之家;因其环境幽雅,景色秀丽、功能完善、人文荟萃且深蕴科大历史发展内涵,也成为广大师生的健康之家、欢乐之家、精神之家。兹趁省委高校工委组织评选高校校园文化建设优秀成果、以系统推进高校校园文化建设的契机,将我校在校园景观文化上的设计理念、工作思路和景观概况,向各位领导与专家作一简略的介绍。 早在青岛校区建设之初,学校就提出了“总体规划,分期实施;高标准建设,可持续发展;五年初具规模,十年配套完善”的总体思路,制定了新校区建设的三个“三原则”,即:“高标准、高质量、高水平”;“大空间、大绿地、大水面”;“超前性、国际性、特色性”。本着这一总的建设思路与原则,联系科大历史发展的实际,我们在校园景观文化设计与建设上,具体做了如下的工作。 一、“山、海、泉”交融的校园景观文化特质 在整个青岛校区校园景观文化环境的培育上,我们根据校园南(教学办公区)与北(学生生活区)功能分区、以及教工住宅区相对独立的建筑布局特点,坚持对建筑群采用区域划分与系统命名的方

式,并结合科大近六十年来发展的历史实际以及在泰山、泉城、青岛三地办学的格局及现状,使学校校园景观在整体上呈现出“山、海、泉”交汇贯通的文化特质。具体而言: 将南部教学办公三个区自西向东命名为“历山园”、“泰山园”、“珠山园”,各个园区的主要景观——广场,分别命名为历山广场、泰山广场、珠山广场。其中,泰山广场对应学校主大门——南大门,处于整个校园东西的中轴线上。取义“历山”以成其“勤”,取义珠山以成其“勇”,取义泰山以成其“高”。 将北部学生生活三个区自西向东将其命名为“智泉园”、“悟泉园”、“慧泉园”,自古以来,中国人便以泉水作为智慧的象征,《周易·蒙卦》即以“山下出泉”为卦象,寄寓开启蒙昧之意。灵韵生动的济南七十二名泉,更是启迪我校师生智慧的永不枯竭的源泉。取义于此,希望广大莘莘学子在科大这片土地上体悟、探寻、开掘智慧之泉。 将教工住宅区命名为“山海花园”,住宅区四个小区自东向西命名为“怡山园”、“乐水园”、“天和园”、“地祥园”。科大教工住宅区依傍笔架山北腰而建设,不少住在顶楼的教工用户,拉开东侧书房窗帘,即可远眺祖国黄海之蔚蓝海岸,以及北方最大的港湾码头——青岛港前湾港码头。依山傍海,仁者乐山,智者乐水,天人一体,万物祥和。这样的景观文化设计与命名,充分体现了当今社会以人为本、科学发展的精神。 科大整个校园景观所体现出来的“山、海、泉”和谐一体的文化特质,是当今学校三地办学、协同发展、争创一流的一个缩影、一个

C语言练习作业及答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A)预处理部分B)变量说明部分 C)函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后

c语言第六次作业

第五题 #include int main () { int a[10][10],i,j,n; printf("Input n:"); scanf("%d",&n); printf("* "); for(j=1;j<=n;j++) { a[0][j]=j; printf("%d ",a[0][j]); } printf("\n"); for(i=1;i<=n;i++) { a[i][0]=i; printf("%d ",a[i][0]); for(j=1;j<=i;j++) { a[i][j]=a[i][0]*a[0][j]; printf("%d ",a[i][j]); } printf("\n"); } return 0; } 第二题 #include int main(void) { int a[12]={31,0,31,30,31,30,31,31,30,31,30,31};

int year,month,day,sum=0,i; printf("Input year,month,day:"); scanf("%d%d%d",&year,&month,&day); if(year%4==0&&year%100!=0||year%400==0) a[1]=29; else a[1]=28; for(i=0;i int main () { int n,i,j,a[6][6],index1,index2,index3,max; printf("Input n:"); scanf("%d",&n); printf("Input arry:"); for(i=0;i=max)

山东科技大学中外合作办学招生简章

山东科技大学年中外合作办学招生简章 一、学校简介 山东科技大学建校于年,现已发展成为一所工科优势突出,行业特色鲜明,工学、理学、管理学、 文学、法学、经济学、艺术学等多学科相互渗透、协调发展的省属重点大学, 是山东省重点建设的应用基础型人才培养特色名校,现有在校生余人,学校在青岛、泰安、济南三地办学,合作办学各专业设在济南校区。 二、中外合作办学本科项目 专业情况: 序号专业名称层次合作学校教育部批号 信息管理与信息系统本科美国克拉克大学2A 国际经济与贸易本科美国克拉克大学2A 澳大利亚塔斯马尼2A 电气工程及其自动化本科 亚大学 澳大利亚塔斯马尼 2A 通信工程本科 亚大学 金融学本科英国伍斯特大学2A 合作学校简介: 美国克拉克大学建于年,是一所研究教案型大学,与哈佛大学、耶鲁大学同为著名的美国大学 协会创始成员,据《美国新闻与世界报道》,其最新排名为全美第位。 塔斯马尼亚大学始建于年,是英国高等教育评选出的全球强大学之一,是澳洲高等教育委员会评 选的最有研究成就的澳洲前十所大学之一。 伍斯特大学始建于年,是一所公立大学,为现任英国教育部部长的母校。伍斯特大学商学院是英国 最受欢迎的商学院之一,在欧洲拥有良好的声誉,商学院课程都经过了英国管理准则协会()、英国国 家职业标准()、英国管理标准中心()的评估并获得了认证。 培养模式: 与美国克拉克大学合作办学:培养方案和培养计划由中美双方学校共同制定,学生在 山东科技大学学习四年,美国克拉克大学派教师与山东科技大学教师共同承担课程的教案, 学生完成培养计划规定的全部课程,成绩合格,获得山东科技大学普通高等教育本科毕业 1 / 3

山东科技大学_计算机操作系统试题

计算机操作系统 一.单项选择题(每小题2分,共30分) 1.进程具有并发性和()两大重要属性。 A.动态性 B.静态性 C.易用性 D.封闭性 2.在分时操作系统中,()是衡量一个分时系统的一项重要指标。 A.响应时间 B.高可靠性 C.吞吐量 D.时间片轮转 3.进程所请求的一次打印输出结束后,将使进程状态从()。 A.运行态变为就绪态 B.运行态变为等待态 C.就绪态变为运行态 D.等待态变为就绪态 4.常用的文件存取方法有两种:顺序存取和()存取。 A.流式 B.串联 C.索引 D.随机 5.采用多道程序设计能()。 A.减少调度次数 B.减少处理器空闲时间 C.缩短每道作业的执行时间 D.避免发生资源竞争现象 6.临界区是指并发进程中涉及共享变量的()。 A.程序段 B.管理信息区 C.公共数据区 D.信息保留区 7.产生死锁的四个必要条件是:互斥使用、()、不可抢占和循环等待资源。 A.请求并阻塞 B.占有并等待 C.请求并释放 D.释放并阻塞 8.()是一种只能进行wait操作和signal操作的特殊变量。 A.调度 B.进程 C.同步 D.信号量 9.在下面的叙述中正确的是()。 A.一个进程一定包含多个线程 B.进程是比线程更小的能独立运行的基本单位 C.线程的引入增加了程序执行时的时空开销 D.引入线程可提高程序并发执行的程度,可进一步提高系统效率

10.设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m

c语言第六次作业解析

第六次作业:指针 (以下题目如无特殊声明,请使用指针技术实现,尽量不要使用数组作为形参,也尽量避免使用数组下标引用数组元素) 1.数组元素循环移位 有n个整数,使前面的各整数顺序向后移动m个位置,后面的m个整数则变成最前面的m个数。写一函数实现以上功能。 在主函数中输入n及n个整数,输入m (m void main() { void inv(int *p,int n,int m); int n,m,a[20],*p; printf("please input n="); scanf("%d",&n); printf("please input %d numbers:",n); p=a; while(p

2. 矩阵元素的排序 将一个5×5的整数型矩阵中各元素重新排序。排序规则为,矩阵元素按照从左到右,从上到下的顺序依次递增,即 4,41,10,14,03,02,01,00,0.......a a a a a a a a ≤≤≤≤≤≤≤。 要求编写一个函数实现上述排序功能。 在主函数中输入该矩阵,调用编写的上述函数,然后输出排序后的矩阵。 #include void main() { void inv(int (*x)[5]); int i,j,a[5][5]; int (*p)[5]; printf("please input an 5*5 array:\n"); p=a; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",*(p+i)+j); inv(p); printf("the new array:\n"); for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%4d",*(*(p+i)+j)); putchar('\n'); }

C语言作业答案

第一章:第6题 方法一: #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max int main() {int max(int x,int y); int a,b,c,d; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); d=max(max(a,b),c); printf("The largest number is %d\n",d); return 0; } int max(int x,int y) { return (x>y)?x:y; } 第三章第3题 #include #include int main() {float d=300000,p=6000,r=0.01,m; m=log10(p/(p-d*r))/log10(1+r); printf("m=%6.2f\n",m); return 0;

} 第4题 #include int main() {char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (1)运行时会输出什么信息?为什么? 解:运行时输出: 第1行是将c1,c2按%c的格式输出,97是字符a的ASCII代码,98是字符b的ASCII代码。第2行是将c1,c2按%d的格式输出,所以输出两个十进制整数。 (2)如果将程序第4,5行改为: C1=197; C2=198; 运行时会输出什么信息?为什么? 解:由于Visual C++6.0字符型数据是作为signed char 类型处理的,它存字符的有效范围为0~127,超过此范围的处理方法,不同的系统得到的结果不同,因而用“%c”格式输出时,结果是不可预料的。 (3)如果将程序第3行改为; int c1,c2; 运行时会输出什么信息?为什么? 解:如果给c1和c2赋的值是97和平利用8,则输出结果与(1)相同。如果给c1和c2赋的值是197和198,则用%c输出时,是不可预料的字符。用%d输出时,输出整数197和198,因为它们在int类型的有效范围内。 第5题 #include int main() {int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("%f %e",&x,&y);

相关文档
最新文档