实验目
1.掌握维数组二维数组定义赋值输入输出方法
2.掌握字符数组字符串函数
3.掌握数组关算法
二 实验求
1 熟悉VC60环境
2 编程风格求正确写源程序
3 正确程序运行结果
4 实验求写实验报告
三 仪器耗材
计算机VC60软件
四 基础实验
1 输入程序查输出结果
#include
void main()
{
int ik5a[10]p[3]
for(i0i<10i++)
a[i]i
for(i0i<3i++)
p[i]a[i*(i+1)]
for(i0i<3i++)
kk+p[i]*2
printf(d\nk)
}
输出: 21
2 输入程序查输出结果
#include
void main()
{
int a[2][3]{{123}{456}}
int b[3][2]ij
printf(矩阵a:\n)
for(i0i<2i++)
{
for(j0j<3j++)
{
printf(5da[i][j])
b[j][i]a[i][j]
}
printf(\n)
}
printf(矩阵b:\n)
for(i0i<3i++)
{
for(j0j<2j++)
printf(5db[i][j])
printf(\n)
}
}
输出: 矩阵a:
1 2 3
4 5 6
矩阵b:
1 2
2 5
3 6
程序功: 输出二行三阶矩阵三阶二行矩阵
3 程序改错
设4x4方阵中元素键盘输入求出角线元素
1 #include
2 void main()
3 {
4 int a[4][4]
5 int ijsum
6 printf(please input the numbers)
7 for(i0i<4i++)
8 for(j0j<4j++)
9 scanf(d&a[i][j])
10 for(i1i<4i++)
11 {for(j1j<4j++)
12 printf(d&a[i][j])
13 printf(\n)
14 }
15 printf(\n)
16 for(i0i<4i++)
17 for(j0j<4j++)
18 if(ij) sumsum+a[i][j]
19 printf(sumd\nsum)
20 }
(1)请填写出错情况:
行号
出错情况描述
出错原修改
5
sum没赋初值
sum赋值sum0
10
i初值
应改i0
11
j初值
应改j0
12
&
删&
(2)修改程序运行结果
#include
void main()
{
int a[4][4]
int ijsum0
printf(please input the numbers)
for(i0i<4i++)
for(j0j<4j++)
scanf(d&a[i][j])
for(i0i<4i++)
{
for(j0j<4j++)
printf(5da[i][j])
printf(\n)
}
printf(\n)
for(i0i<4i++)
for(j0j<4j++)
if(ij) sumsum+a[i][j]
printf(sumd\nsum)
}
输出 please input the number48 79 48 16 47 49 28 49 78 49 13 15 16 17 19 17
48 79 48 16
47 49 28 49
78 49 13 15
16 17 19 17
sum127
4编程设3x3方阵中元素值进行初始化求出方阵中元素
输出示例:
#include
void main()
{
int a[3][3]ijmax0
printf(input the numbers)
for(i0i<3i++)
{
for(j0j<3j++)
scanf(d&a[i][j])
}
for(i0i<3i++)
{
for(j0j<3j++)
printf(5da[i][j])
printf(\n)
}
for(i0i<3i++)
{
for(j0j<3j++)
if(a[i][j]>max) maxa[i][j]
}
printf(maxd\nmax)
}
五 拓展实验
1 输入程序查输出结果
#include
void main()
{
char s1[10]ABCDEFGS2[10]ABCEGFE
int i0n
while((s1[i]s2[i])&&(s1[i]’\0’))
i++
ns1[i]s2[i]
printf(d\nn)
}
输出:
2程序填空
输出图案求二维数组双重循环
#include
void main()
{
{
{'*''*''*''*''*'' '' '' '' '}
{' ''*''*''*''*''*'' '' '' '}
{' '' ''*''*''*''*''*'' '' '}
{' '' '' ''*''*''*''*''*'' '}
{' '' '' '' ''*''*''*''*''*'}
}
Char[5][9] {0} 初始化二维数组
int ij
for(i0i<5i++)
{
for(j0j<9j++) { 层for循环
printf(ca[i][j])}
printf(\n) 矩阵行输出
}
}
3程序填空键盘输入字符串求统计输出该字符串中位数字写字母写字母空格字符出现次数
输出示例:
#include
void main()
{
char str[100]
int inum0space0capital0lowercase0other0
*num表示数字space表示空格capital表示写字母lowercase表示写字母other表示字符*
printf(请输入字符串:)
gets(str)
for( i0str[i]'\0'i++ )
if( str[i]>'0'&&str[i]<'9' ) num++
else if( str[i]’’ ) space++
else if( str[i]>'a'&&str[i]<'z' ) capital++
else if(str[i]>'a'&&str[i]<'z') lowercase++
else other++
printf(数字数量:d\n写字母数量d\n写字母数量:d\n空格数量:d\n字符数量:d\n
numcapitallowercasespaceother)
}
4编程实现简单密码检测程序户输入密码进行检测检测正确执行续程序段否求户重新输入密码输入三次错误密码退出程序(假定正确户密码1234)
输出示例:
#include
void main()
{
int nflage0count
for(count1count<3count++)
{
printf(请输入第d次密码count)
scanf(d&n)
if(n1234)
{
flage1
break
}
else printf(错误密码意键继续\n)
}
if(flage1)printf(密码正确欢迎登陆\n)
else printf(起已三次错误拜拜\n)
}
六 综合实验
1输入学生某科成绩计算出均成绩高分低分格数
程序输出示例:
#include
void main()
{
int a[100]
int insumcount0
float averagemaxt
printf(输入少成绩(100)\n)
scanf(d&n)
printf(输入d成绩:\nn)
for(i0i
scanf(d&a[i])
sum0
maxa[0]
ta[0]
}
for(i0i
sumsum+a[i]
if(a[i]<60)count++
if(a[i]>max)maxa[i]
if(a[i]
average(float)sumn
printf(科目均分:2f\n格数:2f\n高分:2f\n低分:d\naveragecountmaxt)
}
2选择法10整数排序排序结果进行输出求10整数scanf函数输入
程序提示:
输入10整数存放数组aa[1]a[10]中
输出10数
for(i1i<6i++)
{
mini
for(ji+1j<5j++)
if(a[min]>a[j]) minj 进次较找数标号
交换a[i]a[min]
}
程序输出示例:
#include
#define n 10
void main()
{
int ij
int a[n]min
for (i0i
scanf(d&a[i])
}
i0
while(i
for(jij
if (a[i1] {
mina[i1]
a[i1]a[j]
a[j]min
}
}
i++
}
for(i0i
printf( d\na[i])
}
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档