搜档网
当前位置:搜档网 › 哈工大C语言实验题

哈工大C语言实验题

哈工大C语言实验题
哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。

医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是:

t = w /(h*h)

其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型:

当 t<18 时,为低体重;

当 18≤t<25 时,为正常体重;

当 25≤t<27 时,为超重体重;

当 t≥27 时,为肥胖。

****输入提示信息格式:"Please enter h,w:\n"

****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入)

****输出数据格式要求:

当 t<18 时,输出:"Lower weight!\n"

当 18≤t<25 时,输出:"Standard weight!\n"

当 25≤t<27 时,输出:"Higher weight!\n"

当 t≥27 时,输出:"Too fat!\n"

#include

#include

main()

{

float t,w,h;

printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w);

t = w/(h*h);

if(t<18)

printf("Lower weight!\n");

else if(t>=18&&t<25)

printf("Standard weight!\n");

else if(t>=25&&t<27)

printf("Higher weight!\n");

else

printf("Too fat!\n");

return 0;

}

Q586.(

10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。

**输入格式要求:"%d,%d" 提示信息:"Please enter year,month:"

**输出格式要求:"%d is leap year\n" "%d is not leap year\n" "The season is spring/summer/autumn/winter" "The number of days of this month is %d\n"

程序运行示例如下:

实例1:

Please enter year,month:2012,11

2012 is leap year

The season is autumn

The number of days of this month is 30

实例2:

Please enter year,month:2013,12

2013 is not leap year

The season is winter

The number of days of this month is 31

#include

#include

main()

{

int year=0,leap=0,mon=0,day=0;

printf("Please enter year,month:");

scanf("%d,%d",&year,&mon);

if((year%100!=0&&year%4==0)||(year%100==0&&year%400==0)){ printf("%d is leap year\n",year);

leap=1;

}

else

printf("%d is not leap year\n",year);

switch(mon)

{

case 1:

case 2:

case 12:printf("The season is winter\n");

break;

case 3:

case 4:

case 5:printf("The season is spring\n");

break;

case 7:

case 8:printf("The season is summer\n"); break;

case 9:

case 10:

case 11:printf("The season is autumn\n"); break;

}

switch(mon)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:day=31;

break;

case 4:

case 6:

case 11:day=30;

break;

case 2:

if(leap==1)

day=29;

else

day=28;

}

printf("The number of days of this month is %d\n",day);

}

Q3161.(10分)请用else if多分支条件判断语句编程设计一个简单的计算器程序。要求:

(1)请用户按以下形式从键盘输入表达式:操作数①运算符op 操作数②

(2)然后计算表达式的值

**输入提示信息**:无

**输入数据格式**:"%f%c%f"

**输出数据格式**:"%.2f%c%.2f=%.2f\n"

若若输入的运算符是除法运算符/,当除数为0时,输出数据格式为:"dat is 0!Error!\n"

若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:"Error!\n"

[友情提示]:

①用户输入的运算符为算术运算符:加(+)、减(-)、乘(*)、除(/)。用字符变量 op 表示;

②操作数①和操作数②为浮点型数据,分别用浮点型变量 dat1、dat2表示。

③程序运行结果如下所示:

1+2↙

1.00+

2.00=

3.00

#include

#include

main()

{

float a=0,b=0;

char op;

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

if(op=='+')

printf("%.2f%c%.2f=%.2f\n",a,op,b,a+b);

else if(op=='-')

printf("%.2f%c%.2f=%.2f\n",a,op,b,a-b);

else if(op=='*')

printf("%.2f%c%.2f=%.2f\n",a,op,b,a*b);

else if(op=='/'){

if(b!=0)

printf("%.2f%c%.2f=%.2f\n",a,op,b,a/b);

else

printf("dat is 0!Error!\n");

}

else

printf("Error!\n");

}

Q3185.(10分)实验二(2016春刘秉权C语言课):根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。

转换规则为(要求用switch语句实现):

当score大于等于90且小于等于100时,grade=A;

当score大于等于80且小于90时,grade=B;

当score大于等于70且小于80时,grade=C;

当score大于等于60且小于70时,grade=D;

当score大于等于0且小于60时,grade=E。

格式要求:

输入提示:"Please enter score:"

输出形式形如:"100--A"、"75--C"、"0--E"

当输入分数不正确时,输出:"Input error!

"

#include

main()

{

int s,m;

printf("Please enter score:"); scanf("%d",&s);

m=s<0||s>100?-1:s/10;

switch(m)

{

case 10:

case 9:printf("%d--A\n",s); break;

case 8:printf("%d--B\n",s); break;

case 7:printf("%d--C\n",s); break;

case 6:printf("%d--D\n",s); break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:printf("%d--E\n",s);

break;

default:printf("Input error!");

}

}

