浙大版《C语言程序设计(第3版)》题目集(编程题)

1.输出一个短句“Programming in C is fun!”。

#include<stdio.h>
int main(void){
    printf("Programming in C is fun!");
    return 0;
}

在这里插入图片描述

#include<stdio.h>
int main()
{
    int i,j;
    for( i=0; i<4; i++ )
    {
        for( j=0; j<i; j++)
            printf(" ");
        for( j=4-j; j>0; j-- )
            printf("* ");
        printf("\n");
    }
    return 0;
}

3.在这里插入图片描述

#include <stdio.h>

int main()
{
    int fahr,celsius;
    fahr = 150;
    celsius = 5 * (fahr - 32 ) / 9;
    printf("fahr = %d, celsius = %d",fahr,celsius);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    double height = 0.5*10*3*3;
    printf("height = %.2lf",height);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    int F,C;
    scanf("%d",&F);
    C = 5*(F-32)/9;
    printf("Celsius = %d",C);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    int A,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\n",A,B,A/B);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    float x,y;
    scanf("%f",&x);
    if(x != 0){
        y = 1/x;
    } else{
        y = 0;
    }
    printf("f(%.1f) = %.1f",x,y);
    return 0;
}

8.在这里插入图片描述

#include <stdio.h>
#include <math.h>

int main(){
    float x,y;
    scanf("%f",&x);//注意收到的是f!!!!!!!!!!!!!!
    if(x > 0 ||x == 0){
        y = pow(x,0.5);
    } else{
        y = pow(x+1,2) + 2*x+1/x;
    }
    printf("f(%.2f) = %.2f",x,y);
    return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
    int lower,upper;
    double celsius;
    scanf("%d %d",&lower,&upper);
    if(lower>upper || upper>100) printf("Invalid.");
    else
    {
        printf("fahr celsius\n");
        for(int i=lower;i<=upper;i=i+2)
        {
            celsius=5.0*(i-32)/9;
            printf("%d %5.1lf\n",i,celsius);
        }
    }
    return 0;
}

在这里插入图片描述

#include <stdio.h>
int main(){
    int a;
    float temp,sum = 0;
    scanf("%d",&a);
    for(int i = 1;i<=a;i++){//注意从1开始如果要使用i的话
        temp = 1.0/i;//1.0很重要
        sum+=temp;
    }
    printf("sum = %.6lf",sum);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    int a;
    double temp = 0,sum = 0;
    scanf("%d",&a);
    for(int i = 1;i<=a;i++){
        temp = 1.0/(2*i-1);
        sum+=temp;
    }
    printf("%.6f",sum);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    double sum = 0,temp,a = 1,b = 1;
    int n;
    scanf("%d",&n);
    for (int i = 0; i < n; i++) {
        temp = b*1.0/a;
        sum+=temp;
        a += 3;
        b = -b;

    }
    printf("%.6f",sum);
    return 0;
}

在这里插入图片描述

#include <stdio.h>
#include <math.h>
int main(){
    int a,b;
    scanf("%d",&a);
    for(int i = 0;i<=a;i++){
        b = pow(3,i);
        printf("pow(3,%d) = %d\n",i,b);
    }
    return 0;
}

#include <stdio.h>

double fact(int n);
double aa(int n);

int main(){
    int sum,a,b;
    scanf("%d %d",&a,&b);
    sum = aa(b)/ aa(a)/ aa(b-a);
    printf("%d",sum);
    return 0;
}

double fact(int n){
    if(n == 1||n == 0)
        return 1;
    else
        return n* fact(n-1);
}
double aa(int n){
    int sum = 1;
    for (int i = n; i > 0; i--) {
        sum*=i;
    }
    return sum;
}

15
在这里插入图片描述

# include <stdio.h>

int main(){
    int a,b,c,d;
    scanf("%d %d %d %d",&a,&b,&c,&d);
    printf("Sum = %d; Average = %.1lf",a+b+c+d,(a+b+c+d)/4.0);
    return 0;
}
# include <stdio.h>

int main(){
    int a[4],sum = 0;
    for(int i = 0;i<4;i++){
        scanf("%d",&a[i]);
        sum += a[i];
    }
    printf("Sum = %d; Average = %.1lf",sum,sum/4.0);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    int a;
    double cost;
    scanf("%d",&a);
    if(a<=50&&a>0){
        cost = 0.53*a;
        printf("cost = %.2lf",cost);
    } else if(a>50){
        cost = 50*0.53+(a-50)*0.58;
        printf("cost = %.2lf",cost);

    } else{
        printf("Invalid Value!");
    }
    return 0;

}

在这里插入图片描述

#include <stdio.h>
#include <math.h>

