C语言第一次作业及答案

合集下载

C语言程序设计-第一次作业的答案

C语言程序设计-第一次作业的答案
while(n--){y++;y++;}
printf("y=%d\n",y);
}
输出结果为:
y=21.
Press any key to continue
n
n--
y
print
10
1
10
3
9
9
5
8
8
7
7
7
9
6
6
11
5
5
13
4
4
15
3
3
17
2
2
19
1
1
21
0
0
-1
y=21
5.#include<stdio.h>
1 1 2 3 5
8 13 21 34 55
Press any key to continue
i
f
f1
f2
i%5
print
1
1
1 1(不换行)
3
2
1
2
2
2(不换行)
4
3
2
3
4
3(不换行)
5
5
3
5
0
5(换行)
6
8
5
8
1
8(不பைடு நூலகம்行)
7
13
8
13
2
13(不换行)
8
21
13
21
3
21(不换行)
9
34
21
34
i
s
i%2
i%3
print
s+=i
1

c语言第一次作业程序题pta

c语言第一次作业程序题pta

5-1 统计学生平均成绩与及格人数 (15分)本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。

题目保证输入与输出均在整型范围内。

输入格式:输入在第一行中给出非负整数N,即学生人数。

第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出格式:按照以下格式输出:其中平均值精确到小数点后一位。

输入样例:输出样例:int main(){int n,i,count=0,a[10000];double sum=0,aver;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){if(a[i]>=60)count++;sum=sum+a[i];}if(n!=0)aver=sum/n;printf("average = %.1f\ncount = %d\n",aver,count);}5-3 大炮打蚊子(15分)现在,我们用大炮来打蚊子:蚊子分布在一个M\times N M×N格的二维平面上,每只蚊子占据一格。

向该平面的任意位置发射炮弹,炮弹的杀伤范围如下示意:其中,X为炮弹落点中心,O为紧靠中心的四个有杀伤力的格子范围。

若蚊子被炮弹命中(位于X格),一击毙命,若仅被杀伤(位于O格),则损失一半的生命力。

也就是说,一次命中或者两次杀伤均可消灭蚊子。

现在给出蚊子的分布情况以及连续k发炮弹的落点,给出每炮消灭的蚊子数。

输入格式:第一行为两个不超过20的正整数M和N,中间空一格,表示二维平面有M行、N列。

接下来M行,每行有N个0或者#字符,其中#表示所在格子有蚊子。

接下来一行,包含一个不超过400的正整数k,表示发射炮弹的数量。

最后k行,每行包括一发炮弹的整数坐标x和y(0\le≤x<<M,0\le≤y<<N),之间用一个空格间隔。

C语言第一次和第二次作业答案

C语言第一次和第二次作业答案

第一章 C 语言概述1.1 单项选择题1.二进制语言是属于()①面向机器语言②面向问题语言③面向过程语言④面向汇编语言「解」人们研制了许许多多计算机程序设计语言,其中二进制语言直接来自计算机的指令系统,与具体计算机紧密相关,所以是一种面向机器语言。

面向问题语言是为了易于描述和求解某类特定领域的问题而专门设计的一种非过程语言。

面向过程语言是一种能方便描述算法过程的计算机程序设计语言。

有汇编语言,但没有面向汇编语言。

汇编语言也是一种面向机器的语言,与机器语言比较,汇编语言用有助于记忆的符号来代表二进制代码。

所以解答是①。

2.下列语言中不属于面向过程的语言是()①高级语言②低级语言③C 语言④PASCAL 语言「解」C 语言和PASCAL 等程序设计语言都是高级语言,它们用于描述复杂加工的处理过程,所以也称它们是面向过程语言。

低级语言是指机器语言和汇编语言,低级语言是面向机器的语言,而不是面向问题的语言。

所以解答是②。

3.下列字符中属于键盘符号的是()①\ ②\n ③\t ④\b「解」键盘符号是指键盘上有标记,并能在显示器上直接以其标记字样显示的字符。

有许多键盘上有标记的符号,它们不是用于直接显示的,键入这种字符用于表示特定的意义,如常用的回车符。

为了能让C 程序标记这种符号,程序采用转义字符的方式书写这种字符。

如'\n'、'\t' 、'\b'都不是键盘字符,在C 语言中,它们都得用转义字符来表达。

