[]优先级为1;
---插播:
#include<stdio.h>
int main(void)
{
printf("%d\n",sizeof(short int));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(long int));
printf("%d\n",sizeof(long long int));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
printf("%d\n",sizeof(long double));
return 0;
}
二维数组
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 16
#define N 9
int main(void)
{
srand(time(0));
int a[M][N],i,j;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
a[i][j]=rand()%10;
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
首先,stdlib.h头文件,虽然不太懂能干啥,至少能产生随机数:用srand函数产生种子,用rand函数产生随机数,伪;
<time.h> + time(0)时间戳!可打印从1970/01/01至今的秒数!前两天看区块链还看到时间戳来着;
define的使用,以后可以试着用用;
多维数组初始化,用多个循环嵌套;
打印0-9之间的随机数,给随机数除以10取模就好;
二维数组在灰度显示中的应用,听起来好高级的亚子。
选出一个数组中的最大值与最小值,可先把第一个元素的值赋给最大值和最小值。
排序的方法:
- 冒泡排序
#include<stdio.h>
int main(void)
{
int i,j,temp;
int a[10]={45,76,88,56,24,17,38,90,63,78};
for(i=0;i<10;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
需要用到两套循环,i用来记交换的次数,j用来让每一个元素被判断。emmm不得不说真的是 妙啊!
https://blog.csdn.net/weixin_41190227/article/details/86600821
10大排序方法有时间学一学!
一定要记得sum初始化为0!
啊啊啊啊啊原来如此,对于字符数组可以一次性全部输出,而数值只能循环输出!为此卡了一个小时QAQ
计随机数组中一个数出现的次数:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
srand(time(0));
int n,a[100],i,j;
int b[10]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=rand()%10;
printf("%d ",a[i]);
}
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
if(a[i]==j)
{
b[j]++;
}
}
}
for(i=0;i<10;i++)
{
printf("%d\n",b[i]);
}
return 0;
}
字符串以\0结尾,所以字符数组中元素加一。
复制一个字符数组:
#include<stdio.h>
int main(void)
{
char form[100],late[100],i;
gets(form);
while(form[i]!='\0')
{
late[i]=form[i];
i++;
}
printf("%s",late);
return 0;
}
简洁得高级!