#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语言笔记————函数的作业