Q221.(10分)编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。

**输入格式要求:"%d, %d" 提示信息:"Input year,month:"

**输出格式要求:"31 days\n" "29 days\n" "28 days\n" "Input error!\n"

程序运行示例如下:

Input year,month:2004,2

29 days

#include

main()

{

int a, b;

printf("Input year,month:");

scanf("%4d, %2d", &a, &b);

switch (b)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

printf("31 days\n");

break;

case 4:

case 6:

case 9:

case 11:

printf("30 days\n");

break;

case 2:

if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0) printf("29 days\n");

else

printf("28 days\n");

break;

default:

printf("Input error!\n");

}

return 0;

}

Q210.(10分)第7章实验任务1:

所谓素数是指这个数只能被1和自身整除。要求在主函数输入一个数,

调用函数Fun()判断该数是否是素数。打印信息在主函数中进行。例如:

从键盘输入5,5是素数则打印如下信息:"5 is a prime number".

又如:从键盘输入4, 4不是素数则打印如下信息:"4 is not a prime number" 负数、0和1均不是素数。对输入的数据要考虑数据的合法性,不满足条件的数

要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序

不给分。Fun()函数原型如下:

int Fun(int m);

**输入数据提示信息:"Please input a number:\n"

注:该提示信息请放在循环体外

**输入数据格式为:"%d"

**输出格式要求:

若是素数输出数据格式为:"%d is a prime number\n"

若不是素数输出数据格式为: "%d is not a prime number\n" #include

#include

int Fun(int m);

main()

{

int a;

printf("Please input a number:\n");

while (scanf("%d",&a))

{

if (a <= 0 || a == 1)

continue;

else if (a > 0 && a != 1 && Fun(a) == 1)

printf("%d is a prime number\n",a);

else

printf("%d is not a prime number\n", a);

break;

}

return 0;

}

int Fun(int m)

{

int i, result;

result = 1;

if (m != 2)

{

for (i = 2; i < m; i++)

{

if (m % i == 0)

{

result = 0;

break;

}

}

}

return result;

}

Q3185.(10分)实验二(2016春刘秉权C语言课):根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。

转换规则为(要求用switch语句实现):

当score大于等于90且小于等于100时,grade=A;当score大于等于80且小于90时,grade=B;

当score大于等于70且小于80时,grade=C;

当score大于等于60且小于70时,grade=D;

当score大于等于0且小于60时,grade=E。

格式要求:

输入提示:"Please enter score:"

输出形式形如:"100--A"、"75--C"、"0--E"

当输入分数不正确时,输出:"Input error!

"

#include

main()

{

int s,m;

printf("Please enter score:");

scanf("%d",&s);

m=s<0||s>100?-1:s/10;

switch(m)

{

case 10:

case 9:printf("%d--A\n",s);

break;

case 8:printf("%d--B\n",s);

break;

case 7:printf("%d--C\n",s);

break;

case 6:printf("%d--D\n",s);

break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:printf("%d--E\n",s);

break;

default:printf("Input error!");

}

}

Q1709.(10分)第6章实验1:国王的许诺

相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)?

注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。

(2)用标准C语言编程,所有变量必须在第一条可执行语句前定义。

(3)输入输出格式要和以下给定格式完全一致。

**输入格式:无

**输出格式:

"sum = %e\n"

"volum = %e\n"

%e表示double类型

#include

#include

main()

{

int i;

double s, v;

s = 0;

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

s = s + pow(2, i);

v = s / 1.42e8;

printf("sum = %e\n", s);

printf("volum = %e\n", v);

return 0;

}

Q1719.(10分)第7章实验任务3

从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和输入提示信息:"Input n:"

输入格式:"%d"

输出格式:"sum = %d\n"

#include

#include

int Fun(int m);

main()

{

int n,i,s;

s=0;

printf("Input n:");

scanf("%d",&n);

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

{

if(Fun(i)==1)

s=s+i;

}

printf("sum = %d\n",s); return 0;

}

int Fun(int m)

{

int i, result;

result = 1;

if (m != 2)

{

for (i = 2; i < m; i++) {

if (m % i == 0)

{

result = 0;

break;

}

}

}

return result;

}

Q1720.(10分)第7章实验任务6

从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出"It is a prime number"。例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出"It is a prime number"。

输入提示信息:"Input m:"

输入格式:"%d"

输出格式:

是素数时输出"It is a prime number\n"

否则输出用"%d = ","%d * "

