Bootstrap

20240709作业

作业1:

#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
    char arr[M];
    int N=0;
    printf("请输入字符串的长度\n");
    scanf("%d",&N);
    getchar();
    int zimu=0,shuzi=0,kongge=0,qita=0;
    printf("请输入一条字符串\n");
    gets(arr);
    for(int i=0;i<N;i++){
        if((arr[i]>='a'&&arr[i]<='z')||(arr[i]>='A'&&arr[i]<='Z')){
            zimu++;
        }else if(arr[i]>='0'&&arr[i]<='9'){
            shuzi++;
        }else if(arr[i]==' '){
            kongge++;
        }else if(arr[i]=='\0'){
            break;
        }else qita++;
    }
    printf("该字符串中字母有%d个,数字有%d个,空格有%d个,其他有%d个\n",zimu,shuzi,kongge,qita);
}

作业2:

#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
    char arr[M];
    int N=0,sum=0;
    printf("请输入字符串的长度\n");
    scanf("%d",&N);
    getchar();
    printf("请输入一条字符串\n");
    gets(arr);
    for(int i=0;i<N;i++){
        if(arr[i]>'0'&&arr[i]<='9'){
            sum+=(arr[i]-'0');
        }else if(arr[i]=='\0'){
            break;
    }else continue;
}
    printf("该字符串中数字的总和为%d\n",sum);
}

作业3

#include <stdio.h>
#include <string.h>
int main()
{
    int arr[4][3]={0};
    int brr[4]={0};
    for(int i=0;i<4;i++){
        for(int j=0;j<3;j++){
            printf("请输入%d行%d列的数字:\n",i+1,j+1);
            scanf("%d",&arr[i][j]);
        }
    } 
    printf("该4*3的数组为:\n");
    for(int i=0;i<4;i++){
        for(int j=0;j<3;j++){
            printf("%d\t",arr[i][j]);
        }
        putchar(10);
    }
    for(int i=0;i<4;i++){
        for(int j=0;j<3;j++){
            brr[i]+=arr[i][j];
            }
    }
    int temp=0;
    for(int i=1;i<4;i++){
        for(int j=0;j<3;j++){
            if(brr[j]<brr[j+1]){
                temp=brr[j];
                brr[j]=brr[j+1];
                brr[j+1]=temp;
            }
        }
    }
    printf("二维数组的和升序排列:\n");
    for(int i=0;i<4;i++){
        printf("%d\t",brr[i]);
    }
    putchar(10);
}

作业4:

#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
    int arr[M]={0};
    int brr[M]={0};
    int crr[M]={0};
    int N=0;
    printf("请输入两个一维数组的长度:\n");
    scanf("%d",&N);
    printf("请输入第一个数组的数字:\n");
    for(int i=0;i<N;i++){
        printf("第%d个:",i+1);
        scanf("%d",&arr[i]);
        putchar(10);
    }
    printf("请输入第二个数组的数字:\n");
    for(int i=0;i<N;i++){
        printf("第%d个:",i+1);
        scanf("%d",&brr[i]);
        putchar(10);
    }
    int k=0;
    for(int i=0;i<N;i++){
        for(int j=0;j<N;j++){
            if(arr[i]==brr[j]){
                crr[k]=arr[i];
                k++;
                break;
            }
        }
    }
    int temp=0;
    for(int i=0;i<N;i++){
        for(int j=i+1;j<N;j++){
            if(crr[i]==crr[j]){
                for(temp = j;temp<N-1;temp++)
                    crr[temp]=crr[temp+1];    
                j--;    
                N--;    
            }
        }
    }
    printf("两个数组的交集为:\n");
    if(k==0){
        printf("没有交集\n");
    }else  for(int i=0;i<N;i++){
        printf("%d\t",crr[i]);
    }
    putchar(10);
}

作业5

#include <stdio.h>
#include <string.h>
#define M 20
int main()
{
    int arr[M]={0};
    int brr[M]={0};
    int crr[M]={0};
    int drr[M]={0};
    printf("请输入20位内的账号:\n");
    scanf("%s",arr);
    getchar();
    printf("请输入20位内的密码:\n");
    scanf("%s",brr);
    printf("注册成功!\n");
    while(1){ 
    printf("请登录:\n");
    printf("请输入账号:\n");
    scanf("%s",crr);
    getchar();
    printf("请输入密码:\n");
    scanf("%s",drr);
    int P=1;
    for(int i=0;arr[i]!='\0';i++){
        if(arr[i]!=crr[i]){
            P=0;
            break;
        }
        if(brr[i]!=drr[i]){
            P=0;
            break;
        }
    }
    if(P==0){
        printf("登录失败!\n");
    }else printf("登陆成功!");
    }
}

思维导图:

;