PTA|浙大版《C语言程序设计(第4版)》题目集
目录
1.Programming in C is fun!
2.输出倒三角图案
3.温度转换
4.计算物体自由下落的距离
5.计算摄氏温度
6.整数四则运算
7.计算分段函数[1]
8.计算分段函数[2]
9.输出华氏-摄氏温度转换表
10.输出华氏-摄氏温度转换表
11.求N分之一序列前N项和
12.求奇数分之一序列前N项和
13.求简单交错序列前N项和
14.生成3的乘方表
15.求组合数
16.求整数均值
17.阶梯电价
18.求平方与倒数序列的部分和
19.求交错序列前N项和
20.求平方根序列前N项和
21.求阶乘序列前N项和
22.计算符号函数的值
23.统计学生平均成绩与及格人数
24.统计字符
25.输出闰年
26. 成绩转换
27.查询水果价格
28.比较大小
1.Programming in C is fun!

#include<stdio.h>
int main(void)
{
printf("Programming in C is fun!");
return 0;
}
2.输出倒三角图案

#include<stdio.h>
int main(void)
{
printf("* * * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" *\n");
return 0;
}
3.温度转换

#include <stdio.h>
int main(void) {
int f ;
int c;
f= 150;
c=5 * (f - 32 ) / 9 ;
printf("fahr = %d, celsius = %d",f,c);
return 0;
}
4.计算物体自由下落的距离

#include<stdio.h>
int main (void)
{
int t;
double height;
t=3;
height=0.5*10*t*t;
printf("height = %.2lf",height);
return 0;
}
5.计算摄氏温度

#include<stdio.h>
int main (void)
{
int farh,Celsius;
scanf("%d",&farh );
Celsius=5*(farh-32)/9;
printf("Celsius = %d",Celsius);
return 0;
}
6.整数四则运算

#include<stdio.h>
int main(void)
{
int A,B;
char op1,op2,op3,op4;
op1='+';
op2='-';
op3='*';
op4='/';
scanf("%d %d",&A,&B);
printf("%d %c %d = %d\n",A,op1,B,A+B);
printf("%d %c %d = %d\n",A,op2,B,A-B);
printf("%d %c %d = %d\n",A,op3,B,A*B);
if (B!=0){
printf("%d %c %d = %d\n",A,op4,B,A/B);
}
else{
printf("Division by zero is not allowed.\n");
}
return 0;
}
7. 计算分段函数[1]
本题目要求计算下列分段函数f(x)的值:

#include<stdio.h>
int main(void)
{
double x;
scanf("%lf",&x);
if(x==0){
printf("f(%.1lf) = 0.0",x);
}
else{
printf("f(%.1lf) = %.1lf",x,1.0/x);
}
return 0;
}
8. 计算分段函数[2]

#include<stdio.h>
#include<math.h>
int main(void)
{
double x;
double i;
double n;
i=0.00;
n=0.00;
scanf("%lf",&x);
i=sqrt(x);
n=1.0/x+2.0*x+pow(x+1,2);
if(x>=0){
printf("f(%.2lf) = %.2lf",x,i);
}
else{
printf("f(%.2lf) = %.2lf",x,n);
}
return 0;
}
9.输出华氏-摄氏温度转换表

#include<stdio.h>
int main(void)
{
int fahr,lower,upper;
double celsius;
scanf("%d %d\n",&lower,&upper);
if(lower>=0&&lower<=upper&&upper<=100){
printf("fahr celsius\n");
for(fahr=lower;fahr<=upper;fahr=fahr+2){
celsius=(5.0/9.0)*(fahr-32);
printf("%d%6.1lf\n",fahr,celsius);
}
}
else{
printf("Invalid.\n");
}
return 0;
}
10.求N分之一序列前N项和

#include<stdio.h>
int main (void)
{
int N;
double i;
double sum;
sum=0.0;
scanf("%d",&N);
for(i=1;i<=N;i++){
sum=sum+1.0/i;
}
printf("sum = %.6lf",sum);
return 0;
}
11.求奇数分之一序列前N项和

#include<stdio.h>
int main (void)
{
int N;
double i,sum;
sum=0;
scanf("%d",&N);
for(i=1;i<=2*N-1;i=i+2){
sum=sum+1.0/i;}
printf("sum = %.6lf",sum);
return 0;
}
12.求简单交错序列前N项和

#include<stdio.h>
int main(void)
{
int n,i,flag;
double sum,z;
flag=-1;
scanf("%d",&n);
for(i=1;i<=3*n-2;i=i+3){
flag=-flag;
z=1.0/i*(flag);
sum=sum+z;
}
printf("sum = %.3lf",sum);
return 0;
}
13.求简单交错序列前N项和

#include<stdio.h>
int main(void)
{
int n,i,flag;
double sum,z;
flag=-1;
scanf("%d",&n);
for(i=1;i<=3*n-2;i=i+3){
flag=-flag;
z=1.0/i*(flag);
sum=sum+z;
}
printf("sum = %.3lf",sum);
return 0;
}
14.生成3的乘方表

#include<stdio.h>
#include<math.h>
int main(void)
{
int n,i,power;
scanf("%d",&n);
for(i=0;i<=n;i++){
power=pow(3,i);
printf("pow(3,%d) = %d\n",i,power);
}
return 0;
}
15.求组合数

#include<stdio.h>
double fact(int n);
int main(void)
{
int n,i,j,m;
double result,s;
scanf("%d %d",&m,&n);
result=fact(n)/(fact(m)*fact(n-m));
printf("result = %.0lf",result);
return 0;
}
double fact(int n){
double fact=1;
int i;
for(i=1;i<=n;i++){
fact=fact*i;
}
return fact;
}
16.求整数均值

#include<stdio.h>
int main(void)
{
int m,n,z,j,Sum;
double Average;
scanf("%d %d %d %d",&m,&n,&z,&j);
Sum=m+n+z+j;
Average=1.0*Sum/4;
printf("Sum = %d; Average = %.1lf",Sum,Average);
return 0;
}
17.阶梯电价

#include<stdio.h>
int main(void)
{
int x;
double cost;
scanf("%d",&x);
if(x<0){
printf("Invalid Value!");
}
else if(x>=0&&x<=50){
cost=0.53*x;
printf("cost = %.2lf",cost);
}
else {
cost=(x-50)*0.58+26.5;
printf("cost = %.2lf",cost);
}
return 0;
}
18.求平方与倒数序列的部分和

#include<stdio.h>
int main(void){
int n,m,i;
double sum;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++){
sum=sum+i*i+1.0/i;
}
printf("sum = %.6lf",sum);
return 0;
}
19.求交错序列前N项和