运行示例1:

Input m:90↙

90 = 2 * 3 * 3 * 5

运行示例2:

Input m:13↙

It is a prime number

#include

int Fun(int m);

哈工大c语言 练习题

求用户输入得两个数得商,程序运行时,以如下格式输入数据: Input twointegers:42↙ 请改正程序中得错误,使它能得出正确得结果。 #include<stdio、h> main() { inta, b, c; printf("Input two integers:"); scanf("%d,%d",&a, &b); c= a\b; printf("Thequotient ofaandbis:%d", c); } #include〈stdio.h> int main() { ?inta,b,c; printf("Inputtwointegers:"); scanf ("%d%d",&a,&b); ?c=a/b; printf(”The quotient of a and b is:%d\n”,c); ?return 0; } 使用const常量定义圆周率pi=3、14159,编程从键盘输入圆得半径r,计算并输出圆得周长与面积。输出得数据保留两位小数点。输入格式要求:”%lf" 提示信息:”Input r:” 输出格式要求: "printf WITHOUT width or precision specifications:\n" "circumference = %f, area= %f\n”"printf WITHwidth and precision specifications:\n" "circumference=%7、2f, area = %7。2f\n” 程序运行示例如下: Input r:5。3 printf WITHOUT width or precision specifications: circumference =33、300854,are a=88.247263 printf WITHwidthand precision specifications: circumference = 33。30, area = 88、25 #include〈stdio。h> int main() { const double PI=3.14159; double r; printf(”Inputr:"); scanf("%lf”, &r); printf("printf WITHOUT width orprecision specification s:\n"); printf("circumference = %f, area= %f\n",2*PI*r,PI*r*r); printf("printf WITHwidth and precisionspecifications:\n”); ?printf("circumference=%7.2f, area =%7、2f\n",2*PI*r,PI*r*r); return 0; } 写一个程序,将接收得华氏温度转换为对应得摄氏温度。程序应显示如下得提示信息: Please inputfahr: 然后输入一个十进制数并回车,然后程序以合适得消息形式输出转换后得华氏温度。程序使用如下得公式完成转换:摄氏温度= 5.0 *(华氏温度–32.0)/ 9.0 输入格式要求:"%lf" 提示信息:"Pleaseinput fahr: ” 输出格式要求:"Thecelsis: %.2f" #include <stdio。h〉 #include<stdlib.h> int main() { doublef; double c; printf(”Please input fahr: "); scanf("%lf",&f); c=5、0*(f-32.0)/9.0; printf("Thecels is: %、2f”,c);

哈工大C语言课程设计

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计说明书(论文) 课程名称:C语言课程设计 设计题目:音乐程序与波特图 院系:航天学院控制科学与工程系 班级: 设计者: 学号: 指导教师: 设计时间: 哈尔滨工业大学教务处 哈尔滨工业大学课程设计任务书

题目一 1.1题目详细描述: 播放音乐程序,实现了自选音乐曲目和直接使用键盘弹奏,而且可以在曲目播放结束后循环选择乐曲。 1.2程序设计思路及流程图: 1.3 #include #include #include #include #include #include #define N1 16 #define N2 8 #define N4 4 #define N8 2 #define N16 1 #define END 0 void playmusic(int n,int *c); void typemusic(); enum NOTES{ C10=131,D10=147,E10=165,F10=175,G10=196,A10=220,B10=247,

