如何把一个值赋给很多变量?
数组提供了一种循环访问变量的方法
int main()
{
int array[10],i=0;
array[0]=1;
array[1]=1;
for(i=0; i<10; i++)
array[i]=1;
for(i=0; i<10; i++)
printf("array[%d]=%d\t",i,array[i]);
}
如果不赋值会怎么样?
int main()
{
int array[10],i=0;
array[0]=1;
array[1]=1;
for(i=0; i<10; i++)
printf("array[%d]=%d\t",i,array[i]);
}
其他初始化赋值方法:
int main()
{
int array[10]= {0,1,2,3,4,5,6,7,8,9},i=0;
for(i=0; i<10; i++)
array[i]=i;
for(i=0; i<10; i++)
printf("array[%d]=%d\t",i,array[i]);
}
一个例子(让用户分别给每个数组元素赋值,最后算出平均数)
#define LEN 4
int main()
{
int array[LEN],i=0,sum=0;
for(i=0; i<LEN; i++)
{
scanf("%d",&array[i]);
}
for(i=0; i<LEN; i++)
{
sum=sum+array[i];
}
printf("%5.2f",sum*1.0/LEN);
}
改进代码:
#define LEN 4
int main()
{
int array[LEN],i=0,sum=0;
for(i=0; i<LEN; i++)
{
scanf("%d",&array[i]);
sum=sum+array[i];
}
printf("%5.2f",sum*1.0/LEN);
}
利用数组实现数位显示
int main()
{
int number=0,i=0,array[5],divider=10000,j=0;
scanf("%d",&number);
for(i=0; i<5; i++)
{
array[i]=number/divider;
number=number%divider;
divider=divider/10;
if(j==0 && array[i]>0)
{
j=5-i;
printf("这是%d位数\n每个位数是:",j);
}
if(j>0)
printf("%d ",array[i]);
}
printf("\n倒序结果为:");
for(i=4; i>=5-j; i--)
printf("%d ",array[i]);
}
数组排序
#define LEN 4
int main()
{
int array[LEN],i=0,j=0,temp=0;
for(i=0; i<LEN; i++)
{
scanf("%d",&array[i]);
}
for(i=0; i<LEN; i++)
{
for(j=i+1; j<LEN; j++)
{
if(array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
for(i=0; i<LEN; i++)
printf("array[%d]=%d\t",i,array[i]);
}
转置二维矩阵
有问题?
#define LEN 4
int main()
{
int array[LEN][LEN]= {1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4};
int i=0,j=0,temp;
for(i=0; i<LEN; i++)
{
for(j=0; j<LEN; j++)
printf("[%d,%d]=%d\t",i,j,array[i][j]);
printf("\n");
}
for(i=0; i<LEN; i++)
for(j=0; j<LEN; j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
for(i=0; i<LEN; i++)
{
for(j=0; j<LEN; j++)
printf("[%d,%d]=%d\t",i,j,array[i][j]);
printf("\n");
}
}
只需改动一个!
#define LEN 4
int main()
{
int array[LEN][LEN]= {1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4};
int i=0,j=0,temp;
for(i=0; i<LEN; i++)
{
for(j=0; j<LEN; j++)
printf("[%d,%d]=%d\t",i,j,array[i][j]);
printf("\n");
}
for(i=0; i<LEN; i++)
for(j=i; j<LEN; j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
for(i=0; i<LEN; i++)
{
for(j=0; j<LEN; j++)
printf("[%d,%d]=%d\t",i,j,array[i][j]);
printf("\n");
}
}
删除指定元素
#define LEN 10
#include "stdio.h"
#include "stdlib.h"
main()
{
int array[LEN]= {0,1,2,3,4,5,6,7,8,9},number=0,i=0,j=0;
scanf("%d",&number);
for(i=0; i<LEN; i++)
{
if(number==array[i])
{
break;
}
}
for(j=i; j<LEN-1; j++)
{
array[j]=array[j+1];
}
array[LEN-1]=0;
for(i=0; i<10; i++)
printf("array[%d]=%d\t",i,array[i]);
}
[此贴子已经被作者于2015-11-05 20:47:26编辑过]