九首猫

生命中曾经有过的所有灿烂,终究都需要用寂寞来偿还

某大学程序设计实验作业(五)

图片.png

//实验一
#include <stdio.h>
int main(){
    int a[8];
    int n,i,j;
    scanf("%d",&n);
    for(i=0,j=1;i<8;i++,j*=2){
        a[i]=n/j%2;
    }
    for(i=7;i>=0;i--){
        printf("%d",a[i]);
    }
    return 0;
}
//实验二
#include <stdio.h>
int main(){
    int a[1000];
    int LEN,i,j,s;
    scanf("%d",&LEN);
    for(i=0;i<LEN;i++){
        scanf("%d",&a[i]);
    }
    for(i=0;i<LEN-1;i++){

         for(j=i+1;j<LEN;j++){
            if(a[i]>a[j]){
                s=a[j];
                a[j]=a[i];
                a[i]=s;
            }
         }
        }
    for(i=0;i<LEN;i++){
        printf("%4d",a[i]);
    }
}

图片.png

//实验三
#include <stdio.h>
#define Length 6

int main(){
    int a[Length]={10,20,30,40,50};
    int x,i,temp;
    scanf("%d",&x);
    a[5]=x;
    for(i=4;a[i]>x;i--){
        a[i+1]=a[i];
        a[i]=x;
    }
    for(i=0;i<6;i++){
        printf("%4d",a[i]);
    }
    return 0;


    }
//实验四
#include<stdio.h>
#define n 10
int main(){

    int i,j;
    float course[4][n+2]={};
    //input begin
    for(i=0;i<4;i++){
        printf("请输入第%d门课的10位学生的成绩:\n",i);
        for(j=0;j<10;j++){
            scanf("%f",&course[i][j]);
        }
    }
    //input end

    //caculating
    float Y=0,N=0;
    for(i=0;i<4;i++,Y=0,N=0){
        for(j=0;j<10;j++){
            if(course[i][j]>=90) Y++;
            else if(course[i][j]<60) N++;
            course[i][n]=Y/10.0*100.0;
            course[i][n+1]=N/10.0*100.0;

        }
        printf("第%d门课的优秀率是%.2f%%,不及格率是%.2f%%\n"
                   ,i,course[i][n],course[i][n+1]);
    }
    return 0;
}
#include <stdio.h>
#define MAX 1000
int main(){
    char input_words[MAX];
    char keyword[MAX];
    gets(input_words);
    gets(keyword);
    
    int i,j;
    int Len,coWord;
    Len = 0;
    for (i=0;keyword[i]!='\0';++i){
        Len=i;
    
    }
    
    int count=0;
    for(j=0;input_words[j]!='\0';j++){
        for(i=0,coWord=0;keyword[i]!='\0';i++){
            if(keyword[i]==input_words[j+i])    coWord++;
        }
        if(coWord==Len+1) {
            printf("pos=%d\n",j+1);
            count++;
        }
    }
    printf("count=%d\n",count);
    return 0;

}
//我觉得还写的不够紧凑


  • 评论列表:
  •  初夏阳光
     发布于 2019-05-11 16:19:59  回复该评论
  • 好好奇为什么老师说数组定义一定要用常数,我写了
    int n;
    scanf("%d",&n);
    int data[n];
    也不会报错也能运行啊…
    •  九首猫
       发布于 2019-05-12 11:21:48  回复该评论
    • 数组的长度是预分配的,你这里的n在scanf前是个未知的量(可能是任何值),分配给数组的长度也是这样一个任意值,并不是你scanf的值,想做到动态分配要用一些windows的库
      •  初夏阳光
         发布于 2019-05-12 20:06:00  回复该评论
      • 嗷嗷嗷,原来这样啊,了解了…作业已经好多次这么写的交了蛤蛤蛤

发表评论:

召唤伊斯特瓦尔