C语言编程题

 

目录

 

目录

 

输入三门课的成绩,将成绩求和,并把三门课的平均值计算出

 理解和掌握%10,/10:前者为截取个位,后者为截掉个位)

 三天打鱼两天晒网

 从键盘上输入三角形的三个边长(实数) ,判断这个边能否构成三角形(构成三角形的条件为:任意两边之和第三边),如果能构成三角形,则计算三角形的面积并输出留2位小数),;如果不能构成三角形,则输出"False"字符意。假设三角形的边长分别为a、b、c,则三角形的面积为:

编写程序,从键盘上接收一个百分制成绩(整数) ,判断数据的合理性。如果不是正确的成绩(<0或>100 ) ,则输出"Error data!" ,否则输出其相应的等级,成绩在90分及以上为'A', 80-89分为'B', 70-79分为'C',60~69分为'D',60分以下为'E'。例如:(1)输入成绩为120时,输出Error data!(2)输入信息为85时,输出B【要求:用switch语句实现。】

 用if else 嵌套循环

下面程序的功能是:从键盘上输入一个字符,判断它是否为小写字母,如果是,将它转换为大写字母;如果不是则不转换

以下程序从键盘接收一个小写字母(不考虑输入错误的情况) ,将其循环更改为其后第5个位置的字符。如'a'变为'f', 'w'变为'b'。请填空

【例2019】以下程序的功能是判断年份year是否闰年。(若某年份能被4整除但不能被100整除,或者能被400整除,则该年份是闰年)。请填空。

循环典型算法

选用合适的循环语句

循环基本算法

鸡兔同笼

输入一个数,判断是否为素数

输出100到200之间所有的素数

求阶乘

求相同数的积


输入三门课的成绩,将成绩求和,并把三门课的平均值计算出

#include <stdio.h>
    void main(){
        int a,b,c,sum,avg;
        printf("请输入语文成绩");
        scanf("%d",&a);
        printf("请输入数学成绩");
        scanf("%d",&b);
        printf("请输入英语成绩");
        scanf("%d",&c);
        sum=(a+b+c);
        printf("总成绩为%d",sum);
        avg=(sum/3);
        printf("平均成绩为%d",avg);
}

  运行结果       请输入语文成绩30
                请输入数学成绩40
                请输入英语成绩50
                总成绩为120平均成绩为40

 理解和掌握%10,/10:前者为截取个位,后者为截掉个位)

#include <stdio.h>
    void main(){
        int a,b,c,e,d;
        a=789;        //原始数据
        e=a/10;      //截掉个位
        b=a%10;      //截取个位
        c=a/10%10;  //截掉十位
        d=a/100;    //截掉百位
        printf("%d,%d,%d,%d,%d",a,e,b,c,d);

}

  运行结果  789,78,9,8,7

 三天打鱼两天晒网

#include <stdio.h>
    void main(){
        int n;
        scanf("%d",&n);
        if(n%5==1||n%5==2||n%5==3)
            printf("打鱼");
            else printf("晒网");
}

运行结果  输入10 输出晒网
          输入11 输出打鱼

 从键盘上输入三角形的三个边长(实数) ,判断这个边能否构成三角形(构成三角形的条件为:任意两边之和第三边),如果能构成三角形,则计算三角形的面积并输出留2位小数),;如果不能构成三角形,则输出"False"字符意。假设三角形的边长分别为a、b、c,则三角形的面积为:

#include <math.h>
#include <stdio.h>
void main(){
      float a,b,c,s,area;
        scanf("%f%f%f",&a,&b,&c);
        if(a+b>c&&a+c>b&&b+c>a){  //任意两边只和,大于第三边
            s=(a+b+c)/2;
            area=sqrt(s*(s-a)*(s-b)*(s-c));
            printf("%.2f\n",area);
        } else
            printf("False\n");
}
运行结果   输入1.1
              2.2
              3.3
            返回0.0
          
           输入 3.0
                4.0
                5.0
            返回 False

编写程序,从键盘上接收一个百分制成绩(整数) ,判断数据的合理性。如果不是正确的成绩(<0或>100 ) ,则输出"Error data!" ,否则输出其相应的等级,成绩在90分及以上为'A', 80-89分为'B', 70-79分为'C',60~69分为'D',60分以下为'E'。例如:(1)输入成绩为120时,输出Error data!(2)输入信息为85时,输出B【要求:用switch语句实现。】

#include <stdio.h>
    void main(){
        int n;
        printf("请输入你的成绩\n");
        scanf("%d",&n);
        if(n>0&&n>100)
            printf("Error data");
            else
            switch (n/10) {
                case 10:
                    printf("A");
                    break;
                case 9:
                    printf("B");
                    break;
                case 8:
                    printf("B");
                    break;
                case 7:
                    printf("D");
                default:
                    printf("E");

            }

}

 用if else 嵌套循环