只有字符\才是键盘字符。

所以解答是①。

但在C程序中,反斜杠字符\已特别用作转义字符的引导符,它也得用转义字符的表达形式书写,将它写成‘\\’。

4.下列字符列中,不是用来表达转义字符是()①\\ ②\' ③074 ④\0「解」转义字符有三种书写形式:反斜杠字符后接上某个规定的字符;反斜杠字符后接上13 个八进制数字符;反斜社字符和字符X 之后接上1 至2 个十六进制数字符。

c语言入门经典 习题答案

c语言入门经典 习题答案

c语言入门经典习题答案C语言入门经典习题答案C语言是一种广泛使用的编程语言,它被广泛应用于系统软件、应用软件、驱动程序、网络软件等领域。

对于初学者来说,掌握C语言的基础知识是非常重要的。

而经典的C语言习题则是帮助初学者巩固知识、提高编程能力的重要途径。

下面是一些C语言入门经典习题的答案,希望能够对初学者有所帮助:1. 编写一个程序,输入两个整数,输出它们的和。

```c#include <stdio.h>int main() {int a, b;printf("请输入两个整数:");scanf("%d %d", &a, &b);printf("它们的和是:%d\n", a + b);return 0;}```2. 编写一个程序,输入一个整数,判断它是奇数还是偶数。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数\n", num);} else {printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个字符,判断它是大写字母、小写字母还是数字。

```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf(" %c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("%c是大写字母\n", ch);} else if (ch >= 'a' && ch <= 'z') {printf("%c是小写字母\n", ch);} else if (ch >= '0' && ch <= '9') {printf("%c是数字\n", ch);} else {printf("%c是其他字符\n", ch);}return 0;}```以上是一些C语言入门经典习题的答案,希望对初学者有所帮助。

c语言作业参考答案

c语言作业参考答案

c语言作业参考答案C语言作业参考答案C语言作为一门广泛应用于计算机编程领域的编程语言,对于初学者来说,可能会面临一些难题和困惑。

为了帮助大家更好地理解和掌握C语言的知识,本文将提供一些C语言作业的参考答案,以供参考和学习。

一、基础语法题1. 编写一个C程序,输出“Hello, World!”。

#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}2. 编写一个C程序,计算并输出两个整数的和。

#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d\n", sum);return 0;}3. 编写一个C程序,判断一个数是否为偶数。

#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。

\n", num);} else {printf("%d是奇数。

\n", num);}return 0;}二、数组和指针题1. 编写一个C程序,输入10个整数,然后输出其中的最大值和最小值。

#include <stdio.h>int main() {int arr[10];int i, max, min;printf("请输入10个整数:\n");for (i = 0; i < 10; i++) {scanf("%d", &arr[i]);}max = arr[0];min = arr[0];for (i = 1; i < 10; i++) {if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}printf("最大值:%d\n", max);printf("最小值:%d\n", min);return 0;}2. 编写一个C程序,将一个字符串反转输出。

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

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

第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。

程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。

例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。

例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数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说:他乱说。

已知三个人说的是实话,一个人说的是谎话。

此刻要依照这些信息,找出做了好事的人。

c语言上机练习

c语言上机练习

第一次上机练习(首次)1.阅读以下程序,说出其功能和运算结果(输入5↙)。

#include <stdio.h>int main( ){int n ;int factorial(int n) ;scanf("%d",&n) ;printf("%d\n", factorial(n)) ;return 0 ;}int factorial(int n){int i, fact=1 ;for(i=1;i<=n;i++)fact=fact*i ;return fact ;}答案:120 求n的阶乘。

2.改正下列程序中的错误,在屏幕上显示“Welcome to You!”。

#include <stdio.h>int mian( ){printf("Welcome to You!\n")return 0 ;}答案:2行main4行末尾少分号3.编写程序在屏幕上显示以下内容:Programming is fun.And Programming in C is even more fun!答案:#include <stdio.h>int main( ){printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;return 0 ;}4.编写程序输出以下图案:* * * ** * ** **答案:#include <stdio.h>void main( ){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");}5.编写程序,计算并在屏幕上显示10~20的平方值。

大一c语言上机考试题及答案

大一c语言上机考试题及答案

