C语言PTA平台习题与答案
pta选择题(共112题应化C语言老师提供)

1. C 语言程序中可以对程序进行注释,注释部分必须用什么符号括起来?(2分)A.'{' 和‘}'B.'[' 和']'C.'/*' 和'*/'D.'*/' 和'/*'2.o作者:往年试卷o单位:浙江大学下列运算符中,优先级最低的是____。
(2分)B.*C.!=D.+E.=3.o作者:往年试卷o单位:浙江大学若变量已正确定义,表达式 (j=3, j++) 的值是____。
(2分)B. 3C. 4D. 5E. 64.o作者:往年试卷o单位:浙江大学98, b语法不合法98, 9998, cB.正数C.负数D.0E.不确定的数6.o作者:往年试卷o单位:浙江大学数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素____的值为6。
(2分)B.a[3][2]C.a[2][1]D.a[1][2]E.a[2][3]7.o作者:往年试卷o单位:浙江大学要调用数学函数时,在#include命令行中应包含____。
(2分)B."stdio.h"C."string.h"D."math.h"E."ctype.h"8.o作者:往年试卷o单位:浙江大学判断i 和j 至少有一个值为非0的表达式是____。
(2分)B.i!=0 && j!=0C.i+j!=0D.i || jE.i&&j9.o作者:往年试卷o单位:浙江大学若a是基本整型变量,c是单精度实型变量,输入语句____是错误的。
(2分)B.scanf("%d,%f”, &a, &c);C.scanf("d=%d, c=%f”, &a, &c);D.scanf("%d%f”, &a, &c);E.scanf("%d%f”, a, c);10.o作者:往年试卷o单位:浙江大学下列运算符中优先级最低的是__. (2分)B.IIC.>=D.!=E.~11.o作者:往年试卷o单位:浙江大学若变量已正确定义并赋值,符合C语言语法的表达式是 __. (2分)B.a=2++C.a=3,5D.a=a+1=3E.12.3%412.o作者:往年试卷o单位:浙江大学表达式__不能用于判断“x和y不同时为零”。
C语言PTA平台习题与答案

第二章作业1①.本题要求编写程序,输出一个短句“Welcome to You!”#include<stdio.h>int main(){printf("Welcome to You!\n");return 0;}②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。
计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
fahr = 100, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){int fahr = 100;int celsius = 5*(fahr-32)/9;printf("fahr = 100,celsius = %d\n",celsius);return 0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。
题目保证输入与输出均在整型范围内。
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#include<stdio.h>int main(){int a,b,c,d,Sum;double Average;scanf("%d %d %d %d",&a,&b,&c,&d);Sum = a + b + c + d;Average = (a + b + c + d)/4.0;printf("Sum = %d,Average = %.1f\n",Sum,Average);return 0;}②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。
在4行中按照格式“A 运算符B = 结果”顺序输出和、差、积、商。
c语言试题及详细答案

c语言试题及详细答案1. 以下哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. 在C语言中,哪个运算符用于计算两个整数的和?A. +B. -C. *D. /答案:A3. 下面哪个选项是C语言中正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释 */答案:B4. 在C语言中,以下哪个选项表示的是浮点型变量?A. int a;B. float a;C. char a;D. double a;答案:B5. 以下哪个函数用于输出字符串?A. printf()B. scanf()C. puts()D. getchar()答案:C6. 在C语言中,以下哪个选项表示的是字符型变量?A. int a;B. char a;C. float a;D. double a;答案:B7. 在C语言中,以下哪个选项是正确的函数定义?A. int function() { return 0; }B. int function() { }C. int function() { return 0; }D. int function() { return 1; }答案:C8. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0) { ... }B. if (x > 0) ... }C. if (x > 0) { ... }D. if (x > 0) ... }答案:A10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { ... }B. for (int i = 0; i < 10; i++) ... }C. for (int i = 0; i < 10; i++) { ... }D. for (int i = 0; i < 10; i++) ... }答案:A。
PTA程序设计答案

