C语言简单题(5)倍数问题、温度转换、输入半径得周长和面积、两数对调(不使用第三个数)、三角形面积、买苹果问题、打折问题(switch语句)、水仙花数、学生成绩平均分、求平均分(舍最大最小)、数组逆序

/*
    判断输入的正整数既是5的倍数,又是7的倍数 
*/

#include<stdio.h>
int main(){
    int num;
    printf("请输入一个正整数:");
    scanf("%d",&num);
    if(num%5==0 && num%7==0){
        printf("yes\n");
    }else{
        printf("no\n");
    }
    return 0;
}

 /*
    温度转换:输入华氏温度的摄氏温度 C=(f-32)*5/9 
*/
#include<stdio.h>
int main(){
    double f,c;
    printf("请输入华氏温度:");
    scanf("%f",&f);
    printf("该华氏温度对应的摄氏温度为:");
    c = (f-32)*5/9;
    printf("%.2lf\n",c);
    return 0; 
}

 /*
    给出圆的半径,得圆的周长和面积 
*/
#include<stdio.h>
#define PI 3.1415926
int main(){
    double r,l,s;
    printf("请输入圆的半径:");
    scanf("%lf",&r);
    l = 2 * PI * r;
    s = PI * r * r;
    printf("圆的周长为:%.2lf,面积为:%.2lf\n",l,s);
    return 0;
}

/*
    不使用第三个数,实现两个数对调 (位运算实现)
*/
#include<stdio.h>
int main(){
    int a,b;
    printf("请输入两个数(以空格隔开):");
    scanf("%d %d",&a,&b);
    printf("a=%d b=%d\n",a,b);
    a = a ^ b;
    b = a ^ b;
    a = a ^ b; 
    printf("a=%d b=%d\n",a,b);
    return 0;

(算数运算实现)

#include<stdio.h>
int main(){
    int a,b;
    printf("请输入两个数(以空格隔开):");
    scanf("%d %d",&a,&b);
    printf("a=%d b=%d\n",a,b);
    a = b - a;
    b = b - a;
    a = b + a; 
    printf("a=%d b=%d\n",a,b);
    return 0;
}

/*
    计算三角形面积 ,保留三位小数 
*/
#include<stdio.h>
#include<math.h>
int main(){
    double x,y,z;
    printf("请输入三角形的三条边长(以空格隔开):");
    scanf("%lf %lf %lf",&x,&y,&z);
    double s,l;
    l = (x+y+z)/2;
    s = sqrt(l*(l-x)*(l-y)*(l-z));
    printf("该三角形的面积s=%.3lf\n",s);
    return 0;

 /*
    每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。编程计算平均每天花多少钱? 
*/
#include<stdio.h>
int main(){
    int day=1;
    int apple;
    double sum=0;
    for(apple=2;apple<100;apple*=2){
        sum+=(apple*0.8);
        day++;
    }
    double avl = sum/day;
    printf("买苹果平均每天花费%.2lf元\n",avl);
    return 0;
}

/*
    打折问题(使用switch语句) 
*/
#include<stdio.h>
int main(){
    double sum=0;
    double num;
    printf("请输入顾客的购物款:");
    scanf("%lf",&num);
    switch((int)num/1000){
        case 0:
            sum=num;
            break;
        case 1:
            sum=0.95*num;
            break;
        case 2:
            sum=0.9*num;
            break;
        case 3:
            sum=0.85*num;
            break;
        case 4:
            sum=0.85*num;
            break;
        default:
            sum=0.8*num;
            break;
    }
    printf("打折后,顾客的购物款为%.2lf\n",sum);
    return 0;
}
 

/*
    求100-999水仙花数
    水仙花数:一个三位数,各位数的立方和等于该数本身 
*/
#include<stdio.h>
#include<math.h>
int main(){
    int i,m,n,l;
    for(i=100;i<=999;i++){
        m=i%10;
        n=i/10%10;
        l=i/100;
        if(m*m*m+n*n*n+l*l*l==i)    //可替换成pow(m,3)+pow(n,3)+pow(l,3)==i 
            printf("%d\n",i);
    }
    return 0;
}
 

 /*
    输入10个学生的成绩,计算总分和平均分,输出平均分 
*/
#include<stdio.h>
int main(){
    double a[10];
    double sum=0;
    int i;
    printf("依次输入10名学生的分数:\n");
    for(i=0;i<10;i++){
        printf("依次输入%d名学生的分数:",i+1);
        scanf("%lf",&a[i]);
        sum=sum+a[i];
    }
    double avl = sum/10;
    printf("10名学生的平均分为%.2lf\n",avl);
    return 0;
}

 /*
    输入10个数,去掉最高分和最低分后,求平均分 
*/
#include<stdio.h>
int main(){
    double a[10],max,min,sum=0;
    printf("请输入10个分数:\n");
    for(int i=0;i<10;i++){
        printf("输入第%d个分数:",i+1);
        scanf("%lf",&a[i]);
        max = min = a[0];
        sum = sum + a[i];
        if(max<a[i])
            max = a[i];
        if(min>a[i])
            min = a[i];
    }
    double avl = (sum-min-max)/8.0;
    printf("平均分为%.2lf\n",avl);
    return 0;
}

/*
    输入10个数存入一个数组,再按逆序重新存放后再输出 
*/
#include<stdio.h>
int main(){
    int a[10];
    int i;
    printf("请输入10个整数:\n");
    for(i=0;i<10;i++){
        printf("请输入第%d个数:",i+1);
        scanf("%d",&a[i]);
    }
    printf("转换前的数组元素序列\n");
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
    int temp;
    for(i=0;i<5;i++){
        temp = a[i];
        a[i] = a[9-i];
        a[9-i] = temp;
    }
    printf("\n");
    printf("输入转换后的数组元素序列:\n");
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
    printf("\n");
    return 0;

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值