• 2018.3 江苏省计算机等级考试 C语言 编程题答案



    题目要求:给定一个数字范围,输出满足这些条件:

    1.能被3整除;

    2.包含数字5,

    将满足的数字放在特定的数组里输出、输出这些数里5出现的个数、数字的个数。

    想起来有点伤心,本来很简单的题,考试的时候程序写错一行,结果成了死循环,最后还没找出来错,下来以后才想起来。以后必须长点心。

    代码:

    #include<stdio.h>
    int flag(int x0,int x1,int b[],int *p);
    int main(){
    int i,intnumber,fivenumber;//数字的个数、5的个数
    int b[301];//b存放满足的数字
    FILE *fp;
    fp=fopen("myfile.out","w");

    intnumber=flag(200,300,b,&fivenumber);
    for(i=0;i<intnumber;i++){
    printf("%d ",b[i]);//具体的输出要求忘了,大致是这样
    fprintf(fp,"%d ",b[i]);
    }
    printf("5的个数:%d
    ",fivenumber);
    fprintf(fp,"%d
    ",fivenumber);
    fprintf(fp,"考号");
    fclose(fp);
    return 0;
    }
    int flag(int x0,int x1,int b[],int *p){
    int intnumber,wei,flg,i,j,temp;
    intnumber=*p=flg=0;
    for(i=x0;i<=x1;i++){
    flg=0;
    if(i%3==0){
    temp=i;
    wei=temp%10;
    temp=temp/10;//当时写成了i/10,所以成了死循环
    for(j=0;wei>0;j++){
    if(wei==5){
    flg=1;
    (*p)++;
    }
    wei=temp%10;
    temp=temp/10;//同上面一样
    }
    }
    if(flg==1) {//这段代码不要写错层,要写在遍历数字的这层
    b[intnumber]=i;
    intnumber++;
    }
    }
    return intnumber;
    }
  • 相关阅读:
    为Android编译bash
    编译toybox
    RGB信仰灯
    如何用Fiddler抓BlueStacks的HTTPS包
    Adobe Acrobat快捷方式
    [MS-SHLLINK]: Shell Link (.LNK) Binary File Format
    BZOJ 3993 星际战争
    BZOJ 3996 线性代数
    BZOJ 1797 最小割
    BZOJ 2726 任务安排
  • 原文地址:https://www.cnblogs.com/cnnnnnn/p/8543507.html
Copyright © 2020-2023  润新知