C0=262,D0=296,E0=330,F0=349,G0=392,A0=440,B0=494, C1=523,D1=587,E1=659,F1=698,G1=784,A1=880,B1=988, C2=1047,D2=1175,E2=1319,F2=1397,G2=1568,A2=1760,B2=1976,S=10 }; typedef enum NOTES SONG; SONG song1[]={C0,N4+N2,E0,N4,G0,N2,G0,N2,A0,N1,G0,N1,E0,N4+N2, C0,N4,G0,N1/3,G0,N1/3,G0,N1/3,E0,N1,C0,N1,G10,N1/3,G10,N1/3, G10,N1/3,G10,N1/3,G10,N1/3,G10,N1/3,C0,N1,END,END}; SONG song2[]={A0,N2,B0,N2,C1,N1+N2,B0,N2,C1,N1,E1,N1,B0,N1+N1,S,N1,E0,N1, A0,N1+N2,G0,N2,A0,N1,C1,N1,G0,N1+N1,S,N1,E0,N2,E0,N2,F0, N1+N2,E0,N2,F0,N1,C0,N1,E0,N1+N1,S,N1,C1,N2,C1,N2,B0,N1+N2,370, N2,F0,N1,B0,N1,B0,N1+N2,S,N1,A0,N2,B0,N2,C1,N1+N2,B0,N2,C1,N1, E1,N1,B0,N1+N2,END,END}; int main() { int m,n,c=1; char b='y'; while(b=='y') { printf("Hello,what do you want to do by this program?\n"); printf("1.Listen to music.-------Press 1\n"); printf("2.Play music by yourself.-------Press 2\n"); scanf("%d",&m); while(m!=1&&m!=2&&m!=3) /*选择方式*/ { printf("You typed wrong!Do not push me around.:(\n"); scanf("%d",&m); } if(m==1) { printf("I have two musics,choose one!(Press 1/2)\n"); scanf("%d",&n); while(n!=1&&n!=2) { printf("You typed wrong!Do not push me around.:(\n"); scanf("%d",&n); } playmusic(n,&c); } else if(m==2) { typemusic(); } getchar(); printf("Do you want to continue?(y/n)\n"); scanf("%c",&b);

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

哈工大c语言 练习题

求用户输入的两个数的商,程序运行时,以如下格式输入数据: Input two integers:4 2↙ 请改正程序中的错误,使它能得出正确的结果。 #include <> main() { int a, b, c; printf("Input two integers:"); scanf("%d,%d", &a, &b); c = a\b; 、 printf("The quotient of a and b is :%d", c); } # include <> int main () { int a,b,c; printf ("Input two integers:"); scanf ("%d %d",&a,&b); c=a/b; printf ("The quotient of a and b is :%d\n",c); > return 0; } 使用const常量定义圆周率pi=,编程从键盘输入圆的半径r,计算并输出圆的周长和面积。输出的数据保留两位小数点。 输入格式要求:"%lf" 提示信息:"Input r:" 输出格式要求: "printf WITHOUT width or precision specifications:\n" "circumference = %f, area = %f\n" "printf WITH width and precision specifications:\n" ~ "circumference = %, area = %\n" 程序运行示例如下: Input r:printf WITHOUT width or precision specifications: circumference = , area = printf WITH width and precision specifications: circumference = , area = #include <> int main() ~ { const double PI=; double r; printf("Input r:"); scanf("%lf", &r); printf("printf WITHOUT width or precision specifications:\n"); printf("circumference = %f, area = %f\n",2*PI*r,PI*r*r); printf("printf WITH width and precision specifications:\n"); printf("circumference = %, area = %\n",2*PI*r,PI*r*r); return 0; | } 写一个程序,将接收的华氏温度转换为对应的摄氏温度。程序应显示如下的提示信息: Please input fahr: 然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的华氏温度。程序使用如下的公式完成转换:摄氏温度= *(华氏温度–)/ 输入格式要求:"%lf" 提示信息:"Please input fahr: " 输出格式要求:"The cels is: %.2f" #include <> | #include <> int main() { double f; double c;

太阳能电池——大学物理实验.

太阳能电池特性的测量 能源短缺和地球生态环境污染已经成为人类面临的最大问题,新能源利用迫在眉睫。太阳能是一种取之不尽、用之不竭的新能源。太阳电池可以将太阳能转换为电能,随着研究工作的深入与生产规模的扩大,太阳能发电的成本下降很快,而资源枯竭与环境保护导致传统电源成本上升。太阳能发电有望在不久的将来在价格上可以与传统电源竞争,太阳能应用具有光明的前景。 根据所用材料的不同,太阳能电池可分为硅太阳能电池,化合物太阳能电池,聚合物太阳能电池,有机太阳能电池等。其中硅太阳能电池是目前发展最成熟的,在应用中居主导地位。 本实验研究单晶硅,多晶硅,非晶硅3种太阳能电池的特性。 实验目的 1. 学习太阳能电池的发电的原理 2. 了解太阳电池测量原理 3. 对太阳电池特性进行测量 实验原理 太阳能电池利用半导体P-N 结受光照射时的 光伏效应发电,太阳能电池的基本结构就是一个大 面积平面P-N 结,图1为P-N 结示意图。 P 型半导体中有相当数量的空穴,几乎没有自由电子。N 型半导体中有相当数量的自由电子, 几乎没有空穴。当两种半导体结合在一起形成 P-N 结时,N 区的电子(带负电)向P 区扩散, P 区的空穴(带正电)向N 区扩散,在P-N 结附近形成空间电荷区与势垒电场。势垒电场会使载流子向扩散的反方向作漂移运动,最终扩散与漂移达到平衡,使流过P-N 结的净电流为零。在空间电荷区内,P 区的空穴被来自N 区的电子复合,N 区的电子被来自P 区的空穴复合,使该区内几乎没有能导电的载流子,又称为结区或耗尽区。 当光电池受光照射时,部分电子被激发而产生电子-空穴对,在结区激发的电子和空穴分别被势垒电场推向N 区和P 区,使N 区有过量的电子而带负电,P 区有过量的空穴而带正电,P-N 结两端形成电压,这就是光伏效应,若将P-N 结两端接入外电路,就可向负载输出电能。 在一定的光照条件下,改变太阳能电池负载电阻的大小,测量其输出电压与输出电流,得到输出伏安特性,如图2实线所示。 负载电阻为零时测得的最大电流I SC 称为短路电 流。 负载断开时测得的最大电压V OC 称为开路电压。 太阳能电池的输出功率为输出电压与输出电流的 乘积。同样的电池及光照条件,负载电阻大小不一样 时,输出的功率是不一样的。若以输出电压为横坐标, 输出功率为纵坐标,绘出的P-V 曲线如图2点划线所 示。 输出电压与输出电流的最大乘积值称为最大输出 空间电荷区 图1 半导体P-N 结示意图 I V

哈工大C语言程序设计习题ex6

习题6 6.3 阅读程序,按要求在空白处填写适当地表达式或语句,使程序完整并符合题目要求. (1)下面程序模拟了骰子地6000次投掷,用rand函数产生1~6之间地随机数face,然后统计1~6每一面出现地机会(概率)存放到数组frequency中. (2)从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素地下标位置,并输出. (3)下面程序地功能是从键盘输入一行字符,统计其中有多少单词.假设单词之间以空格分开. (4)下面地函数Squeeze(char s[],char c)地功能是删除字符串s中所出现地与变量c相同地字符. (5)下面地函数MyStrcmp()用于实现函数strcmp()地功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符地ASCII码值之差作为函数值返回. 6.4 编程实现从键盘任意输入20个整数,统计非负数个数,并计算非负数之和. 6.5 从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数地位置对换后,再输出调整后地数组. 6.6 输入5×5阶地矩阵,编程实现: (1)求两条对角线上地各元素之和. (2)求两条对角线上行、列下标均为偶数地各元素之积. 6.7 编程打印如下形式地杨辉三角形. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 6.8 编程将下列矩阵中地元素向右移动一列,最右一列移至第一列. 1 4 6 8 10 12 6.9 利用公式c ij=a ij+b ij计算m×n阶矩阵A和m×n阶矩阵B之和.已知a ij为矩阵A地元素,

b ij 为矩阵B 地元素, c ij 为矩阵C 地元素(i =1,2,…,m ;j =1,2,…,n ).*6.10 利用公式c ij =∑=n k ik a 1 *b kj 计算矩阵A 和矩阵B 之积.已知a ij 为m ×n 阶矩阵A 地元素 (i =1,2,…,m ;j =1,2,…,n ),b ij 为n ×m 阶矩阵B 地元素(i =1,2,…,n ;j =1,2,…,m ),c ij 为m ×m 阶矩阵C 地元素(i =1,2,…,m ;j =1,2,…,m ).6.11 输入一行字符,统计其中地英文字符、数字字符、空格和其他字符地个数. 6.12 编写一个函数Inverse(),实现将字符数组中地字符串逆序存放地功能. 6.13 不用函数strcat(),编程实现字符串连接函数strcat()地功能,将字符串srcStr 连接到字符串dstStr 地尾部.

哈工大2011年大学物理试题

大学物理期末考题(A) 2003年1月10日 得分__________ 班级_________姓名_________学号___________ 序号____________ 注意:(1)共三张试卷。(2)填空题★空白处写上关键式子,可参考给分。计算题要排出必要的方程,解题的关键步骤,这都是得分和扣分的依据。(3)不要将订书钉拆掉。(4)第4、5页是草稿纸。 一、选择题 1、在宽度a =0.05mm 的狭缝后置一焦距f 为0.8m 的透镜, 有一屏幕处在透镜的焦平面上,如图所示。现将某单色光垂直照射在单缝上,在屏幕上形成单缝衍射条纹,试问:若在离中央明条纹上方x =1.6cm 的P 处恰为暗条纹,则该光的波长约为 (a) 450nm (b) 500nm (c) 550nm (d) 600nm _____________ 1、在宽度a =0.05mm 的狭缝后置一焦距f 为0.8m 的透镜,有一屏幕处在透镜的焦平面上,如图所示。现将某单色光垂直照射在单缝上,在屏幕上形成单缝衍射条纹,试问:若在离中央明条纹上方x =1.6cm 的P 处恰为暗条纹,则该光的波长约为 (a) 450nm (b) 500nm (c) 550nm (d) 600nm 选_____B ______ λ θθk a f x ==sin kf ax = ?λ 2、在牛顿环实验中,观察到的牛顿环的干涉圆环形条纹第9级明条纹所占的面积与第16级明条纹所占的面积之比约为 (a) 9/16 (b) 3/4 (c) 1/1 (d) 4/3 (e) 16/9 选_____________ 2、在牛顿环实验中,观察到的牛顿环的干涉圆环形条纹第9级明条纹所占的面积与第16级明条纹所占的面积之比约为 (a) 9/16 (b) 3/4 (c) 1/1 (d) 4/3 (e) 16/9 选_____C ______ 明:2 ) 12(λ -= k R r , 暗:λRk r = , λπR S S k k =-+1 3、用频率为ν的单色光照射某金属时,逸出光电子的动能为k E ,若改用频率 2ν的单色光照射该金属时,则逸出光电子的动能为 (a )k E 2 (b) k E h -ν (c) k E h +ν (d) k E h -ν2 选_____________

大学MOOC哈工大C语言程序设计精髓第六周编程题答案

大学M O O C哈工大C语言程序设计精髓第六周 编程题答案 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出?Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include<> #include <> int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue;

} else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90) {

哈工大C语言2015年试卷

哈工大二〇一五年春季学期 C 语言与数据结构 试 题 题号 一 二 三 四 五 六 七 八 九 十 十一 十二 总分 分数 学号 姓名 一、填空题。(每题2分,共14分) 1.列举出三种逻辑运算符_____、_____、_____。 2.多分支选择语句中switch 后面括号的表达式的值的类型应为___________。 3.以有符号的十进制整数形式输入变量a ,则该语句为______________________。 4.初始化二维数组 int a[2][3]; 则*a 表示____________________。 5.for(i=1,sum=0;i<100;i++) sum=sum+i;该语句运行结束后,sum 的值为_____。 6.C 语言规定标识符的第一个字符必须为_________或_________。 7.定义结构体变量如下:struct stu student1,*p ;则引用结构体成员num 的方法多种,请写出任意两种_______________________________ ____________________________________________________________________。 二、画出三种基本结构的流程图 (6分)

三、在二维数组中,若某一位置上的元素在该行中最小,而在该列中最大,则该元素即为该二维数组的鞍点。要求输入一个二维数组,当鞍点存在时,把鞍点找出来并输出。(10分)

四、有一个函数: 5(0)21(08)4(8)x x y x x x x

中国大学MOOC 哈工大 C语言程序设计精髓第六周编程题答案

6.1 下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include #include int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue; } else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90)

grade = 'A'; } else if (s >= 80) { grade = 'B'; } else if (s >= 70) { grade = 'C'; } else if (s >= 60) { grade = 'D'; } else { grade = 'E'; } printf("grade: %c\n", grade); return 0; } 6.2 编程计算a+aa+aaa+…+aa…a(n个a)的值(4分) 题目内容: 编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。 #include #include int main() { int n,a,i,j; double p=0,q=0; printf("Input a,n:\n"); scanf( "%d,%d",&a,&n); for(i=1;i<=n;i++) { for(j=0,p=0;j