#include <stdio.h>
    void main(){
        int n;
        printf("请输入你的成绩\n");
        scanf("%d",&n);
        if(n>0&&n>100)
            printf("Error data");
            else
                if (n>=90) 
                    printf("优秀");
                else if(n>=80)
                    printf("良好");
                else if(n>=70) 
                    printf("正常");
                else if(n>=60) 
                    printf("及格");
                else 
                    printf("不及格");

}

下面程序的功能是:从键盘上输入一个字符,判断它是否为小写字母,如果是,将它转换为大写字母;如果不是则不转换

#include <stdio.h>
void main(){
    char ch;
    ch=getchar();
    ch=(ch>='a'&&ch<='z')?ch-32:ch;
    putchar(ch);
}

以下程序从键盘接收一个小写字母(不考虑输入错误的情况) ,将其循环更改为其后第5个位置的字符。如'a'变为'f', 'w'变为'b'。请填空

#include <stdio.h>
void main(){
    char ch;
    ch=getchar();
    if((ch>='a')&&(ch<='u'))
    ch=ch+5;
    else
        ch=ch-21;

    putchar(ch);
}

【例2019】以下程序的功能是判断年份year是否闰年。(若某年份能被4整除但不能被100整除,或者能被400整除,则该年份是闰年)。请填空。

#include <stdio.h>
void main(){
    int year;
    printf("请输入年份:\n");
    scanf("%d",&year);
    if(year%4==0&&year%100!=0||year%400==0)
    printf("你输入的是闰年");
    else
        printf("你输入的是平年");

}

循环典型算法

1循环程序的实现要点:归纳出哪些操作需要反复执行?循环体

这些操作在什么情况下重复执行?循环条件

选用合适的循环语句

for while do-while

循环具体实现时考虑(循环条件):

事先给定循环次数,首选for

通过其他条件控制循环,考虑while或do-while

循环基本算法

一、穷举法:基本思想——对问题所涉及的所有可能情况一一列举。

鸡兔同笼

#include <stdio.h>

int main() {
   int x,y;
   for(x=0;x<=35;x++){ //鸡兔总数35
       y=35-x;
       if(2*x+4*y==94) printf("鸡%d,兔%d",x,y);
   }
}

输入一个数,判断是否为素数

#include <stdio.h>

#include "math.h"
    void main(){
       int i,n;
        scanf("%d",&n);
            for(i=2;i<=n;i++){
             if(n%i==0) break;
             }
                if(i>=n)
                     printf("%d是素数",n);
                else printf("%d不是素数",n);

        }

输出100到200之间所有的素数

#include <stdio.h>

    void main(){
       int i,n;
        for(i=100;i<=200;i++){
            for(i=2;i<=n;i++){
             if(n%i==0) break;
             }
                if(i>=n){
                     printf("%d",i);
                }

        }

}

求阶乘

#include "stdio.h"
void main()
{
   int i,n;
   double p=1;
    printf("输入一个整数,求其阶乘:");
    scanf("%d",&n);
    for ( i = 1; i <=n ; ++i) {
        p=p*i;
        printf("%d!=%f",n,p);
    }
}

求相同数的积

#include "stdio.h"
#define B   3
void main()
{
    int p=1;
    for (int i = 1; i <6 ; ++i) {
        p=p*B;
        printf("%d\n",p);

    }

}

1000个人捐款20000元

#include "stdio.h"
#define M 20000
int main(){
    float x,sum=0;
    int i;
    for (int i = 0; i <= 1000 ; i++) {
        scanf("%f",&x);
        sum+=x;
        if(sum>M)break;
    }
    printf("捐款人数=%d,总捐款人数=%.1f\n",i,sum);
    return 0;
}

从第三行输出斐波那契数列20行的和

#include "stdio.h"
int main(){
    int i,n;
    long a,b,next,s=0;
    a=b+1;
    s=a+b;
    for (int i = 3; i <=20 ; i++) {
        next=a+b;
        a=b;
        b=next;
        s+=next;
    }
    printf("%ld",s);
    return 0;
}

用数组解决斐波那契的问题

#include "stdio.h"
void main(){
    int i;
    int f[20]={1,1};
    for (int i = 2; i < 20; i++) {
        f[i]=f[i-2]+f[i-1];
        for (int i = 0; i < 20; i++) {
            if(i%5==0) printf("\n");
            printf("%12d",f[i]);
        }
        printf("\n");
    }
}

输入10个成绩计算出平均值和小于平均值的数

#include "stdio.h"
void main(){
    int i;
    float aver=0,score[10];
    printf("请输入10个成绩");
    for (int i = 0; i < 10; i++)
        scanf("%f",&score[i]);
    aver/=10;
    printf("ave=%6.2f\n",aver);
    for(i=0;i<10;i++)
        if(score[i]<aver)
            printf("%8.2f",score[i]);

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJlio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值