10.26
1.看c语言相关知识:
数组:一维数组;
二维数组;
多维数组;
字符数组;
数组的概念及定义:是一种基本的构造类型,是一组相同数据类型的集合。数组中的元素在内存中连续存放;
一维数组的定义格式:
类型说明符 数组名[常量表达式];
例如:
编程输入求任意10个整数的最大值。
int main()
{
int a[10];
int i,max;
max=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[1]);
}
for(i=0;i<10;i++)
if(a[i]>max)
max=a[i];
printf("max=%d\n",max);
return(0);
}
二维数组的定义和初始化:
格式:类型说明符 数组名【常量表达式】【常量表达式】
例如:找出矩阵中的最大元素所在的位置。
#include<stdio.h>
int main()
{
int a[3][4],i,j,row,col;
printf("enter 12 integers:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("\narry:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
row=col=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>a[row][col])
{
row=i;
col=j;
}
printf("max=a[%d][%d]=%d\n",row,col,a[row][col]);
return(0);
}
多维数组的应用和二维数组类似;
字符数组:
字符数组定义举例:char c[10];
注意:当用标准函数scanf和prinf对字符串整体输入或输出是,用格式控制符”%s”。但是”%s”读入时遇到空格或者回车就结束读操作,自动加结束标志“\0”,输入时遇到“\0”就结束输入操作,因此若读入的字符串包含空格就不能使用”%s”。
例如下面的程序:
int main()
{
char c[10]={'I',' ','a','m',' ','a',' ','b','o','y'};
int i;
for(i=0;i<10;i++)
printf("%c",c[i]);
printf("\n");
return(0);
}
也可以这样写:
int main()
{
char c[]={'I',' ','a','m',' ','a',' ','b','o','y','\0'};
printf("%s\n",c);
return(0);
}
由键盘输入一行字符(少于100个,以回车符为结束),要求分别统计出其中英文大写字母,小写字母,数字,空格和其他字符的个数。
#include<stdio.h>
int main()
{
char str[100];
int i=0,j,alpha1=0,alpha2=0,digit=0,space=0,other=0;
printf("please input a string(<=100):\n");
while((str[i])=getchar()!='\n')
i++;
str[i]='\0';
i=0;
while(str[i]!='\0')
{
if(str[i]>='A'&&str[i]<='Z')
alpha1++;
else if(str[i]>='a'&&str[i]<='z')
alpha2++;
else if(str[i]>='0'&&str[i]<='9')
digit++;
else if(str[i]=' ')
space++;
else
other++;
i++;
}
printf("alpha1=%d,alpha2=%d,digit=%d,space=%d,other=%d",alpha1,alpha2,digit,space,other);
return(0);
}
2.做100道趣味题的4道;