int main(){
    int a,b;
    double sum1 = 0,sum2 = 0;
    scanf("%d %d",&a,&b);
    for(int i = a;i<=b;i++){
        sum1+=pow(i,2);
        sum2+=1.0/i;
    }
    printf("sum = %.6f",sum1+sum2);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int main(){
    double sum,temp,a = 1;
    int n;
    scanf("%d",&n);
    for (int i = 1; i <= n; i++) {
        temp = a*i/(2*i-1);
        sum+=temp;
        a = -a;
    }
    printf("%.3f",sum);
    return 0;
}

在这里插入图片描述

#include <stdio.h>
#include <math.h>
int main(){
    double sum,temp;
    int n;
    scanf("%d",&n);
    for (int i = 1; i <= n; i++) {
        temp = sqrt(i);
        sum+=temp;
    }
    printf("%.2f",sum);
    return 0;
}

在这里插入图片描述

#include <stdio.h>

int Fact(int n);

int main(){
    int n;
    double sum = 0,temp;
    scanf("%d",&n);
    for (int i = 1; i <= n; i++) {
        temp= Fact(i);
        sum+=temp;
    }
    printf("%.0f",sum);

    return 0 ;
}

int Fact(int n){
    if(n == 1||n==0)
        return 1;
    else
        return n* Fact(n-1);
}

在这里插入图片描述

#include <stdio.h>

int main(){
    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;
}

在这里插入图片描述

#include <stdio.h>
#define N 40

int main(){
    int a,count = 0;
    double sum = 0;
    scanf("%d",&a);
    int b[N];
    for (int i = 0; i < a; i++) {
        scanf("%d",&b[i]);
        sum+=b[i];
        if(b[i]>=60)
            count++;
    }
    printf("%.1f %d",sum/a,count);
    return 0;
}

23.在这里插入图片描述

#include <stdio.h>



int main(){
    int letter = 0 ,blank = 0 ,digit = 0 ,other = 0 ;

    for (int i = 0; i < 10; i++) {
        char k = getchar();
        if((k>='a'&&k<='z')||(k>='A'&&k <= 'Z'))
            letter++;
        else if(k==' '|| k == '\n')
            blank++;
        else if(k>= '0' && k <= '9')
            digit++;
        else
            other++;
    }
    printf("%d %d %d %d ",letter,blank,digit,other);
    return 0;
}



24
在这里插入图片描述

#include <stdio.h>

int main(){
    int a,count;
    scanf("%d",&a);
    if(a>=2100||a<=2000)
        printf("Invalid year!");
    else{
        for (int i = 2001; i <= a; i++) {
            if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
                count++;
                printf("%d\n", i);
            }
        }
        if(count==0)
            printf("None");
    }
    return 0;
}

25
在这里插入图片描述

#include <stdio.h>

int main(){
    int a;
    scanf("%d",&a);
   if(a>90)
       printf("A");
   else if(a>=80&&a<90)
       printf("B");
   else if(a>=70&&a<80)
       printf("C");
   else if(a>=60&&a<70)
       printf("D");
   else
       printf("E");
    return 0;

}

26

在这里插入图片描述

#include<stdio.h>

