(一)
#include <stdio.h>
void main()
{
int k;
int *p=&k;
printf("%x\n",&p);
printf("%x\n",p);
*p=10;
printf("%d\n",*p);
int a[10]={7,8,15,35};
int *q=a;//q=&a[0];
//输出 15 下标法,地址法 通过a, q
printf("%d\n",a[2]);
printf("%d\n",*(q+2));
printf("%d\n",*(a+2));
//输出地址: a[0]的地址 ,3种方法
printf("%x\n",q);
printf("%x\n",&a[0]);
printf("%x\n",&*a);
// a[2] 的地址 ,3种方法
printf("%x %x %x\n",&a[2],a+2,q+2);
//输出q, a 的值
printf("%d %d\n",*q,*a);
}
(二)
#include <stdio.h>
void main()
{
int a[50]={20,15,36,9,18};
int i,max=5,min=4;
for(i=4;i>=0;i--)
if(a[i]>a[max]) max=i;
printf("最大值为%d\n",a[max]);
for(i=4;i>=0;i--)
if(a[i]<a[min]) min=i;
printf("最小值为%d\n",a[min]);
}
(三)
#include <stdio.h>
void main()
{
int a[50]={9,15,18,30,45};
int length=5,i;//数组的元素个数
//输出数组中所有元素的值
for(i=0;i<=4;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
//插入元素值20,使得数组元素还是从小到大的顺序,并输出数组的所有元素值
for(i=4;i>=0;i--)
{
if(a[i]>20)
{
a[i+1]=a[i];
}
else
break;
}
a[i+1]=20;
for(i=0;i<=5;i++)
printf("%d\t",a[i]);
printf("\n");
//完成元素值7,50的插入,并输出数组的所有元素值。
for(i=5;i>=0;i--)
{
if(a[i]>7)
{
a[i+1]=a[i];
}
else
break;
}
a[i+1]=7;
for(i=6;i>=0;i--)
{
if(a[i]>50)
{
a[i+1]=a[i];
}
else
break;
}
a[i+1]=50;
for(i=0;i<=7;i++)
printf("%d\t",a[i]);
printf("\n");
}
(四)
//十进制转换成二进制
#include <stdio.h>
void main()
{
int n,i,m=0;
int a[50];
printf("输入一个十进制数");
scanf("%d",&n);
printf("%d的二进制数是",n);
do{
i=n%2;
n=n/2;
a[m++]=i;
}while(n>0);
for(m;m>0;)
printf("%d",a[--m]);
printf("\n");
}
(五)
#include <stdio.h>
void main()
{
//使用do-while输出1-10的数字
int n=1;
do{
printf("%d\t",n);
n++;
}while(n<=10);
//求整数1-10的平方,当平方数大于50时跳出循坏。(用上break)
int i=1,m=0;
for(i;m<50;i++)
{
m=i*i;
printf("%d的平方是%d\n",i,m);
}
printf("平方数大于50跳出循坏\n");
//求n! 输出结果
int a,b,sum=0;
scanf("%d",&a);
for(a;a>0;a--)
{
b=a*a;
sum=sum+b;
}
printf("阶乘为%d",sum);
}