哈工大C语言实验题

哈工大C语言实验题

————————————————————————————————作者:————————————————————————————————日期: ?

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w/(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当 t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n" 当25≤t<27时,输出:"Higher weight!\n" 当t≥27 时, 输出:"Too fat!\n" #include main() {

float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standardweight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n"); else printf("Too fat!\n"); return 0; }

哈工大 C语言程序设计精髓 MOOC慕课 6-12周编程题答案

6.1 "/*下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 */ #include #include int main() { char score[100]; int flag = 0, i, s; char grade; printf(""Please input score:\n""); while (1) { flag=0; scanf(""%s"", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') {

continue; } else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf(""Input error!\n""); printf(""Please input score:\n""); continue; } else{ break; } } s = atoi(score);

if (s >= 90) { grade = 'A'; } else if (s >= 80) { grade = 'B'; } else if (s >= 70) { grade = 'C'; } else if (s >= 60) { grade = 'D'; } else { grade = 'E'; } printf(""grade: %c\n"", grade);

哈工大C语言实验题完整版

哈工大C语言实验题标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当 t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当 t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n" 当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include

main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n"); else printf("Too fat!\n"); return 0; }

哈工大计算机复试C语言复习笔记

哈工大计算机专业考研复试 C语言复习笔记 参考资料:C语言程序设计第三版(苏小红),高等教育出版社C语言程序设计学习指导(苏小红),高等教育出版社 适合于有一定C语言基础的学者 编译环境:CodeBlocks 2018年2月28日

