1、北京理工大学 2013 级 C 程序设计非信息类答案 Part 11. 【入门】Hello world.成绩 5 开启时间 2014 年 03 月 3 日 星期一 08:00折扣 0.8 折扣时间 2014 年 03 月 18 日 星期二 23:55允许迟交 否 关闭时间 2014 年 03 月 18 日 星期二 23:55让我们用 C 语言向世界问好。最早的程序基本是这个样子的:#include int main()printf(“Hello world.n“);return 0;请模仿上面的程序,看看是否可以通过编译?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。输入:无 输
2、出:Hello world.测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 1. Hello world. 1 秒 64M 01. #include 2. int main()printf(“Hello world.n“); return 0; 2. 【入门】输出你的第一个图形成绩 5 开启时间 2014 年 02 月 25 日 星期二 14:00折扣 0.8 折扣时间 2014 年 03 月 18 日 星期二 23:55允许迟交 否 关闭时间 2014 年 03 月 18 日 星期二 23:55背景:我们已经学习了 printf 函数的基本使用方法,这里给出了一个小程序
3、,它运行的结果是输出一个由星号(*)组成的 4*4 的正方形。程序如下:#include int main()printf(“*n“);printf(“*n“);printf(“*n“);printf(“*n“);return 0; 要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。输入:无。 输出:指定图形。测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. *1. *2. *3. *1 秒 64M 01. #include 2. int main() 3. printf(“ *n“); 4. printf(“ *n“); 5. prin
4、tf(“ *n“); 6. printf(“*n“); 7. return 0; 3. 【入门】求 A+B成绩 5 开启时间 2014 年 02 月 3 日 星期一 14:00折扣 0.8 折扣时间 2014 年 03 月 18 日 星期二 23:55允许迟交 否 关闭时间 2014 年 03 月 18 日 星期二 23:55我们已经学了如何使用 scanf 函数中输入整型数据(%d),下面让我们使用 scanf 函数来输入两个整数,然后求它们的和。输入: 整数 1 整数 2 输出: 整数 1+整数 2=和测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 102. 201.
5、 10+20=30 1 秒 64M 0测试用例 2 1. -102. 101. -10+10=0 1 秒 64M 0测试用例 3 1. 300 200 1. 300+200=500 1 秒 64M 01. #include 2. int main() 3. int a,b; scanf(“%d“, scanf(“%d“, 4. printf(“%d+%d=%dn“,a,b,a+b);return 0; 4. 【入门】求整数的 3 次方成绩 5 开启时间 2014 年 02 月 25 日 星期二 14:00折扣 0.8 折扣时间 2014 年 03 月 18 日 星期二 23:55允许迟交 否
6、关闭时间 2014 年 03 月 18 日 星期二 23:55输入一个整数 x,输出 x 的 3 次方。想一想,在 C 语言中如何用公式来表达 x 的 3 次方?输入:一个整数。 输出:该整数的 3 次方值。测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 3 1. 27 1 秒 64M 0测试用例 2 1. -3 1. -27 1 秒 64M 01. #include 2. int main()int x;scanf(“%d“,printf(“%dn“,x*x*x);return 0; 5. 【入门】输出字符的 ASCII 码成绩 5 开启时间 2014 年 02 月 2
7、5 日 星期二 14:00折扣 0.8 折扣时间 2014 年 03 月 18 日 星期二 23:55允许迟交 否 关闭时间 2014 年 03 月 18 日 星期二 23:55背景:我们在计算机基础中已经学过:字母在计算机中采用 ASCII 码进行存储。下面要从键盘上输入任意一个字符,然后输出该字符对应的 ASCII 码。输入:一个字符 输出: 该字符对应的 ASCII 码说明:如果编程有问题,请先看看教材 P51 的例题 3-4,然后再办法发挥一下测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. A 1. The ASCII of character A is 65.
8、1 秒 64M 0测试用例 2 1. Z 1. The ASCII of character Z is 90. 1 秒 64M 0测试用例 3 1. 0 1. The ASCII of character 0 is 48. 1 秒 64M 0测试用例 4 1. 1 1. The ASCII of character 1 is 49. 1 秒 64M 0测试用例 5 1. + 1. The ASCII of character + is 43. 无限制 64M 01. #include 2. int main()char a;scanf(“%c“, 3. printf(“The ASCII of
9、 character %c is %d.n“,a,a); 4. return 0; 6. 【入门】大小写字母转换成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣 0.8 折扣时间 2014 年 04 月 4 日 星期五 23:55允许迟交 否 关闭时间 2014 年 04 月 6 日 星期日 23:55我们知道,英文字母是分大小写的,下面我们需要编写一个简单的程序,将输入的全部小写字母变换为大写字母,大写字母变换为小写字母,非写字母保持不变。输入: 一个字符 输出: 变换后的字符测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. A 1. a 1
10、秒 64M 0测试用例 2 1. Z 1. z 1 秒 64M 0测试用例 3 1. b 1. B 1 秒 64M 0测试用例 4 1. y 1. Y 1 秒 64M 0测试用例 5 1. # 1. # 无限制 64M 01. #include 2. int main() 3. char x,y;scanf(“%c“, 4. if(x=65scanf(“%d%d“, 3. printf(“%d+%d=%dn“,a,b,a+b); 4. printf(“%d-%d=%dn“,a,b,a-b); 5. printf(“%d*%d=%dn“,a,b,a*b); 6. printf(“%d/%d=%d
11、n“,a,b,a/b); 7. printf(“%d%d=%dn“,a,b,a%b);return 0;8. 【中学】判断三角形的形状成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣 0.8 折扣时间 2014 年 04 月 4 日 星期五 23:55允许迟交 否 关闭时间 2014 年 04 月 6 日 星期日 23:55小明上了初中,开始学习如何求解一元二次方程。要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均0。(提示:本题中应该要用到 if 语句嵌套)输入:三角型的 3 条边的长度(int 型)。输出:等边三角形:equilateral tr
12、iangle. 等腰三角形:isoceles triangle. 不构成三角形:non-triangle. 一般三角形:triangle.测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 2 2 2 1. equilateral triangle. 1 秒 64M 0测试用例 2 1. 3 2 2 1. isoceles triangle. 1 秒 64M 0测试用例 3 1. 1 3 1 1. non-triangle. 1 秒 64M 0测试用例 4 1. 3 4 5 1. triangle. 1 秒 64M 01. #include 2. int main()int
13、a,b,c;scanf(“%d%d%d“,3. if(a+b2. #include3. main()int x,y;float z; scanf(“%d%d“, 4. z=fabs(30*x-(float)y*11/2); z=z180?360-z:z; 5. if(y 2. int main()3. int year,month,day,ty,m,y,c,d,weeks; scanf(“%d%d%d“,4. ty=year;m=month;if(m 2. #include 3. void main()double a,b,c,d; scanf(“%lf%lf%lf“, 4. d=b*b-4*
14、a*c;if(a=0 5. else if(a=0) printf(“x=%lfn“,c=0?0:-c/b); 6. else if(d=0) printf(“x1=x2=%.6lfn“,b=0?0:-b/(2*a); 7. else if(d0) printf(“x1=%lfnx2=%lfn“,(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a); 8. else if(b=0) printf(“x1=%lfinx2=-%lfin“,sqrt(-d)/(2*a),sqrt(-d)/(2*a); 9. else printf(“x1=%lf+%lfinx2=%lf-%lfin
15、“,-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a);12.【中学】找出最大素数成绩 5 开启时间 2014 年 03 月 17 日 星期一 08:00折扣 0.8 折扣时间 2014 年 04 月 11 日 星期五 23:55允许迟交 否 关闭时间 2014 年 04 月 11 日 星期五 23:55小明在中学学习了什么是素数。素数是指一个只能被 1 和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。输入: 取值范围 输出: 该范围内的最大素数测试输入 期待的输出 时间限制 内存限制 额外进程测试用例 1 1. 100 1. The max prime number is 97. 1 秒 64M 01. #include2. #include3. int IsPrime(int n) int i;4. for(i=2;i=sqrt(n);i+) 5. if(n%i=0) return(0);