首页 > 代码库 > c语言笔记————函数的作业

c语言笔记————函数的作业


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void maoPao( float num[])
{

    for (int i =0; i<10-1; i++) {
        for (int k=0; k<10-1-i; k++) {
            if (num[k]>num[k+1]) {
                num[k]=num[k]+num[k+1];
                num[k+1]=num[k]-num[k+1];
                num[k]=num[k]-num[k+1];
                
            }
            
        }
    }
    for (int i=0; i<10; i++) {
        printf("%4f  \n",num[i]);
    }
    

}

//void*maoPao( float num[])
//{
//    
//    for (int i =0; i<10-1; i++) {
//        for (int k=0; k<10-1-i; k++) {
//            if (num[k]>num[k+1]) {
//                num[k]=num[k]+num[k+1];
//                num[k+1]=num[k]-num[k+1];
//                num[k]=num[k]-num[k+1];
//                
//            }
//            
//        }
//    }
//    int *p=&num[0];
//   
//    return p;
//    
//    
//}


int stringLength(char c[])
{
    int count=0;
    for (int i=0; i<255; i++) {
        if (c[i]==‘\0‘) {
            break;
        }else
            count++;
        
    }
    return count;
}



int*stringCopy(char c1[],char c[],count)
{
    for (int i=0; i<count; i++) {
        c1[i]=c[i];
    }
    int *p=c1;
    return p;


    
}


int *stringCatch(char c[],char c1[])
{
    for (int i=0; i<stringLength(c)+stringLength(c1); i++) {
        if (i>=stringLength(c)) {
            for (int k=0; k<=stringLength(c1); k++) {
                c[i++]=c1[k];
            }
            break;
        }
        
    }

    int *p=c;
    return p;
    
}
//void stringCatch(char c[],char c1[])
//{
//    for (int i=0; i<stringLength(c)+stringLength(c1); i++) {
//        if (i>=stringLength(c)) {
//            for (int k=0; k<=stringLength(c1); k++) {
//                c[i++]=c1[k];
//            }
//            break;
//        }
//        
//    }
//    printf("%s",c);
//    
//}
int stringCompare(char c[],char c1[])
{
    int num=0;
    for (int i =0; i<255; i++) {
        if (c[i]!=c1[i]) {
            num=c[i]-c1[i];
            break;
        }
    }

    return num;
}


int main(int argc, const char * argv[])
{

    // insert code here...
    //printf("Hello, World!\n");
    //1、(**)一维浮点型数组函数的冒泡排序
    
//    float num[10];
//    for (int i=0; i<10; i++) {
//        scanf("%f",&num[i]);
//    }
//    maoPao(num);
//  int *p =  maoPao(num);
//    for (int i=0; i<10; i++) {
//        printf("%4f  \n",*p+i);
//    }

    
    
    
    //2、(***)编写实现strlen同功能的函数stringLength。
//    char c[255];
//    scanf("%[^\n]",c);
//    int count = stringLength(c);
//    printf("%d\n",count);
    
    
    
    //3、(***)编写实现strcpy同功能的函数stringCopy。
//    char c[]="qweqwcjk asda";
//    int count = stringLength(c);
//    char c1[count];
//    int *p;
//    p=stringCopy(c1, c,count);
//    printf("%s\n",p);
//    
    
    //4、(***)编写实现strcat同功能的函数stringCatch。
//    char c[255];
//    char c1[255];
//    gets(c);
//    gets(c1);
//    int count =stringLength(c);
//    printf("%d",count);
    
     //stringCatch(c, c1);
//    int *p=stringCatch(c, c1);
//    printf("%s",p);
    
   // 5、(***)编写实现strcmp同功能的函数stringCompare。
//    char c[255];
//    char c1[255];
//    gets(c);
//    gets(c1);
//    int sum=stringCompare(c, c1);
//    printf("%d",sum);

   /*
    6、(****)模拟ATM机取款的过程
    (1)、定义两个能保存5个整形数的数组,一个用于保存5个人的卡号,一个用于保存对应卡号的密码。
    (2)、判断输入的卡号是否在数组中。
    (3)、如果在数组中就让输入密码,判断是否和卡号对应的密码匹配。
    (4)、判断密码,24小时内只允许输入3次 错误的密码。输入错误应该提示还剩下的输入次数,3次都输入错误提示24小时内不允许操作该卡。
    (5)、密码正确就让用户对该账户进行相应的操作。
    (6)、注意取款的限制。
    (7)、上述功能对于一个ATM机是循环的过程,也就是说每个客户都会按照上面的操作进行操作,一个用户操作完成,下一个用户来了还可以进行相应的操作
    */
    int n=0,p=0,flog=-1,count=3;
    int num[5]={1001,1002,1003,1004,1005};
    int passWord[5]={123451,123452,123453,123454,123455};
    
    while (1) {
        int unflog=-1;
        printf("请输入正确的卡号:");
        scanf("%d",&n);
        for (int i=0; i<5; i++) {
             flog++;
            if (num[i]==n) {
               
                break;
            }
            unflog++;
        }
        if (unflog!=4) {
            break;
        }
    }
    //printf("%d",flog);
   
    while (1) {
        printf("请输入正确的密码:");
        scanf("%d",&p);
        
            if (passWord[flog]==p) {
                break;
            }else{
                count--;}
            if (count==0) {
                printf("24小时内不允许操作该卡!!!\n");
                return 0;
            }else
            printf("还剩下%d次输入机会。\n",count);
        }
    int num1;
    printf("请输入取款金额:1.100\n 2. 200\n 3. 500\n 4.1000\n 5.2000\n 或者输入不大于2000的数字!\n");
    scanf("%d",&num1);
    switch (num1) {
        case 1:
            printf("成功取出100\n");
            break;
        case 2:
            printf("成功取出200\n");
            break;
        case 3:
            printf("成功取出500\n");
            break;
        case 4:
            printf("成功取出1000\n");
            break;
        case 5:
            printf("成功取出2000\n");
            break;
            
        default:
            break;
    }
    while (1) {
        printf("请输入不大于2000的数字!\n");
        scanf("%d",&num1);
        if ((num1>=100&&num1<=2000)&&num1%100==0) {
            printf("成功取出%d\n",num1);
            break;
        }else{
            
            printf("输入错误!");
        }
    }
    
    
    
   
    return 0;
}