mooc翁恺C语言每章测试题

本文包含一系列编程实践题目,涉及时间从北京时间到UTC的转换、打印特定格式的队列、统计输入数字中奇偶数的个数、判断数字的特征值、计算指定范围内的素数之和以及实现高精度小数的运算。代码主要使用C语言编写,展示了基础的算法和逻辑处理。
摘要由CSDN通过智能技术生成

第三章:1.北京时间转换

#include <stdio.h>
int main()
{
    int bjt,utc,a,b;
scanf("%d",&bjt);
if(bjt>0&bjt<2359);
{
    a=bjt/100-8;
    if(a<0){
        a=a+24;
    }  /* code */
    b=bjt%100;
    printf("%d",a*100+b);    

}

 2.分队列

#include <stdio.h>

int main()
{
    int i,n;
    scanf("%d",&n);
    for(i=0;i<n;i+=2){
        printf("%d",i+1);
        if(i<n-2){
            printf(" ");
        }
    }
}

第四章:1.奇数偶数个数

#include <stdio.h>

int main()
{
    int x,ji=0,ou=0;
    do{
    scanf("%d",&x);
    if(x!=-1){
        if(x%2==1){
            ji++;
        }
        else{
            ou++;
        }
    }
    }while(x!=-1);
    printf("%d %d",ji,ou);
}

2. 数字特征值

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

int main()
{
    int x,i=0,two,ten=0,last;
    scanf("%d",&x);
    
    while(x!=0){
    last=x%10;
    x=x/10; 
    i++;
        if(last%2==i%2){
            two=1;
        }
        else{
            two=0;
        }
        ten+=two*pow(2,(i-1));
    }
    printf("%d",ten);
}

第五周:1.第n项至第m项素数和

#include <stdio.h>

int main()
{
    int n,m,num=0,x=2,sum=0,i;
    scanf("%d%d",&n,&m);
    do{
        for(i=2;i<=x;i++){
            if(x%i==0){
                break;
            }
        }
        if(i==x){
            num++;
            if(num>=n){
                sum+=x;
            }
        }
        x++;
    }while(num!=m);
    printf("%d",sum);
}

2.(无法达到满分)

第六周:高精度小数

#include <stdio.h> 

int main()
{
    const int sum=200;
    int t[sum];
    int a,b,yu,i,j;
    scanf("%d/%d",&a,&b);
    if(10<=a&&a<b&&b<100){
    yu=a*10;
    for(i=0;i<sum;i++){
        t[i]=yu/b;
        yu=yu%b*10;
        if(yu==0){
            i++;
            break;
        }
    }
    printf("0.");
    for(j=0;j<i;j++){
        printf("%d",t[j]);
    }
    printf("\n");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值