文档库 最新最全的文档下载
当前位置:文档库 › C语言第三章作业

C语言第三章作业

C语言第三章作业
C语言第三章作业

习题三

3.1用C语言描述下列命题。

(1)a小于b或a小于c。

(2)a或b都大于c。

(3)a和b其中之一小于c。

(4)a是非正整数。

(5)a是奇数。

(6)a不能被b整除。

(7)角A在第一象限或第三象限。

(8)a是一个带小数的正数,而b是一个带小数的负数。

答:

(1)a

(2)a>c&&b>c

(3)(a=c) || (a>=c&&b

(4)a<0&&(int a) 是(a-(int) a),注意计算小数部分。

(5)

(6)a%2==1(或者a%2!=0)

(7)a%b!=0

(8)(0

(9)(c=a;a-c>0)&&(d=b;b-d<0)

3.2写出下列表达式的值。

(1) 1<4&&4<7 /*真与真仍为真*/

(2) 1<4&&7<4 /*真与假为假*/

(3)!(2<=5) /*非真为假*/

(4)!(1<3)||(2<5) /*假(非真)或真仍为真*/

(5)!(4<=6)&&(3<=7) /*假(非真)与真为假*/

答:

(1) 1 (2) 0 (3) 0 (4) 1 (5) 0

3.3若x=3,y=z=4,求下列表达式的值。

(1) (z>=y>=x)? 1:0 //条件语句实际是在判断1>3是否成立

(2) z>=y && y>=x //真或真为真

答:

(1) 0 (2)1

3.4 若x=3,y=2,z=1,求下列表达式的值。

(1) x

(2) x

(3) z+=(x

答:

(1) 3 (2)2 (3)3

3.5 写出下面程序段的输出结果。

(本题部分答案同时以C文件保存在压缩包内/C程序文件夹内)

(1)

int x = 40,y = 4,z = 4;

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

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

答:

1

/*

由优先级y==z的值为1,赋给x则x=1.之后(y=z)的值为4,(4==40)的值为0,然后赋给x

*/

(2)

int x,y,z;

x=y=z=0;

++x || ++y && ++z; //++x为1,则不再计算||之后的内容printf ("x=%d\ty=%d\t z=%d\n",x,y,z);

x=y=z=0;

++x&&++y||++z; //++x&&++y的值为1,则不再计算||之后的内容printf ("x=%d\t y=%d\tz=%d\n",x,y,z);

x=y=z=0;

++x&&++y&&++z;

printf ("x=%d\t y=%d\tz=%d\n",x,y,z);

x=y=z=-1;

++x&&++y&&++z; /*++x为0,则不计算++y,(++x&&++y)printf ("x=%d\ty=%d\t z=%d\n",x,y,z); 为0,则不计算++z*/ x=y=z=-1;

++x&&++y||++z; /*++x为0,则不计算++y,但(++x&&++y)printf ("x=%d\t y=%d\t z=%d\n",x,y,z); 为0,仍要计算||后的

x=y=z=-1; 内容,故++z过后,z=0*/

++x||++y&&++z; /*(++x||++y)的值为0,不计算&&之后printf ("x=%d\t y=%d\t z=%d\n",x,y,z); 的++z*/

答:

x=1 y=0 z=0

x=1 y=1 z=0

x=1 y=1 z=1

x=0 y=-1 z=-1

x=0 y=-1 z=0

x=0 y=0 z=-1

(3)

int x=1,y=1,z=1;

y=y+z;

x=x+y;

printf ("%d\n",x<y? y:x); //3小于2?否,输出3

printf ("%d\n", x<y? x++∶y++); //3小于2?否,先引用2,然后y=3 printf ("%d\n",x);

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

x=3;

y=z=4;

printf ("%d\n",(x>=y>=x)?1∶0); //0大于3?否,输出0

printf ("%d\n",z>=y && y>=x); //真与真为真,输出1

答:

3

2

3

3

1

(4)

#include

int main(void)

{

int a;

scanf(“%d”,&a);

if(a>=0)

printf(“plus\n”);

else

printf(“minus\n”);

return 0;

}

答:

输入正数,显示plus,输入负数,显示minus。

(5)

#include

int main(void)

{

int x,y=1,z;

if(y!=0) x=5; //条件成立,给x赋值5

printf(“x=%d\t”,x);

if(y==0) x=3;

else

x=5; //条件不成立,给x赋值5

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

z=-1;

if(z<0)

if(y>0) x=3; //条件均成立,给x赋值3

else x=5;

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

if(z=y<0) x=3; //条件不成立,执行else if

else if(y==0) x=5;

else x=7; //条件不成立,x=7

printf(“x=%d\t”,x);

printf(“z=%d\t\n”,z); //x==7,z=0

if(x=y=z) x=3; //条件为假,不执行x=3,x,y,z均为0 printf(“x=%d\t”,x);

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

return 0;

}

答:

x=5 x=5

x=3

x=7 z=0

x=0 z=0 x=3 z=1

(6)

#include

int main()

{

int n=0;

while(n++<1)

printf(“%d\t”,n);

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

return 0;

}

答:

1 2 注意你的作业题目程序。

3.6请设计下列算法。

(1)有两盘磁带,磁带A录制英语,磁带B录制音乐,把它们交换过来。

(2)依次输入10个数,找出其中的最大数。

(3)把3个任意数按升序排列。

(4)判断一个整数n能否被3和5整除。

(5)求两个正整数m和n的最大公约数。

(本题答案同时以C文件保存在压缩包内/C程序文件夹内)

答:

(1)

#include

main()

{

int A,B,T;

T=A;

A=B;

B=T;

}

#include

main()

{

int n;

float x,max;

scanf(“%f”,&max);

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

{

scanf(“%f\n”,&x);

if(x>=max)

max=x;

}

printf(“%f”,max);

}

(3)

#include

main()

{

float a,b,c;

scanf(“%f%f%f”,&a,&b,&c);

if(a>b)

if(b>c)

printf(“%f\n%f\n%f”,c,b,a);

else if(a>c)

printf(“%f\n%f\n%f”,b,c,a);

else

printf(“%f\n%f\n%f”,b,a,c);

else if(a>c)

printf(“%f\n%f\n%f”,c,a,b);

else if(b>c)

printf(“%f\n%f\n%f”,a,c,b);

else

printf(“%f\n%f\n%f”,a,b,c);

这可悲的算法,忘记了吧。

(4)

#include

main()

{

int n;

scanf(“%d”,&n);

if(n%3==0)

if(n%5==0)

printf(“%d既能被3整除,也能被5整除。\n”,n);

else

printf(“%d能被3整除,但不能被5整除。\n”,n);

else if(n%5==0)

printf(“%d不能被3整除,但能被5整除。\n”,n);

else

printf(“%d不能被3整除,也不能被5整除。\n”,n); }

(5)

#include

main()

{

int a,m,n,max=0;

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

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

{

if(m%a==0)

if(n%a==0)

max=a;

}

if(max!=0)

printf("%d是%d和%d的最大公约数。",max,m,n);

else

printf("与n没有最大公约数。");

}

3.7有下列语句。

if(a

if(a

if(a

(1)把此语句的逻辑关系写得更清晰一些。

(2)检查其中有无多余的判定条件或矛盾的判定条件。

(3)重写一个等效的简洁的条件语句。

答:

(1)

if (a

if(c

x=1;

else if (a

if(b

x=2;

else x=3;

else if (a

if(b

x=4;

else x=5;

else x=6;

else x=7;

(2)

else if (a

if(b

x=4;

else x=5;

这一段应该去掉, 因为条件c=c 且

c>=d) 时才可能执行这一段,

而这与条件a

(3)

if(a>=b)

x=7;

else if(c

x=1;

else if(a>=c)

x=6;

else if(b

x=2;

else

x=3;

(3.8~3.11以C文件保存在压缩包内/C程序文件夹内)

3.12把下列程序代码改写的更为合理。

(1)

while (A)

{

if (B) continue;

C;

}

(2)

do

{ if (!A) continue

else B;

C;

}while (A);

答:

(1)

while(A)

C;

(2)

do

if(A)

{

B;

C;

} while(A);

3-13指出下面三个C程序的功能。当输入为“qwert?

行结果各是什么?

(1)

#include

int main(void)

{

char c;

c=getchar();

while (c!='?') //直到c=?的时候循环停止,?输不出来{

putchar (c);

c=getchar();

}

return 0;

}

(2)

#include

int main(void)

{

char c;

while ((c=getchar ())!='?') putchar (++c);

return 0; //接收到的字符+1输出,直到?停止。}

#include

int main(void)

{

while (putchar (getchar())!='?');

return 0; //直到c=?的时候循环停止,?也输出来}

答:

(1)qwert

(2)rxfsu

(3)qwert?

(3.14~3.21以C文件保存在压缩包内/C程序文件夹内) 你必须在作业里注明你的程序,而不是仅仅在这里说。

作业做的不错,以后努力。

长城2014-11-25

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语言第五次作业

第五次作业:函数 1.自然数的计算 编写自己的两个函数,分别求出两个整数的最大公约数和最小的公倍数。 编写一个程序,功能是能够由键盘输入两个整数,并能调用自己编写的函数,计算并输出这两个整数的最大公约数和最小公倍数。 程序代码: #include void main() { intgreatest_common(intx,int y),lowest_common(intx,int y); inta,b,c,d; printf("please input two integer:"); scanf("%d,%d",&a,&b); c=greatest_common(a,b); d=lowest_common(a,b); printf("最大公约数为%d,最小公倍数为%d\n",c,d); } intgreatest_common(intx,int y) { inti,min; if (x>y)min=y; else min=x; for(i=min;i>=1;i--) if ((x%i==0)&&(y%i==0)) return(i); } intlowest_common(intx,int y) { inti,max; if (x>y) max=x; else max=y; for (i=max;;i++) if((i%x==0)&&(i%y==0)) return (i); }

2.字符串连接 请使用字符数组,编写自己的字符串连接函数。 编写一个程序,功能是能够由键盘输入两个字符串,并能调用自己编写的字符串连接函数,输出新的字符串。 #include #include void main() { char link(char a[40],char b[20]); char str1[40]={"0"},str2[20]; printf("请输入第一个字符串:"); gets(str1); printf("请输入第二个字符串:"); gets(str2); printf("合并后的字符串为:\n"); link(str1,str2); puts(str1); } char link(char a[40],char b[20]) { inti,j; i=strlen(a); for(j=0;b[j]!=0;j++) a[i+j]=b[j];

交通大学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将对象实例化

C语言上机操作实验二

2009——2010(1)C语言程序设计实验 1.从键盘输入一个正整数,若是偶数打印“even”,否则打印“odd”。文件 名为myf21.c 2.从键盘输入两个正整数m,n,判断m能否被n整除,若能输出m和n,否则 打印“NO”。文件名为myf22.c 3.将两个两位数的正整数a、的b合并形成一个整数放在c中。合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。例如,当输入45,12时,输出 c=4152。文件名为myf23.c 4.输入两个整数153和257,判断是否为“水仙花数”,所谓“水仙花数”是指 一个3位数,其各位数字立方和等于该数本身。若是输出该数,否则输出“NO”。 文件名为myf24.c 5.现编程实现:购买某商品时应付多少款?该商品的单价为12.6元,若购买这 一商品3件以上打8折,3件(包括3件)以下不打折。文件名为myf25.c 6.【动动脑子】若给定三个整型变量a,b,c,现求三个整数的最大值。算法思 想:引入变量max存放最大值,先求前二位数的最大值存放于变量 max中,再求该变量与第三数的最大值,仍存放于该变量中。最后输出该变量。文件名为myf26.c 7.【小游戏】给小学生出一道加法题,做对着输出“Goog!”,否则输出“Try hard!”。算法思想:随机产生一个被加数和一个加数,显示一道加法题,等待学生输入结果,判断其结果是否正确,若正确输出输出“Goog!”,否则输出“Try hard!”。文件名为myf27.c 班级:金属0901/2、冶金0901/2、电信工程0901/2、电子商务0901

c语言作业

提交作业规范: (1)你的每次作业的cpp文件放在文件夹中,文件夹命名:学号+姓名+(第几次),(例如:“2014218899张三(第二次)“) (2)上传到文件夹:偶春生\班级。千万别传错。 注意: (1)每做完一题,请用“file”下的“close workspace”关闭工作区,再重新开始做下一题。(2)如果不能联网,请改网关地址:252或253 (3)开机进入“basis” 第一次上机题目: (1)从键盘上输入四个整数,计算并输出四个数的平均值。 (2)输入球的半径,计算并输出球的体积和表面积。 (3)输入一个三位正整数,分别输出该数的个位、十位和百位。(提示:用%运算符提取数字,如123%10=3,用/运算符移除已提取的数字,如123/10 = 12) (4)请测试++、--、关系和逻辑运算符。 第二次上机题目: (1)平面上有一园C:(x-3)2+(y-4)2= 25;输入点P(x,y)的坐标值,判断P点在园C内(包括园上)还是园C外。 (2)输入一英文字符,如果是大写字符,请输出:“您输入的是大写字符。”,如果是小写字符,请输出:“您输入的是小写字符。”, (3)某人某天开始“三天打鱼,两天晒网”,问该人在以后的第n天是打鱼还是晒网?(4)输入火车的出发时间和到站时间,计算火车的运行时间。(出发时间和到站时间用四位整数表示,如1230表示12点30分,假设火车不跨天运行。) (5)从键盘上输入三个整数,分别存放在变量num1, num2, num3中,编写程序对这三个数进行排序,使得num1 <=num2<=num3。 第三次上机题目: (1)输入十个数,分别计算出其中正数、负数的和。 (2)输出1—100内能被3整除或个位数是3的数。 (3)打印出大写英文字母,每行最多输出十个。 (4)输入十个数,求出其中的最小值。 (5)求出e的值,e = 1+1+1/2!+1/3!+…+1/n! (n取10) 第四次上机题目: (1)输出100—1000之间的质数。 (2)任意输入一个数,输出这个数的所有因子。(如输入12,输出1,2,3,4,6,12) (3)输出1-100间的同构数,所谓同构数是指一个数出现在这个数平方的右侧(如6和25均为同构数)。 (4)求x2+y2=2009的整数解。(提示,x,y的范围在[1,45]之间,用双重循环枚举求解)(5)用嵌套循环打印如下图形:

2013c语言第5次作业答案

C语言第5次作业及答案 1:[论述题]8,已知公鸡每只5元,母鸡每只3元,小鸡一元3只,现有100元买鸡100只,问其中公鸡、母鸡、小鸡各多少只?编程求解。参考答案:8,提示:此题与上题类似,实际是求一个不定方程组,令公鸡有x只,母鸡 有y只,小鸡z只,进行C语言求解。 此题还有另外一些限制:只有100元,所以公鸡不超过20只,母鸡不超过33只。考虑这些限制可以提高程序运行效率 #include void main() { int x,y,z,j=0; printf("Folleing are possible plans to buy 100 fowls with 100 Yuan.\n"); for(x=0;x<=20;x++) /*外层循环控制鸡翁数*/ for(y=0;y<=33;y++) /*内层循环控制鸡母数y在0~33变化*/ { z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/ if(z%3==0&&5*x+3*y+z/3==100) /*验证取z值的合理性及得到一组解的合理性*/ printf("%2d:cock=%2d hen=%2d chicken=%2d\n",++j,x,y,z); } } 2:[论述题]7,一个笼子中有鸡兔各若干只,已知共有50只脚,20张嘴,问笼中各有鸡多少只,兔多少只?编程实现求解。 参考答案:7、提示:有嘴20张,有脚50只,考虑鸡有2只脚,兔有4只脚,鸡兔都只有一 张嘴,此题实际是计算一个二元一次方程组(令鸡有x只,兔有y只) main() { int x,y; for(x=1;x<20;x++) {

交通大学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将对象实例化

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语言上机作业试题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): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言程序设计 第四次作业

实验报告 课程名称C语言程序设计 实验项目顺序结构程序设计 实验仪器___________________________ 系别__________自动化系__________ 专业_____自动化__________ 班级/学号自动化1907/2019010737____学生姓名________钱仪嘉_____________ 实验日期_________2019.11.28________ 成绩_______________________ 指导教师__________尤建清__________

一、实验目的 (1)掌握算术表达式、赋值表达式、关系表达式和逻辑表达式的计算。 (2)掌握常见数学库函数的使用。 (3)掌握C语言中基本输入、输出函数的使用方法。 (4)掌握选择结构程序设计的一般方法 二、实验内容 1.第一题 实验题目:编写自定义函数,函数的功能是:将华氏温度F转化为摄氏温度C。公式为:C=5/9(F-32).编写程序,输出一个华氏温度与摄氏温度对照表,其中华氏温度值为32~100,步长为4。 #include double convent(int f); int main() {int f; float c; printf("华氏温度\t摄氏温度\n"); for(f=32;f<=100;f=f+4) { c=convent(f); printf("\t%d\t%10.2f\n",f,c); } } double convent(int f) { double c; c=5.0/9*(f-32); return c; }

实验题目:编写自定义函数,该函数有一个整型参数,函数的功能是当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时返回值为1。编写程序从键盘输入任意10整数,统计其中奇数和偶数分别多少个。判断奇偶性使用自定义函数实现。 #include int isEven(int n); int main() { int i,n,odd=0,even=0; printf("请输入10个整数:"); for(i=1;i<=10;i++) { scanf("%d",&n); if(isEven(i)==1)odd++; else even++; } printf("其中有%d个偶数\n",even); printf("其中有%d个奇数\n",odd) ; return 0; } int isEven(int n) { if(n%2==0) return 0; else return 1; }

C语言作业5

28 组成最大数 成绩: 10 / 折扣: 0.8 任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。 输入: 自然数 n 输出: 各位数字组成的最大数 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示 1. 1593? 以文本方式显示 1. 9531? 1秒 64M #include #include int main(){ char a[10000]; int x[10]={0}; scanf("%s",a); int n=strlen(a); for(int i=0;i=0;i--) for(int j=0;j

输入: 第一行龙头数n , 勇士人数m (1<=n, m<=100 )接下来n 行,每行包含一个整数,表示龙头的直径接下来m 行,每行包含一个整数,表示勇士的身高l 输出: 如果勇士们能完成任务,输出校长需要花的最小费用;否则输出“ bit is doomed! ” 测试输入期待的输出 时间限制内存限制额外进程 测试用例 1 以文本方式显示 1. 2 3? 2.5? 3.4? 4.7? 5.8? 6.4? 以文本方式显示 1.11? 1秒64M 0 测试用例 2 以文本方式显示 1. 2 1? 2.5? 3.5? 4.10? 以文本方式显示 1.bit is doomed!? 1秒64M 0 #include int main() { int dragon,hero; scanf("%d%d",&dragon,&hero); int dragonhead[100]={0}; int herohight[100]={0}; //input for(int i=0;i

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); }

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

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

C语言第5次作业 简单程序设计

单选题: 1、以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A.12 B.34 C.1234 D.提示出错、无结果 学生答案: C 参考答案: C 2、若有说明语句:int a,b,c,*d=&c; 则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 A.scanf("%d%d%d",&a,&b,*d); B.scanf("%d%d%d",&a,&b,&d); C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d); 学生答案: B 参考答案: A 3、以下合法的赋值语句是 A.x=y=100 B.d--; C.x+y; D.c=int(a+b); 学生答案: D 参考答案: B 4、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A.10,3 B.9,3 C.9,2 D.10,2 学生答案: D 参考答案: D 5、以下程序的输出结果是 main()

{ int a=3; printf("%d\n",(a+=a-=a*a));} } A.-6 B.12 C.0 D.-12 学生答案: D 参考答案: D 6、以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s)); A.9 B.12 C.13 D.14 学生答案: A 参考答案: A 7、下列程序执行后的输出结果是 main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } A.G B.H C.I D.J 学生答案: A 参考答案: A 8、下列程序执行后的输出结果是 main() { char x=0xFFFF; printf("%d \n",x--); } A.-32767 B.FFFE C.-108 D.-32768

扬州大学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);

C语言作业

实验一 C程序的运行环境及简单程序编写(一) 一、实验目的 1. 了解VC++6.0集成环境的基本操作方法。 2. 了解在该系统上如何编辑、编译、连接和运行一个C程序。 3. 通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1. 打印输出你的姓名,年龄,地址信息。 2. 编写程序,实现输出 ********************************************* C语言程序设计 ********************************************* 3. 编写程序,求2个整数的和、差、积、商。 实验二C程序的运行环境及简单程序编写(二) 一、实验目的 1. 编写运行简单的C程序,了解C源程序的特点。 二、实验内容 1. 编写程序,已知长方形的长为8cm,宽为3cm,求长方形的周长和面积。 2. 在上一题的源代码中,用2种注释方法,添加注释内容: 这是一个简单的C语言程序。 3. 编写程序,实现输出三行文字,第一行 Print: (1)\\\\\\\\\\ (2)&&&&&&&&&& (3)|||||||||| 实验三数据的存储与运算(一) 一、实验目的

1. 掌握变量的定义及使用 2. 掌握整型数据在程序中的表示及使用 二、实验内容 1.教材P19例2.1 2. 编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的面值为20美 元、10美元、5美元和1美元钞票来付款。 运行结果: Ener a dollar amount:93 Result: $20 bills:4 $10 bills:1 $5 bills:0 $1 bills:3 3. 输入2个变量的值,交换这2个变量的值后输出。 Input (x,y):2,3 output(x,y):3,2 实验四数据的存储与运算(二) 一、实验目的 1. 掌握整型数据在程序中的表示及使用 2. 掌握实型数据在程序中的表示及使用。 二、实验内容 1.教材P24例2.2 2.教材P46习题1 3. 编写一个程序,要求用户输入一个两位数,然后逆序打印出这个数。 Enter a two-digit number:28 The reversal is :82 实验五数据的存储与运算(三) 一、实验目的 1. 掌握符号常量、字符型数据、字符串的应用 2. 掌握强制类型的转换 二、实验内容 1.给出园半径,求园的体积v=4/3πr3 2.将小写字母转换为大写字母,并将其按字符和整数两种方式输出。 3.输入从午夜开始的秒数total_sec,请计算出等价的时间,用小时(0 ~23)、分钟(0 ~59) 和秒(0 ~59)表示。(建议使用%运算符) Enter total seconds:2590 Time:0:43:10 4.编程计算1/2+1/3+1/5的结果。 实验六数据的存储与运算(四)

c语言练习卷(超级有用)

LL1007 C语言程序设计 江立 第二次书面作业 这里写名字 这里写学号 ANT

书面作业_7 请按下列要求,编写相应程序: 1、一个10个整数的数组(34,91,83,56,29,93,56,12,88,72),找出最小值和其下标。 2、用rand()函数产生100000个0-9之间的随机整数,分别统计0-9数字出现的次数,并输出对应的百分比。(提示:统计次数用一维数组来存放) 3、将数组中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时存储单元而不得另外开辟数组。 注意:不是要求按颠倒的顺序打印数据,而是要求按逆序重新放置数组中的内容。假定a 数组有8个元素,原始内容如表-1所示: 表-1 数组a 原来的内容 现要求改变成如表-2所示: 表-2 重新排列后的数组 a

请按下列要求,编写相应程序: 1、先分别定义两个元素个数分别为41和21的字符数组str1、str2,然后从键盘上输入两个长度不超过20的字符串分别存放到str1、str2中,再将str2内容连接到str1尾部(不使用strcat()函数),最后输出str1的字符串内容。 2、从键盘上输入一个字符串,假定字符串的长度小于200,试分别统计每一种英文字母(不区分大、小写)的个数并输出。 3、假定电文的译码规律如下:A→Z(a→z),B→Y(b→y),C→X(c→x),…,Z→A(z→a)。要求编写程序,能实现将原文翻译成密码,或将密码翻译成原文的功能。原文或密码内容从键盘输入,其所属类型(指原文或密码)也由键盘输入,0代表原文,1代表密码。

请按下列要求,编写相应程序: 1、定义一个求最大公约数函数intgcd(int x, int y),在主函数输入两个整数,然后调用gcd()输出这两个整数的最大公约数。(编程思路参考第6讲课件例子) 2、定义一个将十进制数转换成十六进制数的函数void dec2hex(int n),该函数的功能是将参数中的十进制数以十六进制方式输出(编程思路参考第6讲课件例子)。在主函数输入一个十进制整数,然后调用dec2hex()输出对应的十六进制数。 3、定义一个递归函数intsum_of_square(int n),计算表达式:12+22+32+…+n2的值。在主函数中输入n值,通过调用sum_of_square() 输出结果。

相关文档