大一c语言上机考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. variable-2答案:C2. C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. defD. void答案:D3. C语言中,哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列哪个选项是C语言中正确的字符串定义?A. char str[] = "Moonshot";B. char str[] = {"Moonshot"};C. char str[] = 'Moonshot';D. char str[] = "Moonshot'';答案:A5. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. ==D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int _______;。

答案:变量名2. 在C语言中,使用________运算符可以将字符串连接起来。

答案:+3. C语言中,________关键字用于定义一个结构体。

答案:struct4. 使用________函数可以输出格式化的字符串。

答案:printf5. C语言中,________函数用于计算字符串的长度。

答案:strlen三、编程题(每题10分,共60分)1. 编写一个C语言程序,计算并输出100以内所有奇数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("Sum of odd numbers from 1 to 99 is: %d\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串反转。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、 程序设计题(本大题共 3 小题) 1. 输入一个华氏温度,要求输出摄氏温度。公式为 c=5/9(f-32) 输出要有文字说明,取 2 位小数。(此题是书上 p89 页的 4.9 题) 答: #include<stdio.h> void main() { float c,f; printf("请输入华氏温度:"); scanf("%f",&f); c=(float)5/9*(f-32); printf("%14.2f 的摄氏温度是:%14.2f\n",f,c); } 2. 输入一个圆的半径 r 和一个整型数 k, 当 k=1 时,计算圆的面积; 当 k=2 时,计算圆的 周长; 当 k=3 时,既要求出圆的面积也要求出圆的周长。 #include<stdio.h> void main() { float r,l,s; float pi=3.1415926; int k; printf("请输入圆的半径和一个 1-3 的整数(例如: 2.3, 2) :"); scanf("%f,%d",&r,&k); l=2*pi*r; s=r*r*pi; switch(k) { case 1 :printf("圆的面积是:%8.2f\n",s);break; case 2 :printf("圆的周长是:%8.2f\n",l);break; case 3 :printf("圆的面积是:%8.2f 周长是:%8.2f\n",s,l); } } 3. 企业发放的奖金根据利润提成。利润 I 低于或等于 10 万元的,奖金可提 10%;利润高 于 10 万元, 低于 20 万元(100000<I≤200000)时, 低于 10 万元的部分按 10%提成, 高于 100000 元的部分,可提成 7.5%;200000<I≤400000 时,低于 20 万的部分仍按上述办法提成(下 同)。高于 20 万元的部分按 5%提成;400000<I≤600000 时,高于 40 万元的部分按 3%提 成;600000<I≤1000000 时,高于 60 万的部分按 1.5%提成;I>1000000 时,超过 100 万 元的部分按 1%提成。从键盘输入当月利润 I,求应发奖金总数。 要求:(1)用 if 语句编程序;(2)用 Switch 语句编程序。 (此题是书上 p112 页的 5.8 题) (1) #include<stdio.h>
void main() { long i; float bonus,bon1,bon2,bon4,bon6,bon10; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; printf("请输入利润 i:"); scanf("%ld",&i); if(i<100000) bonus=i*0.1; else if(i<=200000) bonus=bon1+(i-100000)*0.075; else if(i<=400000) bonus=bon2+(i-200000)*0.05; else if(i<=600000) bonus=bon4+(i-400000)*0.03; else if(i<=1000000) bonus=bon6+(i-600000)*0.015; else bonus=bon10+(i-1000000)*0.01; printf("奖金是%10.2f\n",bonus); } (2) #include<stdio.h> void main() { long i; float bonus,bon1,bon2,bon4,bon6,bon10; int branch; bon1=100000*0.1; bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; printf("请输入利润 i:"); scanf("%ld",&i); branch=i/100000; if(branch>10) branch=10; switch(branch) { case 0:bonus=i*0.1;break; case 1:bonus=bon1+(i-100000)*0.075;一、 单项选择题(本大题共 19 小题) 1.C 语言规定:在一个源程序中,main 函数的位置( ) 。[C] A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 2.一个 C 语言程序是由( ) 。[B] A)一个主程序和若干个子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 3.C程序中,注释的内容写在( ) 。[A] A)/*和*/之间 B)\*和*\之间 C)*/和/*之间 D)*\和\*之间 4.C 语言程序中每个语句和数据定义的最后必须有一个( ) 。[A] A)分号 B)逗号 C)空格 D)冒号 5.若 x、i、j 和 k 都是 int 型变量,则计算下面表达式后,x 的值为( ) 。[C] X=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 6.不正确的变量说明是( ) 。[C] A)unsigned int ui; B)short int s; C)double int A; D)int i,j,k; 7.合法的 C 语言程序标识只符是( ) 。[C] A)5dm B)a>b C)Hh D)$a 8.不合法的字符常量是( ) 。[C] A)’2’ B)’\101’ C)’ab’ D)’\n’ 9.若有代数式
7.下面程序段的输出结果是 。 [x=4, y=5, a=1] void main() { int x=3,y=6,a=0; while (x++!=(y-=1)) { a+=1; if (y>x) printf("x=%d, y=%d, a=%d",x,y,a); } } 8.下面程序输出结果是_____________________。[i=6,k=4] #include <stdio.h> void main() { int i,j,k=19; While (i=k-1) { k- =3; if (k%5==0) { i++; continue; } else if (k<5) break; i++; } Printf(“i=%d,k=%d\n”,i,k); } 9.如下程序段的输出结果是 int i=0 , sum=1; do { sum+=i+ +; } while ( i<6); printf(“%d”, sum); 。[16]
scanf( “ %f”, &score); while ( (1) ) { if ( score > max) max=score; if ( (2) ) min=score; printf(“ Input the score”); scanf( “ %f”, &score); } printf(“ The max score is %f \n min
is
%f\n”,max, min);
} 13. 以下程序的功能是实现从键盘输入一组字符, 统计出大写字母的个数 m 和小写字母的个 数 n,并输出 m、n 中的较大者。[ (1) c=getchar() ; (2) n:m void main() { int m= 0, n=0; char c; while ( ( (1) ) != ‘\n’ ) { if ( c>=’A’ &&c <=’Z’ ) m++; if ( c>=’a’ &&c <=’z’ ) n++; } printf(“%d \n ”, m<n ? (2) ); } 14.下面程序段将输出 computer,请填空。[(1)i<=7 int i, j=0; char c[ ]=”it’s a computer”; for (i=0; (1) ;i++) { (2) ; printf(“%c”,c[j];) (2)j=i+7]
A)34 B)4 C)35 D)3 15.下面程序段的输出结果是( ) 。[A] int n=4; while (n――) printf(“%2d”, ――n); A) 2 0 B)31 C)3 2 1 D)2 1 0 16.下面程序段的输出结果是( ) 。[C] int x=3; do { printf(“%3d”, x-=2); } while (! (――x)); A)1 B)30 C)1 -2 D)死循环 17.以下 for 循环的执行次数是( ) 。[C] for (x=0,y=0;(y=123)&&(x<4);x++); A)是无限循环 B)循环次数不定 C)执行 4 次 D)执行 3 次 18.若有说明:int a[5][6]; 则对 a 数组元素的正确引用是( ) 。[C] A)a[2][6] B)a[4,5] C)a[1+3][0] D)a(1)(5) 19.判断字符串 s1 是否大于字符串 s2,应当使用( ) 。[D] A)if ( s1>s2) B)if (strcmp ( s1,s2)) C)if ( strcmp( s2, s1)>0) D)if ( strcmp( s1,s2 )>0) 二、填空题(本大题共 15 小题) 1.设 a=10,则赋值表达式 a+=a-=a*a 的值是 。 [-180] 2.设 a=3,b=4,c=5。则逻辑表达式 a||b+c&&b-c 的值是 。[1] 3.若已知定义 a =10, b=20, 则表达式 ! a<b 的值为 。[1] 4.若有定义 int a [3][4]={{1,2}, {0},{ 4,6,78,10}}; 则初始化后 a[1][2]得到的初值 是 。[0] 5.若有定义 int a [3][4]={{1,2}, {0},{ 4,6,78,10}}; 则初始化后 a[2][1]得到的初值 是 。[6] 6.下面程序段的输出结果是 。 [**1** **3**] void main() { int x=1, y=0; switch ( x) { case 1: switch ( y ) { case 0: printf(“**1**\n”); break; case 1: printf(“**2**\n”); break; } case 2: printf(“**3**\n”); } }
相关文档
最新文档