#include<stdio.h>
int main(void)
{
int n,i,flag;
double sum;
flag=-1;
scanf("%d",&n);
for(i=1;i<=n;i++){
flag=-flag;
sum=flag*i/(2.0*i-1.0)+sum;
}
printf("%.3lf",sum);
return 0;
}
20.求平方根序列前N项和

#include<stdio.h>
#include<math.h>
int main(void)
{
int n,i;
double sum;
sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum=sum+sqrt(i);
}
printf("sum = %.2lf",sum);
return 0;
}
21.求阶乘序列前N项和

#include<stdio.h>
int main(void)
{
int n,i,p;
int sum;
sum=0;
p=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
p=p*i;
sum=sum+p;
}
printf("%d",sum);
return 0;
}
22.计算符号函数的值

#include<stdio.h>
int main(void)
{
int n;
scanf("%d",&n);
if(n<0){
printf("sign(%d) = -1",n);
}else if(n==0){
printf("sign(%d) = 0",n);
}else{
printf("sign(%d) = 1",n);
}
return 0;
}
23.统计学生平均成绩与及格人数

#include<stdio.h>
int main(void)
{
int n,count,i,a;
double average,sum;
count=0;
average=0.0;
sum=0;
scanf("%d",&n);
if(n==0){
printf("average = 0.0\n");
printf("count = 0\n");
}
else{
for(i=1;i<=n;i++){
scanf("%d",&a);
sum=sum+a;
if(a>=60){
count++;
}
}
average=sum/n*1.0;
printf("average = %.1lf\n",average);
printf("count = %d\n",count);
}
return 0;
}
24.统计字符

#include<stdio.h>
#include<math.h>
int main(void)
{
int digit,i,letter,other,blank;
char ch;
digit=letter=blank=other=0;
for(i=1;i<=10;i++){
ch=getchar();
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')){
letter++;
}else if(ch>='0'&&ch<='9'){
digit++;
}else if((ch==' ')||(ch=='\n')){
blank++;
}else{
other++;
}
}
printf("letter = %d, blank = %d, digit = %d, other = %d\n",letter,blank,digit,other);
return 0;
}
25.输出闰年

#include<stdio.h>
int main()
{
int n,i,x;
scanf("%d",&n);
if(n<=2000||n>2100){
printf("Invalid year!\n");
}else{
x=0;
for(i=2001;i<=n;i++){
if((i%400==0)||(i%4==0&&i%100!=0)){
printf("%d\n",i);
x=1;
}
}if(x==0){
printf("None\n");
}
}
return 0;
}
26.成绩转换

#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a>=90){
printf("A");
}else if(a<90&&a>=80){
printf("B");
}else if(a<80&&a>=70){
printf("C");
}else if(a<70&&a>=60){
printf("D");
}else{
printf("E");
}
return 0;
}
27.查询水果价格


#include<stdio.h>
int main(void){
int n,i;
printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
for(i=1;i<=5;i++){
scanf("%d",&n);
if(n==0) break;
switch(n){
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");break;
}
}
return 0;
}
28.比较大小

#include<stdio.h>
int main(void){
int x,y,z,t;
scanf("%d %d %d",&x,&y,&z);
if(x>y){t=y;y=x;x=t;}
if(x>z){t=z;z=x;x=t;}
if(y>z){t=z;z=y;y=t;}
printf("%d->%d->%d\n",x,y,z);
return 0;
}
这篇文章提供了一系列C语言编程练习题目,涉及基础输出、数学运算(温度转换、序列求和等)、逻辑判断(比较、统计等)、实际生活应用(阶梯电价)以及字符处理,适合学习者提升C语言实践能力。
》题目集 编程题&spm=1001.2101.3001.5002&articleId=135608325&d=1&t=3&u=0933624076bb4788b550b47a7f3293ee)
3243

被折叠的 条评论
为什么被折叠?