double m=1;
if(n==0)
return m;
else{
for(i=1; i<=n; i++)
m = m*i;
return m;
}
}
double factsum( int n ){
int j;
double sum=0;
if(n>0)
for(j=1; j<=n; j++)
sum += fact(j);
else{
t=n;
dectobin(n=n/2);
for(i=n-m-1; i>=0; i--)
a[i+m]=a[i];
for(i=0; i<m; i++)
a[i]=s[i];
}
return 0;
}
4-54 删除字符 (20分)
答案:
void delchar( char *str, char c ){
int i=0, j=0;
for (;str[i]!='\0';i++)
space = n - i;
for(j=0; j < space; j++)
printf(" ");
for(j=0; j < i; j++)
printf("%-2d", i);
printf("\n");
}
}
4-45 判断奇偶性 (10分)
答案:
int even( int n ){
if( n%2==0 )
if(count%2!=0) {
PTA程序设计答案

PTA所有答案工业gc1601学习小组一、判断题二、选择题三、函数题4-3 求m到n之和 (10分)答案:int sum(int m, int n){int s=0,i;for(i=m;i<=n;i++)s+=i;return s;}4-34 简单输出整数 (10分)答案:void PrintN ( int N ){int i;for(i=1;i<=N;i++)printf("%d\n",i); }4-36 简单求和 (10分)答案:int Sum ( int List[], int N ){ int i,s=0;for(i=0;i<N;i++)s+=List[i];return s;}4-40 简单阶乘计算 (10分)答案:int Factorial( const int N ){ int i, s=1;if( N < 0 )return 0;else if( N == 0)return 1;else {for(i=1; i<=N; i++)s*=i;return s;}}4-43 找两个数中最大者 (10分)答案:int max( int a, int b ){ int max;if(a >= b)max = a;elsemax = b;return max;}4-44 数字金字塔 (15分)答案:void pyramid(int n){int i, j, space;for(i=1; i <= n; i++){space = n - i;for(j=0; j < space; j++)printf(" ");for(j=0; j < i; j++)printf("%-2d", i);printf("\n");}}4-45 判断奇偶性 (10分)答案:int even( int n ){if( n%2==0 )return 1;elsereturn 0;}4-46 使用函数求奇数和 (15分)答案:int even( int n ){if( n%2==0 )return 1;elsereturn 0;}int OddSum( int List[], int N ){int i;int oddsum = 0;for(i=0; i<N; i++)if(even(List[i])==0)oddsum += List[i];return oddsum;}4-47 使用函数计算两点间的距离 (10分)答案:double dist(double x1, double y1, double x2, double y2){ double d;d = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));return d;}4-48 使用函数求素数和 (20分)答案:int prime( int p ){int i,j,count =0;for(j=2;j<p;j++)if(p%j==0)4-20 使用函数输出水仙花数 (20分)答案:int narcissistic(int number){int i, j, digit, power, powerSum, integer, count, flag; count = 0;integer = number;while (integer > 0){integer = integer / 10;count++;}4-21 使用函数求余弦函数的近似值 (15分)答案:double funcos( double e, double x ) { double sum=0,d=100;int i=0,j;double cj;int count=0;while(d>e){count++;if(count%2!=0) {cj=1;for(j=1; j<=i; j++)cj=cj*j;d=pow(x,i)/cj;4-49 分类统计字符个数 (15分)答案:void StringCount( char s[] ){int i;int n1 = 0, n2 = 0, n3 = 0, n4 = 0;for (i = 0; s[i] != '\0'; i++){if ((s[i] >= 'a'&&s[i] <= 'z') || (s[i] >= 'A'&&s[i] <= 'Z')) n1++;else if (s[i] == ' ' ||s[i] == '\n')n2++;else if (s[i] >= '0'&&s[i] <= '9')n3++;else n4++;}printf("letter = %d, blank = %d, digit = %d, other = %d",n1,n2,n3,n4);}4-7 使用函数求特殊a串数列和 (20分)答案:int fn( int a, int n ){int x,p=0,i;for(i=0; i<n; i++){x= a * pow(10,i);p = p + x;}return p;}int SumA( int a, int n ){int k;int sum=0;for(k=0; k<n+1; k++)sum = sum + fn( a , k );return sum;}4-22 使用函数输出指定围的完数 (20分)。
PTA程序设计答案

PTA所有答案工业gc1601学习小组-、判断题1-Z6在if®包的三种形式中,如果要履在满足条件8城fiF侈个)语旬r则©须把谊T§语勺用。
括超事俎成Y■宾合语包(1分)* T ■ )F1-J1continue不篷鋁束玄次循环r而昱缰止整4确环的执行.(1分)QT «F1-46在对敎组全部元離赋初值时,不可以邕嗚行数,但龍皆略列数.门分)T ・F1-35函蓼的实診诗谨形蓼有两种方式:值传谨和地址传佩(1斜鼻T OF1-16彳钢表达式语勻都是表达式加分号追咸的u (1分)i*.'T '. 'F1-^7在Mit匚h语句中r每一躍童量袤达式的值可以指同.(1分)©T rFdo-whilegi?;的whi俺后的分号可以營臨口分)©T辱F匚语言團数逅回类型的就认圭文类型是四icL (1分)T • F卜2门宪语句若妇没有匕世北.顺序向下执行口(1分)初T 0F1-3do-while循环至少蔓执拧一決8环语魚(1分〉• J F1-4数组是义中.観袒色•巨星用方1舌号括起来的童量表达式r不能甬風括寻.(1分〉期T OF1-5酿数形参的存诵亘元量动态分配的"门分)薊T CFM7表达弍语句和表达式没有什么K别“(1分iOT • F1-7囲数的实参可以是再重「畫重或恚达式■= Cl分)•I OF1-8如果画数宝义迢现在團数Si用之前,可収不必加函敎原型声關.门分)•T F1-9C:语言程序中可以有多个函数■但只能有f主画数• 0分)•T ©F1-10讹半匀是允许的•(1分)•T ■ F匚谨言餉三种循环不可以互殆最至(1分)0T • F1-12増1臧1运算片的前叢运算和后缥运算的表达式值是泪同叹(1分)QT • F1寸3函数返回值的类型是曰在走文題数时所播左的匯吗亜(1分)•T F1-14continue只能用于循环体中q (1分)« T Fr-33匣茅层循环中』一4^使嵌语包只向外跳一层。
c语言题库及答案详解

c语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。
为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。
1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。
- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。
- 答案:在C语言中,可以使用`int`关键字来声明整型变量。
以下是实现题目要求的代码。
```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。
- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。
```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。
PTA浙大版《C语言程序设计》编程题,练习2-1到习题2-6答案

PTA浙⼤版《C语⾔程序设计》编程题,练习2-1到习题2-6答案个⼈建议初学者还是把格式规范起来,⾃⼰读起来既⽅便⼜美观PTA对结果的格式要求很严格,答题的时候注意题⽬要求练习2-1 Programming in C is fun! (5 分)本题要求编写程序,输出⼀个短句“Programming in C is fun!”。
输⼊格式:本题⽬没有输⼊。
输出格式:在⼀⾏中输出短句“Programming in C is fun!”。
#include<stdio.h>//调⽤库int main(void){printf("Programming in C is fun!");//stdio.h库中的输出函数return0;//程序结束}练习2-3 输出倒三⾓图案 (5 分)本题要求编写程序,输出指定的由“*”组成的倒三⾓图案。
输⼊格式:本题⽬没有输⼊。
输出格式:按照下列格式输出由“*”组成的倒三⾓图案。
#include<stdio.h>int main(void){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *");return0;}练习2-4 温度转换 (5 分)本题要求编写程序,计算华⽒温度150°F对应的摄⽒温度。
计算公式:C=5×(F−32)/9,式中:C表⽰摄⽒温度,F表⽰华⽒温度,输出数据要求为整型。
输⼊格式:本题⽬没有输⼊。
输出格式:按照下列格式输出fahr = 150, celsius = 计算所得摄⽒温度的整数值#include<stdio.h>int main(){int fahr=150,celsius;//定义变量celsius=5*(fahr-32)/9;//赋值运算//这⾥要注意空格,少⼀个空格提交答案都会出错printf("fahr = 150, celsius = %d",celsius);//按题⽬要求输出return0;}练习2-6 计算物体⾃由下落的距离 (5 分)⼀个物体从100⽶的⾼空⾃由落下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章作业 1①.本题要求编写程序,输出一个短句“Welcome to You!”#include<stdio.h>int main(){printf("Welcome to You!\n");return 0;}②.本题要求编写程序,计算华氏温度100°F对应的摄氏温度。
计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。
fahr = 100, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){int fahr = 100;int celsius = 5*(fahr-32)/9;printf("fahr = 100,celsius = %d\n",celsius);return 0;}第二章作业2①求整数均值本题要求编写程序,计算4个整数的和与平均值。
题目保证输入与输出均在整型范围内。
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位#include<stdio.h>int main(){int a,b,c,d,Sum;double Average;scanf("%d %d %d %d",&a,&b,&c,&d);Sum = a + b + c + d;Average = (a + b + c + d)/4.0;printf("Sum = %d,Average = %.1f\n",Sum,Average);return 0;}②整数四则运算本题要求编写程序,计算2个正整数的和、差、积、商并输出。
题目保证输入和输出全部在整型范围内输入在一行中给出2个正整数A和B。
在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。
#include<stdio.h>int main(){int a;int b;scanf("%d %d",&a,&b);printf("%d + %d = %d\n",a,b,a+b);printf("%d - %d = %d\n",a,b,a-b);printf("%d * %d = %d\n",a,b,a*b);printf("%d / %d = %d",a,b,a/b);return 0;}③整数152的各位数字本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值152 = 个位数字+ 十位数字*10 + 百位数字*100#include<stdio.h>int main(){int a=152/100;int c=152%10;int count=152%100;int b=count/10;printf("152 = %d + %d*10 + %d*100",c,b,a);return 0;}第二章作业3①求奇数分之一序列前N项和计算序列1 + 1/3 + 1/5 + ... 的前N项之和输入在一行中给出一个正整数N。
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。
题目保证计算结果不超过双精度范围#include<stdio.h>int main(){int n;int i=1;double s = 0;scanf("%d",&n);for (i=1;i<=n;i++){s+=1.0/(2*i-1);}printf("sum = %.6f",s);return 0 ;}②计算序列1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。
题目保证计算结果不超过双精度范围#include<stdio.h>int main(){int fm=1,N,b=1;double item,sum=0,i;scanf("%d",&N);for(i=1.0;i<=N;i++){item=b*(i/fm);sum=sum+item;b=-b;fm=fm+2;}printf("%.3f\n",sum);return 0;}③求平方根序列前N项和计算平方根序列√1+√2+√3+⋯的前N项之和#include<stdio.h>#include<math.h>int main(){int n,i;double x,s=0;scanf("%d",&n);for(i=1;i<=n;i++){x = sqrt(i);s = s+x;}printf("sum = %.2f\n",s);return 0 ;}④特殊a串数列求和给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
#include<stdio.h>#include<math.h>int main(){int n,a,i,j;double num=0,sum=0;scanf("%d %d",&a,&n);for(i=1;i<=n;i++){for(j=1;j<=i;j++){num=num+a*pow(10,j-1);}sum=sum+num;num=0;}printf("s = %d",sum);return 0;}第二章作业4①本题目要求计算下列分段函数f(x)的值:输入在一行中给出实数x在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:10输出样例:1f(10.0) = 0.1输入样例2:234输出样例2:f(234.0) = 234.0#include<stdio.h>int main(){double x;scanf("%lf",&x);if(x==10){printf("f(%0.1f) = 0.1",x);}else {printf("f(%0.1f) = %0.1f",x,x);}return 0;}②计算分段函数本题目要求计算下列分段函数f(x)的值:注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。
#include<stdio.h>int main(){double a;scanf("%lf",&a);if(a>=0){printf("f(%0.2f) = %0.2f",a,sqrt(a));}else {printf("f(%0.2f) = %0.2f",a,(a+1)*(a+1)+2*a+1/a);}return 0;}③新胖子公式输入在一行中给出两个正数,依次为一个人的体重(以kg 为单位)和身高(以m 为单位),其间以空格分隔。
其中体重不超过1000 kg,身高不超过 3.0 m。
首先输出将该人的体重和身高代入肥胖公式的计算结果,保留小数点后 1 位。
如果这个数值大于25,就在第二行输出 PANG,否则输出 Hai Xing。
#include<stdio.h>int main(){double a,b;scanf("%lf %lf",&a,&b);double c=a/(b*b);printf("%0.1f\n",c);if(c>25){printf("PANG");}else { printf("Hai Xing");}return 0;}第三章作业2①求奇数和输入在一行中给出一系列正整数,其间以空格分隔。
当读到零或负整数时,表示输入结束,该数字不要处理在一行中输出正整数序列中奇数的和。
8 7 4 3 70 5 6 101 -1116#include<stdio.h>int main(){int n=0;int sum=0;do{scanf("%d",&n);if(n%2==1) {sum+=n;}}while (n>0);printf("%d",sum);return 0;}②求整数的位数及各位数字之和输入在一行中给出一个不超过109的正整数N在一行中输出N的位数及其各位数字之和,中间用一个空格隔开3213 6#include<stdio.h>int main(){int n,h,i,sum=0;scanf("%d",&n);do{h=n%10;n/=10;sum+=h;i++;}while (n>0);printf("%d %d",i,sum);return 0;}③简单的猜数字游戏#include<stdio.h>int main(){int x;const int M=38;scanf ("%d",&x);if(x>38){printf("Too big!");}if(x==38){printf("Good Guess!");}if(x<38){printf("Too small!");}return 0;}第四章作业1①奇偶分家输入第一行给出一个正整N(≤1000);第2行给出N个非负整数,以空格分隔。
在一行中先后输出奇数的个数、偶数的个数。
中间以1个空格分隔。
988 74 101 26 15 0 34 22 773 6#include<stdio.h>int main(){int i,n,N;int a=0,b=0;scanf("%d",&n);for (i = 0;i < n;i++){scanf("%d",&N);if(N % 2==0){a++;}else{b++;}}printf("%d %d",b,a);}②A除以B定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error#include<stdio.h>int main(){int a,b;scanf("%d %d",&a,&b);if(b>0)printf("%d/%d=%.2f",a,b,a*1.0/b);else if(b<0)printf("%d/(%d)=%.2f",a,b,a*1.0/b);else printf("%d/%d=Error",a);return 0;}③高速公路超速处罚在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证输入在一行中给出2个正整数,分别对应车速和限速,其间以空格分隔。