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;
}

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

时间: 2024-11-05 16:24:31

c语言笔记————函数的作业的相关文章

【好程序员笔记分享】C语言之函数

ios培训------我的c语言笔记,期待与您交流! #include <stdio.h> /* 1.什么情况下定义函数:添加一个常用的新功能 2.函数的定义格式 返回值类型 函数名(形式参数列表) { 函数体 } */ int printLine() { printf("-------------\n"); return 0; } int average(int num1, int num2) { return (num1 + num2)/2; } int main()

【好程序员笔记分享】C语言之函数(2)

ios培训------我的c语言笔记,期待与您交流! #include <stdio.h> /* 参数注意点 1.形式参数:定义函数时函数名后面中的参数,简称形参 2.实际参数:调用函数式传入的具体数据,简称实参 3.实参个数必须等于形参个数 4.函数体内部不能定义和形参一样的变量 5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值 6.一个函数可以没有形参,也可以有无限多个形参 */ // 形式参数,简称形参 int sum(int num1, i

C++语言笔记系列之十八——虚函数(1)

1.C++中的多态 (1)多态性:同一个函数的调用可以进行不同的操作,函数重载是实现多态的一种手段. (2)联编:在编译阶段进行联接,即是在编译阶段将一个函数的调用点和函数的定义点联接起来. A.静态联编:在编译阶段就完成的函数联编--函数重载. B.动态联编:在程序的运行阶段由系统自动选择具体的函数--虚函数. 注:C++的多态主要指的就是动态联编. 2.虚函数 (1)虚函数是在函数的定义时将其声明为虚函数即可. (2)说明:virtual 数据类型 函数名(参数表) {函数体} A.目的:当

C++语言笔记系列之十九——虚函数(2)

1.构造函数和析构函数中调用虚函数 (1)采用静态编译. (2)在编译阶段自动联接自己类中的函数或基类中的函数,不在派生类中重定义一个函数. 注:构造函数和析构函数中调用的虚函数,派生类都不一定存在的情况下,只能去调用基类或者自身的函数. example 1 #include <iostream.h> class A { public: A() {} virtual void func() {cout<<"A construction."<<endl

【学习笔记】【C语言】函数

一. 什么是函数 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,你可以说C语言程序是由函数构成的. 比如你用C语言编写了一个MP3播放器程序,那么它的程序结构如下图所示: 二. 函数的定义 1. 定义函数的目的 将一个常用的功能封装起来,方便以后调用 2. 定义函数的步骤 函数名:函数叫什么名字 函数体:函数是干啥的,里面包含了什么代码 3. 格式 固定格式(很多语言的函数都是这么写的) 返回值类型 函数名(形式参数列

《Java语言程序设计》大作业报告 九宫格游戏

    <Java语言程序设计>大作业报告     中国石油大学(北京)2015 - 2016 学年第二学期     班级:_____计算机14-1_______ 姓名:_____  许 恺_________________ 学号:______2014011329___________     题意分析 程序首先需要九个可以移动的格子,大小相等,有字符串标示,其次要可以相应鼠标和键盘方向键的控制,可以自由移动,并且与此同时记录步数,最后在满足条件时弹出对话框并显示步数以及是否打破记录,关于打破

ufldl学习笔记与编程作业:Softmax Regression(vectorization加速)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践. 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl. 于是最近就开始搞这个了,教程加上matlab编程,就是完美啊. 新教程的地址是:http://ufldl.stanford.edu/tutorial/ 本节是对ufldl学习笔记与编程作业:Softmax Regression(softmax回归)版本的改进. 哈哈,把向量化的写法给写出来了,尼玛好快啊.只需要2分钟,2

C语言笔记1--类型、运算符与表达式

 C语言笔记1--类型.运算符与表达式 总论: 变量和常量是程序处理的两种基本的数据对象.声明语句说明变量的名字和类型,也可以指定变量的初值.运算符指定将要进行的操作.表达式则把变量与常量组合起来生成新的值.对象的类型决定该对象可取值的集合以及可以对该对象执行的操作. 一.变量与常量的名字 1.名字是由字母.下划线和数字组成的序列,其第一个字符必须为字母:下划线"_"被看做是字母,但一般不要以下划线"_"开头. 2.名字区分字母大小写,变量名使用小写字母.符号常量

C++语言笔记系列之十二——C++的继承

C++的继承 1.继承方式 public(公有继承) 派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员. 派生类的对象只能访问基类的public成员. protected(保护继承),private(私有继承) 派生类中的成员可以访问基类的public成员和protected成员,但不能访问基类的private成员. 派生类的对象不能访问基类的任何成员. 2.例子 example 1: #include <iostream.h> clas