目录 哈工大计算机专业考研复试C语言复习笔记 (1) 第一章为什么要学C语言 (3) 第二章C语言数据类型 (3) 第三章简单的算术运算和表达式 (4) 第四章键盘输入和屏幕输出 (5) 第五章选择控制结构 (6) 第六章循环控制结构 (8) 第七章函数 (9) 第八章数组 (9)

第一章为什么要学C语言 不为什么,因为考试要考。 第二章C语言数据类型 C语言标识符命名规则 只能以英文字母、数字、下划线组成; 必须以字母、下划线开头; 不允许使用关键字命名; 有最大长度限制。 Sizeof的使用,返回数组的总大小,从下面的程序可以看出在32位系统中,一个char类型字符占1字节,int和float占4字节,double占8字节。在16位系统中,int类型占两个字节。 这个现象非常奇妙,区分C++中两种声明字符串的方法。 Char c[] = “hello world”;语句以字符数组的形式存储字符串,sizeof(c)返回的是该字符数组中包括’\0’的所有字符个数,这种声明方式下要获取字符串长度要用strlen() [其实可以理解为C 语言的方式]; String s = “hello”;语句可以理解为类似于链表的声明结构,s只代表该字符串的起始单元地址,故sizeof(s)只有4个字节,这种声明方式下获取字符串长度要用.length() [其实可以理解为C++的方式,对象引用]; strlen()与length()的适用对象不能互换,strlen()要引用头文件string.h。 对于其他类型数组,想要获取数组长度,下面的语句是最快的方式: Int len = sizeof(array) / sizeof(ElemType);

