#import <Foundation/Foundation.h>
#import "DIyici.h"
#include "string.h"
#include <stdio.h>
/*
void dy(int *a ,int *b);
void dy(int *a ,int *b)
{
int p;
p = *a;
*a = *b;
*b = p;
printf("&a=%p,%p\n",a,b);
printf("a=%d,%d",*a,*b);
}
*///指针函数调用两个数值转换
/*
int manxxx(int a , int b);
int manxxx(int a , int b)
{
return a>b?a:b;
}
*///函数调用两个数判断大小
/*
void rn(int a);
void rn(int a)
{
if ((a%4==0&&a%100!=0)||a%400==0)
{
printf("yes");
}
else
{
printf("no");
}
}
*///函数调用求闰年
int main(int argc, const char * argv[])
{
/*
int aa = 3;
int bb = 7;
printf("&aa=%p,%p\n",&aa,&bb);
dy(&aa, &bb);
printf("&aa=%p,%p\n",&aa,&bb);
printf("%d,%d",aa,bb);
*///指针函数调用两个数值转换
/*
int b;
printf("请输入一个数:");
scanf("%d",&b);
rn(b);
*///函数调用求闰年
/*
int x=9,y=12;
int mm=manxxx(x,y);
printf("%d",mm);
*///函数调用两个数判断大小
/*
int a[5];
printf("请输入五个数字:\n");
for (int i=0; i<5; i++) {
scanf("%d",&a[i]);
}
printf("你输入五个数字是:\n");
for (int i=0; i<5; i++) {
printf("%d\t",a[i]);
}
printf("\n你输入的数字按照从大到小的顺序排列为:\n");
for (int i=0; i<5; i++)
{
for (int j=i+1; j<5; j++)
{
if (a[i]<a[j])
{
int b;
b=a[i];
a[i]=a[j];
a[j]=b;
}
}
printf("%d\t",a[i]);
}
*///冒泡排序
/*
int a;
printf("请输入一个年份:");
scanf("%d",&a);
if((a%4==0&&a%100!=0) || a%400==0)
{
printf("这个年份是润年");
}
else
{
printf("这个年份不是润年");
}
*///判断润年
/*
int a;
printf("请输入一个四位数:");
scanf("%d",&a);
if (a==((a/1000)*(a/1000)*(a/1000)*(a/1000)+(a%1000/100)*(a%1000/100)*(a%1000/100)*(a%1000/100)+(a/10%10)*(a/10%10)*(a/10%10)*(a/10%10)+(a%10)*(a%10)*(a%10)*(a%10)))
{
printf("这个数是水仙花数");
}
else {
printf("这个数bu是水仙数");
}
*///水仙花数
/* int g,s,b,q;
for (q=1; q<10; q++)
{
for (b=0; b<10; b++)
{
for (s=0; s<10; s++)
{
for (g=0; g<10; g++)
{
int num=q*1000+b*100+s*10+g;
if (q*q*q*q+b*b*b*b+s*s*s*s+g*g*g*g==num)
{
printf("%d\t",num);
}
}
}
}
}
*///打印四位水仙花
/*
for (int i=0; i<5; i++)//控制换行
{
for (int m=5; m>i; m--)//控制空格
{
printf(" ");
}
for (int n=0; n<2*i-1; n++)// 控制*号
{
printf("*");
}
printf("\n");//换行
}
*///打印三角形
/* int i,j;
for ( i=2; i<100; i++)
{
for ( j=2; j<i; j++)
{
if (i%j==0)
{
break;
}
}
if (i==j)
{
printf("%d\t",i);
}
}
*///找100内的素数
/*
int year, bol;
scanf("%d",&year);
if (year%4!=0)
{
bol=1;
}
else if(year%400==0)
{
bol=1;
}
else if (year%100!=0)
{
bol=1;
}
if (bol==1) {
printf("yes");
}
else
{
printf("no");
}
*///找闰年
/*
#if 0
int n;
int a[100];
time_t t;
srand((int)time(&t));
for (int m=0; m<10; m++)
{
n = (int)(100.0*rand()/(RAND_MAX+1.0));
}
printf("%d\n",n);
for (int i=0; i<100; i++)
{
a[i]=i+1;
if (i>=n)
{
a[i]=i;
}
printf("%d\t",a[i]);
}
for (int i=0; i<100; i++)
{
if (a[i+1]-a[i]==0)
{
printf("\n%d",a[i]);
break;
}
}
#endif
*///随机数,然后找出随机数
/*
int a;
printf("请输入一个数:");
scanf("%d",&a);
for (int i=2; i<a; i++)
{
if (a%i!=0) {
printf("YES");
break;
}
else
{
printf("NO");
break;
}
}
*///找素数
/*
int a,b;//a是你要输入的数,b是你要输入数的位数
long sun;//相加的结果
printf("shu ru liang ge shu:");
scanf("%d%d",&a,&b);
int c=a;//c是接收a的初值,
for (int i=1; i<b; i++)
{
sun+=c;
printf("%d+",c);
c=c*10+a;//把接收的值变成(例如:3,33,333,3333)
}
printf("%d=%ld",c,sun+c);
*///3+33+333+3333+33333=37035
/*
int year,month,day;
int num;
printf("请输入一个年,月,日");
scanf("%d%d%d",&year,&month,&day);
if ((year%4==0&&year%100!=0) ||year%400==0){
switch (month) {
case 1:
num =day;
break;
case 2:
num = 31+day;
break;
case 3:
num = 31+29+day;
break;
case 4:
num = 31+29+31+day;
break;
case 5:
num = 31+29+31+30+day;
break;
case 6:
num = 31+29+31+30+31+day;
break;
case 7:
num = 31+29+31+30+31+30+day;
break;
case 8:
num = 31+29+31+30+31+30+31+day;
break;
case 9:
num = 31+29+31+30+31+30+31+31+day;
break;
case 10:
num = 31+29+31+30+31+30+31+31+30+day;
break;
case 11:
num = 31+29+31+30+31+30+31+31+30+31+day;
break;
case 12:
num = 31+29+31+30+31+30+31+31+30+31+30+day;
default:
printf("error") ;
break;
}
printf("%d",num);
}
else{
switch (month) {
case 1:
num =day;
break;
case 2:
num = 31+day;
break;
case 3:
num = 31+28+day;
break;
case 4:
num = 31+28+31+day;
break;
case 5:
num = 31+28+31+30+day;
break;
case 6:
num = 31+28+31+30+31+day;
break;
case 7:
num = 31+28+31+30+31+30+day;
break;
case 8:
num = 31+28+31+30+31+30+31+day;
break;
case 9:
num = 31+28+31+30+31+30+31+31+day;
break;
case 10:
num = 31+28+31+30+31+30+31+31+30+day;
break;
case 11:
num = 31+28+31+30+31+30+31+31+30+31+day;
break;
case 12:
num = 31+28+31+30+31+30+31+31+30+31+30+day;
default:
printf("error") ;
break;
}
printf("%d",num);
}
*///给定年月日,判断是这个年份的多少天
/* int a[3][2]={1,2,3,4,5,6};
int b[2][3];
printf("转换前的数组:\n");
for (int i=0; i<3; i++) {
for (int j=0; j<2; j++) {
printf("a[%d][%d]=%d ",i,j,a[i][j]);
}
printf("\n");
}
printf("\n");
printf("转换后的数组:\n");
for (int i=0; i<2; i++) {
for (int j=0; j<3; j++) {
b[j][i]=a[i][j];
printf("b[%d][%d]=%d ",i,j,b[j][i]);
}
printf("\n");
}
*///数组转换
/* char a[5];
char b[5];
printf("请输入一个字符串");
scanf("%s",a);
for (int i=0; i<5; i++) {
b[i] = a[4-i];
printf("%c",b[i]);
}
*///字符串,倒着输出
/**
*自定义字符串拼接和复制函数的方法
*(注意:要导入头文件:#include "string.h")
*/
/*
char a[10];
char b[10];
printf("请输入第一个字符串:");
scanf("%s",a);
printf("请输入第二个字符串:");
scanf("%s",b);
strcat(a,b);//合并字符串
printf("字符合并后为:");
puts(a);//打印字符串;
printf("字符复制后为:");
strcpy(a,b);//字符串A复制给B
puts(a);//打印字符串
*///字符串合并
/*
char a[]="hello ";
char b[]="word";
int i,j;
// for (i=0; a[i] != '\0'; i++);//判断a[]什么时候为‘\0’,
// for (j=0; a[j] != '\0'; j++)
// {
// a[i+j] = b[j];//把b[j]的值赋在a[i+j]的后面
//
// }
// a[i+j] = '\0';//拼接完成要结束
// printf("%s\n",a);//打印a[]赋值后的结果
for ( i=0; b[i] != '\0'; i++)
{
a[i] = b[i];//把b[i]的值赋给a[i]
}
a[i] = '\0';//复制完成要结束
printf("%s",a);
*///字符串拼接,复制
/*
int year,month,today,sum;
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入一个年份:");
scanf("%d%d%d",&year,&month,&today);
printf("你输入的日期是:%d年%d月%d日",year,month,today);
if (month>12 || month<=0) {
printf("你输入的月份错误!");
}
if ((year%4==0 &&year%100!=0)||year%400==0) {
days[1] =29;
}
for (int i=0; i<month-1; i++) {
sum=sum+days[i];
}
sum=sum+today;
if(month==1){
sum=today;
}
printf("\n你输入的日期是当年的第%d天",sum);
*///给定年月日判断是这个年份的多少天
/*
int *p;
int a = 100;
p = &a;
printf("p=%p\n",p);
printf("*p=%d\n",*p);
printf("&a=%p\n",&a);
*///指针赋值
/*
//
// int a[5] = {1,2,3,4,5};
// int *p = (int *)(&a+1);//&a+1,是在a指向的地址加个1,即:4+1
// printf("%d",*(p-1));//p-1,是a的地址已经加1了,现在又减1.即:5-1
//
int array[5] = {1,2,3,4,5};
int *r;
r = array;
printf("%d",*r);
r++;
printf("%d",*r);
*///指针数组的自增
/*
int a[5] = {1,2,3,4,5};
int *p;
p = a;
for (int i=0; i<5; i++, p++) {
printf("%d",*p);
}
printf("\n");
p = a+4;
for (int j=4; j>=0; j--,p--) {
printf("%d",*p);
}
*///指针数组倒序排列
/*
//struct 结构体创建的关键字
struct student {
char *name;
int age;
float score;
}boy,boy1={"xhj",20,98.9};//创建结构体的对象方法一
// struct student boy1 = {"xhj",20,98.9};//创建结构体的对象方法二
boy.age = 26;
printf("boy=%d\n",boy.age);
printf("boy1=%d,%s,%f",boy1.age,boy1.name,boy1.score);
struct student str1,str2;//创建结构体的对象方法三
str1.age = 23;
printf("str1=%d\n",str1.age);
str1.name = "xuhejie";
printf("str1=%s\n",str1.name);
str2.age = 27;
printf("str2=%d\n",str2.age);
*///结构体的创建
/*
enum week//enum 枚举类型名{取值表};
{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday,
}a;
enum week b,c,d,e,f,g;
a=Monday;
b=Tuesday;
c=Wednesday;
d=Thursday;
e=Friday;
f=Saturday;
g=Sunday;
printf("%d",a);
*///枚举类型
/*
int n,cent;
// int k;
printf("Please enter the number of array:\n");
scanf("%d",&n);//输入你要输入数的个数
printf("Please enter the array:\n");
int array[n];
for (int i=0; i<n; i++)
{
scanf("%d",&array[i]);//输入数组
cent+= array[i];//求所以数组的和
}
// while (k<n)
// {
// cent+=array[k];
// k++;
// }
printf("%lf",(double)cent/n);//注意转换为double,因为平均值有小数
*///输入N个数然后求其平均值
/*
int a,b,c,d;
a=5;
b=5;
c=(a++)+(a++)+(a++);//5+6+7
d=(++b)+(++b)+(++b);//6+7+8
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);//a=8,b=8,c=18,d=21
*///自增方法
/*
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("max=%d",((a>b?a:b)>c?(a>b?a:b):c)>d?((a>b?a:b)>c?(a>b?a:b):c):d);
printf("min=%d",((a<b?a:b)<c?(a<b?a:b):c)<d?((a<b?a:b)<c?(a<b?a:b):c):d);
*/// 输入四个数,然后输出最大的数,和最小的数/*
int n;
int a[100];
time_t t;
srand((int)time(&t));
for (int m=0; m<10; m++)
{
n = (int)(100.0*rand()/(RAND_MAX+1.0));
}
printf("%d\n",n);
for (int i=0; i<100; i++)
{
a[i]=i+1;//这样是因为a[0]的值是1;i为下标
if (i>=n)
{
a[i]=i;
}
printf("%d\t",a[i]);
}
for (int i=0; i<100; i++)
{
if (a[i+1]-a[i]==0)
{
printf("\n%d",a[i]);
break;
}
}
}
*///随机一个100内的数,然后找出这个数