班级: 学号: 姓名: 成绩:
实验1熟悉Visual C++60环境运行C程序
实验目
1.掌握Visual C++60环境C程序建立编辑编译执行程
2.掌握C程序基框架结构完成简单程序编制运行
3.解基输入输出函数scanf()printf ()格式方法
4.掌握发现语法错误逻辑错误方法排简单错误操作技
二实验容
1.列程序功:键盘输入两数ab求方屏幕输出输入该C程序编译运行记屏幕输出结果文件名sy1_1c保存
#include
main()
{
int absum *定义整型变量absum *
printf(Please Input ab \n ) *输出提示信息*
scanf(dd&a&b) *键盘输入两整数分赋予ab*
suma*a+b*b *赋值语句a2+b2结果赋变量sum*
printf(d*d+ d*dd\naabbsum) *输出语句*
}
该程序运行结果:
Please Input ab
2 4
2*2+4*420
2. 改错题
程序中画出错误语句修改语句完整写该语句右边
(1)列程序功:计算x*y值结果输出试纠正程序中存错误实现功程序文件名sy1_2c保存
#include
main main()
{ int x2y3a int x2y3a
Ax*y ax*y
print ('adA) printf (ada)
printf(\n)
}
该程序运行结果:
a6
(2)程序功:求两数中较数输出纠正程序中存错误实现功程序文件名sy1_3c保存
#include
viod main() void main()
{
int a b max
Scanf(dd&a&b) scanf(dd&a&b)
Maxa maxa
If (maxPrintf(maxdmax) printf(maxdmax)
}
该程序运行结果:
53
max5
3.程序填空题
(1)键盘输入两整数输出两整数根注释信息填写完整程序实现功文件名sy1_4c保存
#include
main()
{
int xytotal * 定义整型变量xytotal*
printf(Please input xy ) * 输出提示信息 *
scanf(dd&x&y) * 键盘输入两数分赋予xy*
totalx+y * 赋值语句 *
printf(d + dd\nxytotal) * 输出两整数 *
该程序运行结果:
Please input xy 2 4
2+46
}
该程序运行结果:
Input ab please 20 17
20173
(2)键盘输入两整数输出两整数差根注释信息填写完整程序实现功程序文件名sy1_5c保存
#include
main()
{
int abm
printf(Input ab please )
scanf(dd&a&b)
_mab___ * 赋值语句ab差值赋m *
_printf(ddd\nabm)_ * 输出a b差结果值换行 *
}
4.编程题
(1)编程序运行输出信息:Better CityBetter Life程序文件名sy1_6c保存
#include
main()
{
printf(Better CityBetter Life\n)
}
(2)编程序键盘输入3整数输出方程序文件名sy1_7c保存
#include
main()
{
int abcsum
printf(Please Input abc \n )
scanf(ddd&a&b&c)
suma*a+b*b+c*c
printf(d*d+d*d+d*dd\naabbccsum)
}
该程序运行结果:
Please Input abc
234
2*2+3*3+4*429
实验2 数类型运算符表达式
实验目
1.理解C语言中种数类型意义掌握种数类型定义方法
2.掌握C语言常量变量定义
3.掌握C语言数类型运算符规
二实验容
1.改错题
程序中画出错误语句修改语句完整写该语句右边
(1)列程序功:已知圆锥半径r高h计算圆锥体积v纠正程序中存错误实现功程序文件名sy2_1c保存计算圆锥体积公式:
#include stdioh #include
main() main()
{ float r10h5 float r10h5v
v13*314159*r^2*h v103*314159*r*r*h
printf(vd\nv) printf(vd\nv)
}
该程序运行结果:
v523
(2)列程序功:通键盘输入两整数分存放变量xy中第3变量实现变量xy互换值纠正程序中存错误实现功程序文件名sy2_2c保存
#include
main()
{
int xy
printf(请输入两整数\n)
scanf(ddx y) scanf(dd&x &y)
printf(初始状态x:d y d\nxy )
xx+y xx+y
yxy
xxy
printf(终状态x:d y dnxy)
}
该程序运行结果:
请输入两整数
2 5
初始状态x:2 y 5
终状态x:5 y 2
2.程序填空题
该程序运行结果:
61
(1) 计算x4时公式×2x2 值补充完善程序实现功程序文件名sy2_3c保存
#include
main()
{
float x40y
y(1+x*x*x)(x*x+4*sqrt(x)+10)*2*x*x
printf(fy)
}
(2) 列程序功:键盘输入3整数分存入变量abc然变量a值存入变量b变量b值存入变量c变量c值存入变量a输出转存变量abc值(提示:中间变量)补充完善程序实现功程序文件名sy2_4c保存
该程序运行结果:
Please input abc1 2 3
a3
b1
c2
#include
main ()
{
int abc t
printf(Please input abc )
scanf(ddd &a&b&c )
ta
ac
cb
bt
printf(ad\nbd\ncd\nabc)
}
3.编程题
(1)键盘输入3写英文字母转换成写字母输出程序文件名sy2_5c保存
该程序运行结果:
ABC
abc
#include
main()
{
char c1c2c3
scanf(ccc&c1&c2&c3)
c1c1+32
c2c2+32
c3c3+32
printf(ccc\nc1c2c3)
}
(2)键盘输入3整数输出均值积程序文件名sy2_6c保存
#include
main()
{
int abcji
float ave
printf(请输入3整数\n)
scanf(ddd&a&b&c)
ave(a+b+c)30
jia*b*c
printf(avefjid\naveji)
}
该程序运行结果:
请输入3整数
2 4 6
ave4ji48
实验3 序结构程序设计
实验目
1.掌握scanf()printf()常输入输出函数
2.掌握格式控制符
3.掌握序结构程序设计方法
二实验容
1.改错题
程序中画出错误语句修改语句完整写该语句右边
该程序运行结果:
请输入华氏温度:
75
摄氏温度:2389
(1)列程序功: 输入华氏温度求输出摄氏温度公式:C 输出取2位数纠正程序中存错误实现功程序文件名sy3_1c保存
#include
main()
{
float cf
printf(请输入华氏温度:\n)
scanf(ff) scanf(f&f)
c(59)*(f32) c(509)*(f32)
printf(摄氏温度:52f\n c) printf(摄氏温度:52f\n c)
}
(2)列程序功:列公式计算输出x值中ab值键盘输入纠正程序中存错误实现功程序文件名sy3_2c保存
该程序运行结果:
46
x0
#include
main()
{ int ab
float x
scanf(ddab) scanf(dd&a&b)
x2ab(a+b)(a+b) x20*a*b((a+b)*(a+b))
printf(xd\nx) printf(xf\nx)
}
该程序运行结果:
a
a97
A65
(3)列程序功:键盘输入写字母求改写字母输出请纠正程序中存错误程序实现功程序文件名sy3_3c保存
#include
main()
{
char c1c2
c1getchar c1getchar() * 键盘输入写字母 *
printf(cd\nc1c1)
c2c1+26 c2c132 * 转换写字母 *
printf(cd\nc2c2) * 输出写字母ASCII码值 *
}
2.程序填空题
(1)列程序功:定格式输入数求格式输出结果补充完善程序实现功程序文件名sy3_4c保存
该程序运行结果:
enter xy:2 34
x+y54
输入形式 enter xy:2 34
输出形式 x+y54
#include
main()
{
int x
float y
printf (enter xy )
scanf(df&x&y)
printf(x+y1f\nx+y)
}
(2) 列程序功:设圆半径r15圆柱高h3求圆周长圆面积圆球表面积圆球体积圆柱体积scanf输入数rh输出计算结果输出时求文字说明取数点2位数字(周长l2圆面积s圆球表面积sq圆球体积vq圆柱体积vz)请补充完善程序实现功程序文件名sy3_5c保存
#include
main()
{
float pihrlssqvqvz
pi3
printf(请输入圆半径r圆柱高h:\n)
scanf(ff&r&h)
l 2*pi*r
s pi*r*r
sq 4*pi*r*r
vq 403*pi*r*r*r
该程序运行结果:
请输入圆半径r圆柱高h:
15 3
圆周长:942
圆面积:707
圆球表面积:2827
圆球体积:1414
圆柱体积:2121
vz pi*h*r*r
printf(圆周长:2f\nl )
printf(圆面积:2f\n s )
printf(圆球表面积:2f\n sq )
printf(圆球体积:2f\n vq )
printf(圆柱体积:2f\n vz )
}
该程序运行结果:
请输入xy:
3 5
交换x:5 y:3
(3) 列程序功:通键盘输入两整数分存入变量xy中x
main()
{ int xyt
printf(请输入xy:\n)
scanf(dd&x&y)
if (x
printf(交换x:d y:d \nxy)
}
3.编程题
(1)编写程序实现功:键盘输入3字符然屏幕分3行输出该3字符程序文件名sy3_7c保存
该程序运行结果:
ABC
A
B
C
#include
main()
{
char c1c2c3
c1getchar()
c2getchar()
c3getchar()
putchar(c1)
putchar('\n')
putchar(c2)
putchar('\n')
putchar(c3)
putchar('\n')
}
(2)编写程序实现功:输入元二次方程ax2+bx+c0系数abc求方程根求:运行该程序时输入abc值分b24ac值等零观察分析运行结果程序文件名sy3_8c保存求根公式:
该程序运行结果:
a1b3c2
x1100
x2200
#include
#include
void main()
{float abcdiscx1x2pq
scanf(afbfcf&a&b&c)
discb*b4*a*c
pb(20*a)
qsqrt(disc)(20*a)
x1p+q
x2pq
printf(x152f\nx252f\nx1x2)
}
实验四 选择结构程序设计
(解答)
1.改错题
(1)列程序功:输入1字母果写字母首先转换成写字母输出该字母前序字母该字母该字母序字母例:输入g输出FGH输入a输出ZAB输入M输出LMN输入Z输出YZA请纠正程序中存错误程序实现功程序文件名sy4_1c保存
该程序运行结果:
Enter a characterg
FGH
#include
main()
{
char chc1c2
printf(Enter a character)
chgetchar()
if((ch>'a')||(ch<'z')) if((ch>'a')&&(ch<'z'))
ch32
c1ch1
c2ch+1
if(ch'A') if(ch'A')
c1ch+25
else if(ch'Z') else if(ch'Z')
c2ch25
putchar(c1)
putchar(ch)
putchar(c2)
putchar('\n')
}
改正程序:
#include
main()
{
char chc1c2
printf(Enter a character)
chgetchar()
if((ch>'a')&&(ch<'z'))
ch32
c1ch1
c2ch+1
if(ch'A')
c1ch+25
else if(ch'Z')
c2ch25
putchar(c1)
putchar(ch)
putchar(c2)
putchar('\n')
}
(2)列程序功:输入3整数输出中值请纠正程序中存错误程序实现功程序文件名sy4_2c保存
该程序运行结果:
请输入3整数:
5 2 7
3数中者:7
#include stdioh
main()
{
int abcmax
printf (请输入3整数:\n)
scanf (ddd&a&b&c)
maxa
if (c>b)
{ if (b>a) maxc} * c>b>a *
else * b>c *
{if (c>a) maxb} * b>c>a *
printf(3数中者:d\nmax)
}
改正程序:
#include stdioh
main()
{
int abcmax
printf (请输入3整数:\n)
scanf (ddd&a&b&c)
maxa
if (c>b)
{ if (c>a) maxc}
else
{if (b>a) maxb}
printf(3数中者:d\nmax)
}
(3)列程序功:输入14月份号输出该月份应英语表示法例输入3输出Mar纠正程序中存错误实现功程序文件名sy4_3c保存
#include stdioh
main()
{
该程序运行结果:
input the month number
2
Feb
char m
printf(input the month number\n)
scanf (c&m)
switch (m)
{
case 1printf (Jan)
case 2printf (Feb)
case 3printf (Mar)
case 4printf (Apr)
}
}
改正程序:改法
#include stdioh
main()
{
char m
printf(input the month number\n)
scanf (d&m)
switch (m)
{
case 1printf (Jan)break
case 2printf (Feb)break
case 3printf (Mar)break
case 4printf (Apr)
}
}
改法二
#include stdioh
main()
{
char m
printf(input the month number\n)
scanf (c&m)
switch (m)
{
case 1’printf (Jan)break
case 2’printf (Feb)break
case 3’printf (Mar)break
case 4’printf (Apr)
}
}
2.程序填空
(1) 列程序功:判断键盘输入字符列求输出
该字符数字 输出字符串09
该字符写字母 输出字符串AZ
该字符写字母 输出字符串az
该字符字符 输出字符串@…
补充完善程序实现功程序文件名sy4_4c保存
#include
该程序运行结果:
d
az
main()
{ char c
scanf(___c &c _________)
if('0'
else if(___c>'A' && c <'Z'______)
printf(AZ\n)
____ else if _______('a'
____ else __________________
printf(@…\n)
}
该程序运行结果:
Please input a expression2*6
2*612
(2)列程序功:实现加减四运算补充完善程序实现功程序文件名sy4_5c保存
#include
main()
{
int abd
char ch
printf(Please input a expression)
scanf(dcd &a&ch&b )
switch(ch)
{
case '+'da+b
printf(d+dd\nabd)
break
case ''dab
printf(ddd\nabd)
break
case '*'da*b
printf(d*dd\nabd)
break
case ''
if( b0 )
printf(Divisor is zero\n)
else
printf(ddf\nab( float )ab) *强制类型转换*
break
default
printf(Input Operator error\n)
}
}
(3)列程序功:猜价格户输入估计价格程序判断正确性请填写适符号语句程序实现功程序文件名sy4_6c保存
#include stdioh
main()
该程序运行结果:
请持输入时尚手机实际价格
1500
请观众猜时尚手机价格
1450
低
{float ab
printf(请持输入时尚手机实际价格\n)
scanf(f&b)
printf(\n\n请观众猜时尚手机价格\n)
scanf(f&a)
if( a printf(低\n)
if( a b )
printf(猜\n)
if( a>b )
printf(高\n)
}
3.编程题
(1)键盘输入三整数输出三整数均值(保留2位数)积值值程序文件名sy4_7c保存
参考源程序
#include
main()
{
int sum0 a b c max min
long ji0
float ave
printf(输入三整数:(a b c)\n)
scanf(ad bd cd &a &b &c)
suma+b+c
avesum30
jia*b*c
max((a>bab)>c)(a>bab)c
mina
if (b
if(c
printf(a+b+cd a*b*cld ave2f sumji ave)
printf(\nmaxd mind\n max min)
}
(2)分段函数求scanf函数输入x值求y值屏幕输出程序文件名sy4_8c保存
0 x<5
y x1 5≤x<15
6x2-1 x≥15
参考源程序
#include
void main()
{ float xy
scanf(f &x)
if(x<5) y0
else if(x<15) yx1
else y6*x*x1
printf(xf yf\n xy)
}
(3)键盘输入数字0~6输出相应星期英文单词中数字0应Sunday数字1~6应Monday~Saturday果输入0~6数字显示错误信息程序文件名sy4_9c保存
参考源程序
#include
main()
{
int m
printf(请输入数字(06))
scanf (d&m)
switch (m)
{
case 0printf (Sunday )break
case 1printf (Monday )break
case 2printf (Tuesday )break
case 3printf (Wednesday )break
case 4printf (Thursday )break
case 5printf (Friday )break
case 6printf (Saturday )break
defaultprintf (数输入错误)
}
}
实验5 循环结构程序设计
实验目
1.掌握循环结构程序设计3种控制语句——while语句do···while语句for语句方法
2.解循环方法实现常算法设计
二实验容
1.改错题(程序中画出错误语句修改语句完整写该语句右边)
该程序运行结果:
The sum from 1 to 100 is 5050
(1)列程序功:求1~100(值5050)输出纠正程序中存错误实现功程序文件名sy5_1c保存
#include
main()
{
int isum0
i1
while(i<100) while(i<100)
sumsum+i { sumsum+i
i++ i++}
printf(The sum from 1 to 100 is d\nsum)
}
该程序运行结果:
(2)列程序功:倒序印26英文字母纠正程序中存错误实现功程序文件名sy5_2c保存
#include
main()
{
char x
x'z'
while(x'a') while(x'a'1)while(x>'a')
{
printf(3dx) printf(3cx)
x++ x
}
}
(3)列程序功:输入写字母印出菱形该菱形中间行字母组成相邻两行前面字母组成规律直字母A出现第行末行止纠正程序中存错误实现功程序文件名sy5_3c保存例输入字母D印出图形:
#include
main()
{
int ijk
char ch
scanf(c&ch)
kch'A'+1
for (i1i
for (j20j>ij)
printf(c' ')
for (j1j
printf(\n)
}
kch'A'
for (iki>1i)
{ for (i20i>ii) for (j20j>ij)
printf(c' ')
for (j1j<2*i1j++) for (j1j<2*i1j++)
printf(c'A'+i1)
printf(\n)
}
}
2.程序填空题
(1)辗转相法求两正整数公约数公倍数补充完善程序实现功程序文件名sy5_4c保存
该程序运行结果:
#include
main ()
{ int r m nk t
scanf (dd&m&n)
if (m
km*n
r mn
while (r)
{ mn
nr
r mn
}
printf (d d\n n kn ) *输出公约数公倍数*
}
(2)假设1020西瓜第天卖半两天卖剩半两求天卖完补充完善程序实现功程序文件名sy5_5c保存
#include
main( )
{ int dayx1x2
day0
x11020
while( x1>0 )
{
该程序运行结果:
该程序运行结果:
day8
该程序运行结果:
x2 x122
x1x2
day++
}
printf(dayd\nday)
}
(3)列程序功:输出1003整位数6整数补充完善程序实现功程序文件名sy5_6c保存
#include
main()
{ int ij
for(i0 __ i<10 _____ i++)
{ ji*10+6
if (___ i30 ____)
continue
printf(dj)
}
}
3.编程题(写出程序运行结果)
(1)计算1~100间含8数程序文件名sy5_7c保存
参考程序:
#include
main()
{
int i sum0
for(i1 i<100 i++)
if(i108 || i108)
sum+i
printf(sumd\nsum)
}
(2)编写程序利列似公式计算e值误差应105程序文件名sy5_8c保存
该程序运行结果:
…
参考程序:
#include
main()
{
int i0
long n1
float e0 t1
while(t>1e5)
{
e+t
i++
n*i
t10n
}
printf(ef\ne)
}
(3)某学校千名学生操场排队5行余27行余33行余1编写程序求该校学生总数程序文件名sy5_9c保存
该程序运行结果:
该程序运行结果:
参考程序:
#include
main()
{int i
for(i900i<1000i++)
if(i52&&i73&&i31)
break
printf(学生总数d\ni)
}
(4)键盘输入N学生学号M门课程成绩计算学生总分均分输出容包括学生学号总分均分程序文件名sy5_10c保存
#include
void main()
{
int ijnmnoscoresum
float ave
printf(输入学生数课程数:)
scanf(dd&n&m)
for(i1i
printf(输入第d学生学号 i)
scanf(d&no)
printf(输入第d学生d门课程成绩 im)
for(j1j
scanf(d&score)
sum+score
}
ave(float)summ
printf(\n**第d学生学号d 总分:d 均分:2f\n\ninosumave)
}
}
实验6 数组程序设计
实验目
1. 掌握维数组二维数组定义赋值输入输出方法
2. 掌握字符数组字符串函数
3. 掌握数组关算法
二实验容
1.改错题(程序中画出错误语句修改语句完整写该语句右边)
(1)列程序功:指定数组输入10数求数纠正程序中存错误实现功程序文件名sy6_1c保存
该程序输出结果:
#include
void main()
{int n10isum0
int a[n] int a[10]
for(i0i<10i++)
{
scanf(da[i]) scanf(d&a[i])
sumsum+a[i]
}
printf(sumd\nsum)
}
该程序输出结果:
(2)列程序功:字符串b连接字符串a纠正程序中存错误实现功程序文件名sy6_2c保存
#include
void main( )
{ char a[]welb[]come char a[20]welb[]come
int in0
while(a[n]) n++ while(a[n] '\0') n++
for(i0b[i]'\0'i++)
a[n+i]b[i]
a[n+i]’\0’
printf(s\na)
}
(3)列程序功:找出二维数组中鞍点该位置元素该行该列没鞍点纠正程序中存错误实现功程序文件名sy6_3c保存
#include
#define N 4
#define M 4
main()
该程序输出结果:
{
int ijkflag1flag2a[N][M]maxmaxj
for (i0i
flag20
for (i0i
maxa[j][0] maxa[i][0]
for (j0j
{
maxa[i][j]
maxjj
}
for (k0flag11k
flag10
if (flag1)
{
printf(\nThe saddle point isa[d][d]d\nimaxjmax)
flag21
}
}
if ( flag2) if ( flag2)
printf(\nThere is no saddle point in the Matrix\n)
}
2.程序填空题
(1)程序功:采二分法定序数组中查找户输入值显示查找结果补充完善程序实现功程序文件名sy6_4c保存
#include stdioh
#define N 10
main()
{
int a[ ]{0123456789}k
int low0highN1midfind0
printf(请输入欲查找值:\n)
scanf(d&k)
while (low
mid(low+high)2
if(a[mid]k)
{
printf(找位置:d\nmid+1)find1
}
if(a[mid]>k)
_ highmid1
else
_ lowmid+1_____
}
if(finD printf(d未找\nk)`
}
(2)程序功:求3字符串(串超20字符)中者补充完善程序实现功程序文件名sy6_5c保存
#include
#include
void main()
{
char string[20]str[3][20]
int i
for (i0i<3i++)
gets(str[i])
if ( strcmp(str[0]str[1])>0 ) strcpy(stringstr[0])
else strcpy(stringstr[1])
if ( strcmp(stringstr[2])<0 ) strcpy(stringstr[2])
puts(string)
}
(3)列程序功:键盘输入20整数统计非负数数计算非负数补充完善程序实现功程序文件名sy6_6c保存
#include
main()
{ int ia[20]sum0count
count0
for(i0i<20i++ )
scanf(d &a[i] )
for(i0i<20i++)
{ if(a[i]<0)
continue
sum+a[i]
count++
}
printf(sd\t countd\nsumcount)
}
3.编程题(写出程序运行结果)
(1)键盘输入10数选择排序法序排序然排序数列中插入数数列保持序程序文件名sy6_7c存盘
#define N 11
#include
void main()
{ int a[N]ijktp
printf(请输入d 整数 \nN)
for(i0i
for(i0i
for(ji+1j
kj
if(ki)
{ ta[k] a[k]a[i] a[i]t}
}
printf(\n排序\n)
for(i0i
printf(\n请输入插入整数 )
scanf(d&p)
j9
while(j>0 && a[j]>p) 找插入位置
{a[j+1]a[j]j}
a[j+1]p 插入
printf(\n插入\n)
for(i0i
printf(\n)
}
(2)键盘输入两矩阵AB值求CA+B 程序文件名sy6_8c存盘
#include
void main()
{
int a[2][3]b[2][3]c[2][3]ij
for(i0i<2i++)
for(j0j<3 j++)
scanf(d&a[i][j])
for(i0i<2i++)
for(j 0j<3 j++)
scanf(d&b[i][j])
for(i0 i<2 i++)
for(j 0j<3 j++)
c[i][j]a[i][j]+b[i][j]
for( i0i<2i++)
{ for(j0j<3j++)
printf(3dc[i][j])
printf(\n)
}
}
(3)键盘输入字符串删中某字符输入字符串abcdefededff删中字符e输出字符串abcdfddff程序文件名sy6_9c存盘
方法:
#include
#include
void main()
{
int ij
char s[80]c
printf(输入行字符 )
gets(s)
printf(输入删字符 )
scanf(c&c)
for(i0j0s[i]'\0'i++)
if (s[i]c)
s[j++]s[i]
s[j]'\0'
puts(s)
}
方法二:
#include
#include
void main()
{char line[80]
char ch
int ij
int len
printf(输入行字符 )
gets(line)
printf(输入删字符 )
chgetchar()
i0
while(line[i]'\0' )
{while( line[i]'\0' && line[i]ch) i++
lenstrlen(line)
for(jij
line[j]'\0'
}
puts(line)
}
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档