大学物理实验--分光计实验报告

实验报告模板 实验题目: 分光计实验学 号姓名 实验日期 实验目 的 1.掌握分光计的结构,训练分光计的调整技术与技巧。 2.掌握测量棱镜顶角的方法。 3.熟悉用最小偏向角法测定物质折射率。 实验 原 理 分光计是一种测量角度的精密仪器,基本原理是让光线透过狭缝和聚焦透镜形成一束平行光,经过光学元件的反射或折射后进入望远镜物镜并成像在望远镜的焦平面上,通过目镜观察和测量各种光线的偏转角度,从而得到光学参量,如折射率,波长,衍射角等。 入射光LD 与出射光ER 的夹角δ称为偏向角。当改变入射角时,偏向角也会改变,在某个入射角处,偏向角最小,称最小偏向角δm。三棱镜对入射光线的δm 与其对入射光的折射率存在单值关系。当入射光为非单色光时,由于三棱镜对不同波长的光折射率不同,经过三棱镜后各种波长成分的光将被分开,即发生“色散”。当三棱镜顶角a 己知时,测出不同波长折射光的对应的δm 即可求出三棱镜在该波长处的折射率。 实验内容 1.分光计调节 三垂直:望远镜轴线垂直于中心转轴;载物平台垂直于中心转轴;平行光管轴线垂直于中心转轴。 目测粗调,望远镜调节,望远镜轴线及平台与中心转轴垂直,平行光管与中心转轴垂直。2.测三棱镜顶角3.测最小偏向角4.计算三棱镜的折射率

数据处理误差分析及思考题思考题:已调好望远镜光轴垂直主轴,若将平面镜取下后,又放到载物台上(放的位置与拿下前的位置不同),发现两镜面又不垂直望远镜光轴了,这是为什么?是否说明望远镜光轴还没有调好?答:因为载物台没调好,望远镜是调好的.调望远镜时,要转动载物台,用平面镜的两个面来回调,这样可以保证望远镜调好,并且载物台在平面镜所在直线的垂线上调好,但在平面镜所在直线方向可能有倾斜. 教师总(教师填写,每个实验按10分记。 )分

哈工大c语言程序设计精髓mooc慕课6-12周编程题答案

"/*下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 */ #include<> #include <> int main() { char score[100]; int flag = 0, i, s; char grade; printf(""Please input score:\n""); while (1)

{ flag=0; scanf(""%s"", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue; } else { flag = 1; break; } }

s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf(""Input error!\n""); printf(""Please input score:\n""); continue; } else{ break; } } s = atoi(score); if (s >= 90) {

grade = 'A'; } else if (s >= 80) { grade = 'B'; } else if (s >= 70) { grade = 'C'; } else if (s >= 60) { grade = 'D'; } else

哈工大1102002班大学物理期末模拟考试2-试题+答案-刘星斯维提整理

