c语言第四讲之数组

c语言第四讲之数组

一、定义一维数组
int a[5];
int a[5]={2,4,6,8,10}

int a[5];
a[0]=2;
a[1]=4;
a[2]=6;
a[3]=8;
a[4]=10;
int a[5]={2,4,6,}

int a[5];
a[0]=2;
a[1]=4;
a[2]=6;
a[3]=0;
a[4]=0;

1.倒序输出
#include<stdio.h>
int main()
{
int i,a[10]={0,1,2,3,4,5,6,7,8,9} ;
for(i=9;i>=0;i–)
{
printf("%d\t",a[i]);
}

return 0;

}
2.
输入10个数字。对他们由小到大的顺序排序后的结果。
23 45 56 34 12

#include<stdio.h>
int main()
{

int a[10];
int i,j,k;
printf("请输入五个数:\n"); 
for(i=0;i<=9;i++)
	scanf("%d",&a[i]);
	for(i=0;i<8;i++)
	
		for(j=i+1;j<=9;j++)
		
			if(a[i]>a[j])
			{
				k=a[i];
				a[i]=a[j];
				a[j]=k;
			}		

printf("排序后的的面积\n");
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
printf("\n");

return 0;

}

二、定义二维数组
int a[2][3]={{1,2,3}{4,5,6}};→简化int a[2][3]={1,2,3,4,5,6};

int a[2][3];
a[0][0]=1;
a[0][1]=2;
a[0][2]=3;
a[1][0]=4;
a[1][1]=5;
a[1][2]=6;

1.将一个二维数组
a=
1 2 3
4 5 6
的行列元素互换,存到另一个二维数组b并输出

#include<stdio.h>
int main()
{
int a[2][3]={1,2,3,4,5,6};
int b[3][2];
int i,j;
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
b[j][i]=a[i][j];

printf("数组b为:\n");
for(j=0;j<=2;j++)
{
	for(i=0;i<=1;i++)
	printf("%d\t",b[j][i]);
	printf("\n");
 } 

return 0;

}

三、定义字符数组
char c[10]{‘i’,‘f’,‘t’,‘h’,‘t’,‘y’,‘q’,‘v’,’ ‘,‘r’};

char c[10];
c[0]=‘i’;
c[1]=‘f’;
c[2]=‘t’;
c[3]=‘h’;
c[4]=‘t’;
c[5]=‘y’;
c[6]=‘q’;
c[7]=‘v’;
c[8]=’ ';
c[9]=‘r’;

四、输出字符数组
1.挨个输出printf(“%c”,)
①定义一个字符串“kn shuai”,然后输出这个字符串

#include<stdio.h>
int main()
{
char c[8]={‘k’,‘n’,’ ',‘s’,‘h’,‘a’,‘i’};
int i;
for (i=0;i<=7;i++)
printf("%c",c[i]);
printf("\n");

return 0;

}

②输出一个图案

 ***

’* ‘ ‘
’**

#include<stdio.h>
int main()
{
char c[3][3]={’ ‘,’’,’ ‘,’’,’ ‘,’’,’ ‘,’’,’ '};
int i,j;
for (i=0;i<=2;i++){
for(j=0;j<=2;j++)
printf("%c",c[i][j]);
printf("\n");
}
return 0;
}

2.整体输出printf (“%s”,)或者puts()
①#include<stdio.h>
int main()
{
char c[8]={‘k’,‘n’,’ ',‘s’,‘h’,‘u’,‘a’,‘i’};
printf("%s",c);

return 0;

}

②#include<stdio.h>
int main()
{
char c[9]={‘k’,‘n’,’ ‘,‘s’,‘h’,‘u’,‘a’,‘i’,’\0’};
puts©;

return 0;

}

五、输入字符数组
注意:
只能提取除了空格以外的字符
①挨个单词输入scanf(“%s%s…”,)
注意:
只能提取除了空格以外的字符
1.键盘输入“ I am kn”

②整句输入gets()

#include<stdio.h>
int main()
{
char c[12]
gets©;

return 0;

}

练习:
输入一行由空格和单词组成的字符(80以内),请统计有多少个单词

#include<stdio.h>
int main()
{
char c[81];
int i,d=1;
gets©;
if(c[0]==’ ‘)
d=0;
for (i=0;c[i]!=’\0’;i++){

	if(c[i]==' '&&c[i+1]!=' '&&c[i+1]!='\0')
	d++;
}
printf("有%d个\n",d);

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值