PTA 浙大版《C语言程序设计(第4版)》题目集 参考答案(编程题)
目录
- PTA 浙大版《C语言程序设计(第4版)》题目集 参考答案(编程题)
- 本答案配套详解教程专栏
- 练习2-1 Programming in C is fun! (5 分)
- 练习2-3 输出倒三角图案 (5 分)
- 练习2-4 温度转换 (5 分)
- 练习2-6 计算物体自由下落的距离 (5 分)
- 练习2-8 计算摄氏温度 (10 分)
- 练习2-9 整数四则运算 (10 分)
- 练习2-10 计算分段函数[1] (10 分)
- 练习2-11 计算分段函数[2] (10 分)
- 练习2-12 输出华氏-摄氏温度转换表 (15 分)
- 练习2-13 求N分之一序列前N项和 (15 分)
- 练习2-14 求奇数分之一序列前N项和 (15 分)
- 练习2-15 求简单交错序列前N项和 (15 分)
- 练习2-17 生成3的乘方表 (15 分)
- 练习2-18 求组合数 (15 分)
- 习题2-1 求整数均值 (10 分)
- 习题2-2 阶梯电价 (15 分)
- 习题2-3 求平方与倒数序列的部分和 (15 分)
- 习题2-4 求交错序列前N项和 (15 分)
- 习题2-5 求平方根序列前N项和 (15 分)
- 习题2-6 求阶乘序列前N项和 (15 分)
- 练习3-2 计算符号函数的值 (10 分)
- 练习3-3 统计学生平均成绩与及格人数 (15 分)
- 练习3-4 统计字符 (15 分)
- 练习3-5 输出闰年 (15 分)
- 练习3-7 成绩转换 (15 分)
- 练习3-8 查询水果价格 (15 分)
- 习题3-1 比较大小 (10 分)
- 习题3-2 高速公路超速处罚 (15 分)
- 习题3-3 出租车计价 (15 分)
- 习题3-4 统计学生成绩 (15 分)
- 习题3-5 三角形判断 (15 分)
- 练习4-3 求给定精度的简单交错序列部分和 (15 分)
- 练习4-6 猜数字游戏 (15 分)
- 练习4-7 求e的近似值 (15 分)
- 练习4-10 找出最小值 (20 分)
- 练习4-11 统计素数并求和 (20 分)
- 习题4-1 求奇数和 (15 分)
- 习题4-2 求幂级数展开的部分和 (20 分)
- 习题4-3 求分数序列前N项和 (15 分)
- 习题4-4 特殊a串数列求和 (20 分)
- 习题4-5 换硬币 (20 分)
- 习题4-6 水仙花数 (20 分)
- 习题4-7 最大公约数和最小公倍数 (15 分)
- 习题4-8 高空坠球 (20 分)
- 习题4-9 打印菱形图案 (15 分)
- 习题4-10 猴子吃桃问题 (15 分)
- 习题4-11 兔子繁衍问题 (15 分)
- 练习6-3 英文字母替换加密(大小写转换+后移1位) (15 分)
- 习题6-7 简单计算器 (20 分)
- 习题6-8 单词首字母大写 (15 分)
- 练习7-2 求最大值及其下标 (20 分)
- 练习7-3 将数组中的数逆序存放 (20 分)
- 练习7-4 找出不是两个数组共有的元素 (20 分)
- 练习7-7 矩阵运算 (20 分)
- 练习7-8 方阵循环右移 (20 分)
- 练习7-9 计算天数 (15 分)
- 练习7-10 查找指定字符 (15 分)
- 练习7-11 字符串逆序 (15 分)
- 习题7-1 选择法排序 (20 分)
- 习题7-2 求一批整数中出现最多的个位数字 (20 分)
- 习题7-3 判断上三角矩阵 (15 分)
- 习题7-4 求矩阵各行元素之和 (15 分)
- 习题7-5 找鞍点 (20 分)
- 习题7-6 统计大写辅音字母 (15 分)
- 习题7-7 字符串替换 (15 分)
- 习题7-8 字符串转换成十进制整数 (15 分)
- 习题8-7 字符串排序 (20 分)
- 习题8-10 输出学生成绩 (20 分)
- 习题9-1 时间换算 (15 分)
- 习题9-3 平面向量加法 (15 分)
- 习题9-4 查找书籍 (20 分)
- 习题9-5 通讯录排序 (20 分)
PTA 浙大版《C语言程序设计(第4版)》题目集 参考答案(编程题)
本答案配套详解教程专栏
😀😀 欢 迎 订 阅😀😀
(图片来源网络,侵删)PTA浙大版《C语言程序设计(第4版)》题目集 详解教程
练习2-1 Programming in C is fun! (5 分)
#include int main(){ printf("Programming in C is fun!"); return 0; }
练习2-3 输出倒三角图案 (5 分)
#include int main(){ printf("* * * *\n"); printf(" * * *\n"); printf(" * *\n"); printf(" *\n"); return 0; }
练习2-4 温度转换 (5 分)
#include int main(){ int C,F=150; C=5*(F-32)/9; printf("fahr = 150, celsius = %d",C); return 0; }
练习2-6 计算物体自由下落的距离 (5 分)
#include int main(){ float h,t = 3,g = 10; h = 0.5*g*t*t; printf("height = %.2f",h); return 0; }
练习2-8 计算摄氏温度 (10 分)
#include int main(void){ int C,F; scanf("%d",&F); C=5*(F-32)/9; printf("Celsius = %d",C); return 0; }
练习2-9 整数四则运算 (10 分)
#include int main(){ int m,n; scanf("%d %d",&m,&n); printf("%d + %d = %d\n",m,n,m+n); printf("%d - %d = %d\n",m,n,m-n); printf("%d * %d = %d\n",m,n,m*n); printf("%d / %d = %d",m,n,m/n); return 0; }
练习2-10 计算分段函数[1] (10 分)
#include int main(){ float x,result; scanf("%f",&x); if(x!=0){ result=1/x; }else { result=0; } printf("f(%.1f) = %.1f",x,result); return 0; }
练习2-11 计算分段函数[2] (10 分)
#include #include int main(){ float x, y; scanf("%f", &x); if(x>=0)y=sqrt(x); else y=pow(x+1,2)+2*x+1/x; printf("f(%.2f) = %.2f", x,y); return 0; }
练习2-12 输出华氏-摄氏温度转换表 (15 分)
for循环版本
#include int main(){ int lower,upper,F; float C; scanf("%d %d",&lower,&upper); F=lower; if(lower printf("fahr celsius\n"); C=5.0*(F*1.0-32)/9.0; printf("%d%6.1f",F,C);//占据6个字符宽度,靠右对齐,保留1位小数 for(F=lower+2;F C=5.0*(F*1.0-32)/9.0; printf("\n%d%6.1f",F,C);//保证结尾无空行 } }else printf("Invalid."); return 0; } int lower,upper,F; float C; scanf("%d %d",&lower,&upper); F=lower; if(lower printf("fahr celsius\n"); C=5.0*(F*1.0-32)/9.0; printf("%d%6.1f",F,C);//占据6个字符宽度,靠右对齐,保留1位小数 while((F+=2) C=5.0*(F*1.0-32)/9.0; printf("\n%d%6.1f",F,C);//保证结尾无空行 } }else printf("Invalid."); return 0; } int lower,upper,F; float C; scanf("%d %d",&lower,&upper); F=lower; if(lower printf("fahr celsius\n"); do{ C=5.0*(F*1.0-32)/9.0; printf("%d%6.1f\n",F,C);//占据6个字符宽度,靠右对齐,保留1位小数 }while((F+=2) double sum=0; int n,i; scanf("%d",&n); for(i=1;i sum=sum+1.0/i; } printf("sum = %.6f\n",sum); return 0; } double sum=0; int n,i; scanf("%d",&n); for(i=1;i sum=sum+1.0/(2*i-1); } printf("sum = %.6lf\n",sum); return 0; } double sum=0; int i,n,flag=1; scanf("%d",&n); for(i=1;i sum+=1.0/(3*i-2)*(flag); flag*=-1; } printf("sum = %.3lf",sum); return 0; } int i,n; scanf("%d",&n); for(i=0;i printf("pow(3,%d) = %.0f\n",i,pow(3,i)); } return 0; } double fact=1; for(int i=1;i fact*=i; } return fact; } int main(){ double result; double m,n; scanf("%lf %lf",&m,&n); result = fact(n)/(fact(m)*fact(n-m)); printf("result = %.0f",result); return 0; } int a,b,c,d,sum; float average; scanf("%d %d %d %d",&a,&b,&c,&d); sum=a+b+c+d; average=sum/4.0; printf("Sum = %d; Average = %.1f",sum,average); return 0; } int n; double cost; scanf("%d",&n); if(n printf("Invalid Value!"); return 0; } else if(n int m,n; double sum=0; scanf("%d %d",&m,&n); for(int i=m;i double i,item,sum=0; int n,flag=1; scanf("%d",&n); for(i=1;i item=flag*i/(2*i-1); sum+=item; flag*=-1; } printf("%.3f",sum); return 0; } int n,i; double sum=0,item; scanf("%d",&n); for(i=1;i item=sqrt(i); sum+=item; } printf("sum = %.2f",sum); return 0; } int n,sum=0,i,j=1; scanf("%d",&n); for(i=1;i j*=i; sum+=j; } printf("%d",sum); } int n,sign; scanf("%d",&n); if(n int i,N,score,count=0; double sum=0,average; scanf("%d",&N); if(N==0){ printf("average = 0.0\n"); printf("count = 0"); }else{ for(i=1;i scanf("%d",&score); sum=sum+score; if(score=60)count++; } average=sum/N; printf("average = %.1f\n",average); printf("count = %d",count); } return 0; } int i,letter = 0, blank = 0, digit = 0, other = 0; char ch; for(i=0;i ch=getchar(); if((ch='a'&&ch int i,j=0,year; scanf("%d",&year); if(year for(i=2001;i if((i%4==0&&i%100!=0)||(i%400==0)){ printf("%d\n",i); j=1; } } if(j==0)printf("None"); } return 0; } int x; scanf("%d",&x); switch(x/10){ case 10:printf("A");break; case 9:printf("A"); break; case 8:printf("B"); break; case 7:printf("C"); break; case 6:printf("D"); break; default:printf("E"); } return 0; } int i,a; printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n"); for(i=1;i scanf("%d",&a); if(a==0)break; switch(a){ case 1:printf("price = 3.00\n");break; case 2:printf("price = 2.50\n");break; case 3:printf("price = 4.10\n");break; case 4:printf("price = 10.20\n");break; default:printf("price = 0.00\n"); } } return 0; } int x,y,z,t; scanf("%d %d %d",&x,&y,&z); if(xy){t=y;y=x;x=t;} if(xz){t=z;z=x;x=t;} if(yz){t=z;z=y;y=t;} printf("%d-%d-%d\n",x,y,z); return 0; } int v,limit; double exceed; scanf("%d %d",&v,&limit); exceed=(v-limit)*100.0/limit; if(exceed=50)printf("Exceed %.f%%. License Revoked",exceed); else if(exceed=10)printf("Exceed %.f%%. Ticket 200",exceed); else printf("OK"); return 0; } double mileage; int time,pay; scanf("%lf %d",&mileage,&time); if(mileage int n,i,grade,a=0,b=0,c=0,d=0,e=0; scanf("%d",&n); for(i=1;i scanf("%d",&grade); switch (grade/10){ case 10: case 9:a++;break; case 8:b++;break; case 7:c++;break; case 6:d++;break; default:e++;break; } } printf("%d %d %d %d %d",a,b,c,d,e); return 0; } double x1,y1,x2,y2,x3,y3,p,s; double j,k,l; scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3); j=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); k=sqrt(pow(x2-x3,2)+pow(y2-y3,2)); l=sqrt(pow(x1-x3,2)+pow(y1-y3,2)); if(j+kl&&k+lj&&j+lk){ p=(j+k+l)/2; s=sqrt(p*(p-j)*(p-k)*(p-l));//海伦公式 printf("L = %.2lf, A = %.2lf",p*2,s); } else printf("Impossible"); return 0; } double sum=0,eps,item; int n=1,flag=1; scanf("%lf",&eps); do{ item=1.0/(3*n-2); sum+=flag*item; flag=-flag; n++; }while(itemeps); printf("sum = %f",sum); return 0; } int random,i=1,n,input; scanf("%d %d",&random,&n); scanf("%d",&input); while(i if(i==1&&input==random){ printf("Bingo!\n"); break; } if((i==2||i==3)&&input==random){ printf("Lucky You!\n"); break; } if(i3&&input==random){ printf("Good Guess!\n"); break; } if(inputrandom) printf("Too big\n"); if(input int random,n,i,a; scanf("%d %d",&random,&n); for(i=1;i scanf("%d",&a); if(aprintf("Game Over\n");break;} if(a==random){ if(i==1){printf("Bingo!");break;} else if(iprintf("Lucky You!");break;} else if(iprintf("Good Guess!");break;} } if(arandom)printf("Too big\n"); if(a double e=1,fact=1; int n; scanf("%d",&n); for(int i=1;i fact*=i; e+=1/fact; } printf("%.8lf",e); return 0; } int min,n,temp; scanf("%d",&n); scanf("%d",&min); for(int i=1;i scanf("%d",&temp); if(temp int M,N,count=0,sum=0,i,j; scanf("%d %d",&M,&N); for(i=M;i for(j=2;j count++; sum+=i; } } printf("%d %d",count,sum); return 0; } int num,sum=0; do{ scanf("%d",&num); if(num0&&num%2==1)sum+=num; }while(num0); printf("%d",sum); return 0; } double x,sum=1,item = 1.0,n = 1.0; scanf("%lf",&x); while(item=eps){ item *= x/n; sum+=item; n++; } printf("%.4f",sum); return 0; } int n,i; double a=2,b=1,temp,sum=0; scanf("%d", &n); for(i=1;i sum+=a/b; temp=a; a+=b; b=temp; } printf("%.2f",sum); return 0; } int a,n,i,item=0,sum=0; scanf("%d %d",&a,&n); for(i=1;i item=item*10+a; sum+=item; } printf("s = %d",sum); return 0; } int count=0,i,j,k; double x; if(scanf("%lf",&x)==1); for(i=x/5;i=1;i--){ for(j=(x-5*i)/2;j=1;j--){ for(k=x-5*i-2*j;k=1;k--){ if(5*i+2*j+k==x){ printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",i,j,k,i+j+k); count++; } } } } printf("count = %d",count); return 0; } int N, i,j,temp,remainder,Npower, sum; scanf("%d", &N); for (i = ipow(10, N - 1); i
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。