int main(void)
{
    printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
    int a, k;
    for(a=0;a<=4;a++)
    {
        scanf("%d",&k);//一定要用scanf不要getchar()
        if(k==0)
        {
            break;
        }
        switch(k)
        {
            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;
}

27在这里插入图片描述

#include <stdio.h>

int main(){
    int a,b,c,temp;
    scanf("%d %d %d",&a,&b,&c);
    if(a>b){
        temp = a;
        a = b;
        b = temp;
    }
    if(a>c){
        temp = a;
        a = c;
        c = temp;
    }
    if(b>c){
        temp = b;
        b = c;
        c = temp;
    }
    printf("%d %d %d",a,b,c);

}

28
在这里插入图片描述

#include <stdio.h>

int main(){
    int  a,b;
    int exceed;
    scanf("%d %d",&a,&b);
    exceed = (double )(a-b)/b*100+0.5;//很重要!!!!!!!
    printf("%d",exceed);
    if(exceed<10)
        printf("OK");
    else if(exceed < 50 )
        printf("Exceed %d%% Ticket 200",exceed);
    else
        printf("Exceed %d%% License Revoked",exceed);


}


29
在这里插入图片描述

# include <stdio.h>

int main(){
    float  a,sum = 0;
    int b;
    scanf("%f %d",&a,&b);
    if(a>0)
        sum+=10;
    if(a>3&&a<=10)
        sum+=(a-3)*2;
    if(a>10)
        sum+=14+(a-10)*3;
    if(b>=5)
        sum+=b/5*2;
    printf("%.0f",sum);
}

30
在这里插入图片描述

#include<stdio.h>
int main(void)
{
    int i, n, m, A, B, C, D, E;
    A = 0;
    B = 0;
    C = 0;
    D = 0;
    E = 0;
    scanf("%d", &n);
    for(i = 1;i<=n;i++)
    {
        scanf("%d", &m);
        if(m>=90&&m<=100)
        {
            A ++;
        }
        if(m>=80&&m<90)
        {
            B ++;
        }
        if(m>=70&&m<80)
        {
            C ++;
        }
        if(m>=60&&m<70)
        {
            D ++;
        }
        if(m>=0&&m<60)
        {
            E ++;
        }
    }
    printf("%d %d %d %d %d", A, B, C, D, E);
    return 0;
}

31
在这里插入图片描述

#include <stdio.h>
#include  <math.h>

int main(){
    int x1,y1,x2,y2,x3,y3;
    double a,b,c,p,l,s;
    scanf("%d %d %d %d %d %d",&x1,&y1,&x2,&y2,&x3,&y3);
    a = sqrt((pow(x1-x2,2))+pow(y1-y2,2));
    b = sqrt((pow(x1-x3,2))+pow(y1-y3,2));
    c = sqrt((pow(x2-x3,2))+pow(y2-y3,2));

    if(a+b>c&&a+c>b&&b+c>a){
        l = a+b+c;
        p = 0.5*l;
        s = sqrt(p*(p-a)*(p-b)*(p-c));
        printf("l = %.2f s = %.2f",l,s);
    } else printf("Impossible");
    return 0;
}

32
在这里插入图片描	述

#include<stdio.h>
#include<math.h>
int main()
{int flag=1, i=1;//符号和分母定义
    double sum=0,n=1.0,eps;
    scanf("%lf",&eps);//必须lf
    if(eps>=1) //判断当eps大于等于1时临界情况
        printf("sum = %.6f",n);
    else
    {
        while(fabs(n)>eps)
        {n=flag*1.0/i;
            sum=sum+n;
            i+=3;
            flag=-flag;
        }
        printf("sum = %.6f",sum);}
    return 0;
}

33
在这里插入图片描述

#include <stdio.h>

int main()
{
    int rand_number, n;
    scanf("%d %d", &rand_number, &n);//输入随机数和猜的次数
    int i;
    int m;
    int flag = 0;
    for (i = 1; i <= n; i++)
    {
        scanf("%d", &m);//输入n个数
        if (m < 0)//如果输入的数为负数,则退出
            break;
        if (m > rand_number)//如果猜的数大于随机数
            printf("Too big\n");
        if (m < rand_number)//小于随机数
            printf("Too small\n");
        if (m == rand_number)//等于随机数
        {
            if (i == 1)//第一次猜出
            {
                flag = 1;
                printf("Bingo!\n");
                break;
            }
            if (i == 2 || i == 3)//第二次或者第三次
            {
                flag = 1;
                printf("Lucky You!\n");
                break;
            }
            if (i > 3)//大于三次
            {
                flag = 1;
                printf("Good Guess!\n");
                break;
            }
        }
    }
    if (flag == 0)//如果超过n次没有猜出
        printf("Game Over\n");
    return 0;
}

34
在这里插入图片描述

int main(){
    int n;
    double sum=0;
    scanf("%d",&n);
    for(int i = 1;i<=n;i++){
        sum+=1.0/Fact(i);

    }
    printf("%.8lf",sum);
    return 0;
}

double Fact(int x){
    double sum = 1;
    for(int i = 1;i<=x;i++){
        sum*=i;
    }
    return sum;
}

35
在这里插入图片描述

#include <stdio.h>
#define N 40

int main(){
    int n,i = 0,number[N],min;
    scanf("%d",&n);
    for (int j = 0; j < n; j++) {
        scanf("%d",&number[j]);
    }
    min = number[0];
    for (int j = 0; j < n; j++) {
        if(number[j]<min)
            min = number[j];
    }
    printf("%d",min);
    return 0;
}

36
在这里插入图片描述

#include <stdio.h>

int main(){
    int i,M,N,j,sum= 0 ,count = 0;
    scanf("%d %d",&M,&N);
    for (i = M; i <= N; i++) {//i要外部定义!!!!!!!!!!!!!!!
        for (j = 2; j <= i; j++) {
            if(i%j==0)
                break;
        }
        if(i == j){
            sum+=i;
            count++;
        }
    }
    printf("%d %d",count,sum);
    return 0;
}
//判断素数
#include <stdio.h>

int Fact(int n);

int main(){
    int a;
    scanf("%d",&a);
    Fact(a);
}

int Fact(int n){
    int i;
    for (i = 2; i < n; i++) {
        if(n%i==0)
            break;
    }
    if(i == n)
        printf("不是素数");
    else
        printf("是素数");
    return 0;
}

37
在这里插入图片描述

#include <stdio.h>

int main(){
    int a,sum;
    scanf("%d",&a);
    while (a>0){
        if(a%2==1){
            sum+=a;
        }
        scanf("%d",&a);//连续输入判断
    }
    printf("%d",sum);
}

38
在这里插入图片描述

#include<stdio.h>

double fun(int n)
{
    if(n==1||n==0) return 1;
    else return n*fun(n-1);
}
int main()
{
    double n;
    scanf("%lf",&n);
    int i;
    double sum=1.0;
    double n1=n;
    for(i=1;;i++)
    {
        double t=n1/fun(i);
        sum+=t;
        n1*=n;
        if(t<0.00001)break;

    }
    printf("%.4lf\n",sum);
    return 0;
}

40
在这里插入图片描述

#include <stdio.h>
#include <math.h>

int main(){
    int a,n;
    double sum = 0,Item=0;

    scanf("%d %d",&a,&n);
    for(int i = 1;i<=n;i++){
        Item +=a*pow(10,i-1);//重要!!!!!!!!!!!!!
        sum+=Item;
    }
    printf("%.0f",sum);
    return 0;
}

41
在这里插入图片描述

#include<stdio.h>
int main()
{
    int m,i,j,k,count=0;
    scanf("%d",&m);
    for(i=m/5;i>0;i--){
        for(j=m/2;j>0;j--){
            for(k=m;k>0;k--){
                if(5*i+2*j+k==m){
                    count++;
                    printf("fen5:%d, fen2:%d, fen1:%d, total:%d\n",i,j,k,i+j+k);
                }
            }
        }
    }
    printf("count = %d",count);
    return 0 ;
}

42
在这里插入图片描述

#include <stdio.h>
#include <math.h>

int main(){
    int a,start,end;
    scanf("%d",&a);
    start = pow(10,a-1);
    end = pow(10,a);
    for(int i = start;i<end;i++){
        if((pow(i/100,3))+(pow(i%100/10,3))+(pow(i%10,3))==(i)){
            printf("%d\n",i);
        }
    }
}

43
在这里插入图片描述

#include <stdio.h>

int main(){
    int a,b,c;
    scanf("%d %d",&a,&b);
    if(a<b){
        c = a;
        a = b;
        b = c;
    }
    for (int i = b; i > 0; i--) {//范围
        if(a%i==0&&b%i==0) {//
            printf("%d ", i);
            break;
        }
    }
    for (int j = a; j < a*b ; j++) {//范围
        if(j % a == 0 && j % b == 0) {//相反
            printf("%d", j);
            break;
        }
    }
}

45
在这里插入图片描述

49在这里插入图片描述

#include <stdio.h>
int main()
{
    printf("输入一行字符:\n");
    char ch;
    int i,count=0,word=0;
    while((ch=getchar())!='\n')
        if(ch==' ')
            word=0;
        else if(word==0)
        {
            word=1;
            count++;
        }
    printf("总共有 %d 个单词\n",count);
    return 0;
}

50在这里插入图片描述

#include<stdio.h>

int main()
{
    int n;
    scanf("%d",&n);

    int number[n];
    for(int i=0;i<n;i++)
    {
        scanf("%d",&number[i]);
    }

    int max=number[0];
    int flag=0;
    for(int i=1;i<n;i++)
    {
        if(number[i] > max)
        {
            max = number[i];
            flag = i;
        }
        else continue;
    }
    printf("%d %d\n",max,flag);
    return 0;
}

51
在这里插入图片描述

#include <stdio.h>
#define N 40

int main(){
    int a;
    int b[N];
    scanf("%d",&a);
    for(int i = 0;i<a;i++){
        scanf("%d",&b[i]);
    }
    for (int i = a-1; i >= 0; i--) {
        printf("%d ",b[i]);
    }

    return 0;
}

57

在这里插入图片描述

#include <stdio.h>
#include<string.h>
int main(){
    char a[81];
    int i,j;
    gets(a);
    j=strlen(a);
    for(i=j-1;i>=0;i--)
        printf("%c",a[i]);
}

58
在这里插入图片描述

#include <stdio.h>
#define N 40
int main(){
    int a,b[N],i,j,t;
    scanf("%d",&a);
    for (i = 0; i < a; i++)
        scanf("%d",&b[i]);
    for (i = 0; i < a; i++) {
        for (j = i + 1; j < a; j++) {
            if (b[i] < b[j]) {
                t = b[i];
                b[i] = b[j];
                b[j] = t;
            }
        }
    }
    for (i = 0; i < a; i++)
        printf("%2d", b[i]);
    return 0;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值