1102002班大学物理期末模拟考试参考答案 一、填空题(共30分) 1、(4分)半径为R 的圆柱形空间分布均匀磁场,如图,磁感应强度随时间以恒定速率变化,设 dt dB 为已知,则感生电场在rR 区域为 。dt dB r 2- ,dt dB r R 22 - 2、(2分)已知质点位矢随时间变化的函数形式为24(32)r t i t j =++ ,式中r 的单位为m ,t 的单位为s 。求:(1)质点的轨道方程为: ;(2)从0=t 到1=t 秒的位移为: 。 x =2 (3)y -,1 10 (82)42r v d t t i j d t i j ?= =+=+? ? 3、(3分)在半径为R 1、质量为m 的静止水平圆盘上,站一质量为m 的人。圆盘可无摩擦地绕通过圆盘中心的竖直轴转动。当这人开始沿着与圆盘同心、半径为R 2(R 2<R 1)的圆周,以相对于圆盘的速度为v 匀速走动时,则圆盘将以多大的角速度旋转 2 2 2 122 2 2 12222 1R R v R R R v R += += ω 4、(4分)一空气平行板电容器,电容为C ,两极板间距离为d .充电后,两极板间相互作用力为F .则两极板间的电势差为_ __,极板上的电荷为__ . C Fd /2;FdC 2 5、(3分)在一根通有电流I 的长直导线旁,与之共面地放着一个长、宽各为a 和b 的矩形线框,线框的长边与载流长直导线平行,且二者相距为b ,如图所示.在此情形中,线框内的 磁通量 =______________. 2ln 20π Ia μ 6、(3分)一无限大均匀带电介质平板A ,电荷面密度为1σ,将介质板 移近一导体B 后,此时导体B 表面上靠近P 点处的电荷面密度为2σ,P 点是极靠近导体B 表面的一点, 则P 点的场强是 2εσ 7、(2分)α粒子在加速器中被加速,当其质量为静止质量的6倍时,其动能为静止能量的???????????????倍.5 8、(3分)一平行板电容器,两极板间充满相对介电常量为εr 的均匀各向同性电介质,充电后与电源保持连接,然后将电介质移出,这时两极板上的电量是原来的???????????????倍,极板间场强大小是原来的???????????????倍,电场能量是原来的???????????????倍. 1/εr ; 1; 1/εr 9、(4分)如图所示,真空中相距2a 的两平行长 直导线,通以大小相等、方向相反的电流I ,在其产生的磁场中有p 、q 两点与两导线共面,其几何位置已在图中标出,则p 点处的磁场能量密度 w mp =???????????????,q 点处的磁场能量密度 w mq =???????????????. 2 2 202a I πμ; 2 2 2018a I πμ 10、(本题2分)设某微观粒子的总能量是它的静止能量的K 倍,则其运动速度的大小为 b b a I I I a a 2a q p

哈工大 C语言实验报告(答案)

实验1简单C 程序设计2、将下列由程序流程图描述的算法,转换为C 源代码并填写到图1-3b 框中,然后输入计算机并运行后并分析其运行结果(本小题2分)。 图1-3a 程序流程图 图1-3b C 源程序3、项目编程(本小题12分) (1)请向计算机输入a,b,c 三个值,经过程序处理后,要求输出其中最大的一个。 /*C 语言源代码*/ main() { }

项目要求:①画出程序流程图;②根据流程图编写程序 图1-4a 程序流程图图1-4b C 源程序 (2)请向计算机输入a,b,c 三个值,经过程序处理后,要求按值从小到大输出。 项目要求:①画出程序流程图;② 根据流程图编写程序/*输出最大值*/ main() { }

项目提示:①可采用if结构;②a,b,c由scanf函数输入程序流程图/*将a,b,c三个值由小到大输出*/ main() { } 1-5a程序流程图图1-5b C源程序 (3)编程实现打印下列由字母组成的树形。 说明:本项目编程的知识点是让学生对双 重循环语句结构的理解,清楚双重循环的特点 (即当外循环变量中的值变化一次时,则内循 环变量中的值要变化若干次)。 提示:可用外循环变量代表行数;内循环

变量代表需打印字符的个数。 难点:①字符个数是按奇数变化递增 ②左右边界字符打印的位置 图1-6a字母A-G组成的树形 /*打印图形*/ main() { } 图1-6b C源程序 (4)设计报选体育科目统计程序 设某学校在新生入学时,需报选体育选修科目。体育科目包括:篮球、排球、体操、兵乓球和网球。请为某班级(30人)统计报选各体育科目人数。 项目要求:①画出程序流程图;②根据流程图编写源程序

相关主题