printf("min=%d\n",c);
else
printf("Nofindminimum\n");
}
上述步伐是按在三个数中仅有一个最小值时才称其为最小值进行设计的。
另外,注意步伐的书写格式,一定要采取缩进格式,即差别条理(分支)的语句左起的空格差别,这样可以有效地提高步伐的可读性。
2.编写步伐,求解下列分段函数:
3.某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班(Lowerclass);4岁孩子进中班(Middleclass);5岁、6岁孩子进大班(Higherclass)。
编写步伐(用switch语句),输入孩子年龄,输出年龄及进入的班号。
如:
输入:
3,输出:
age:
3,enterLowerclass。
三、实验要求
1.温习干系表达式、逻辑表达式和if语句、switch语句。
2.学习步伐的调试要领。
3.编写步伐,运行步伐并记录运行结果
4.将源步伐、目标文件、可执行文件和实验陈诉存在软盘上。
四、选做题
1.自守数是其平方后尾数便是该数自身的自然数。
例如:
25*25=625
76*76=5776
任意输入一个自然数,判断是否自守数并输出:
如:
25yes25*25=625
11no11*11=121
2.输入月号,输出月份的英文名称。
实验四循环结构步伐设计
一、实验目的
1.学习循环语句for、while和do-while语句的使用要领。
2.学习用循环语句实现种种算法,例如穷举法、迭代法等。
3.进一步熟悉TC集成情况的使用要领。
二、实验内容
1.下列步伐盘算SUM的值。
调试该步伐,使之能正确地盘算SUM。
写出调试历程。
盘算公式如下:
main()
{intt,s,i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
t=1/i;
s=s+t;
printf("s=%f\n",s);
}
在调试历程中,用单步执行的要领视察变量s和t的值的变革,找到步伐中存在的问题,加以纠正。
2.下面步伐的成果是盘算n!
。
main()
{inti,n,s=1;
printf("Pleaseentern:
");
scanf("%d",&n);
for(i=1;i<=n;i++)
s=s*i;
printf("%d!
=%d",n,s);
}
首次运行先输入n=4,输出结果为4!
=24,这时正确的。
为了查验步伐的正确性,再输入n=10,输出为10!
=24320,这显然是错误的。
为了找到步伐的错误,可以通过单步执行来视察变量的变革。
这次我们在for循环体中增加一条输出语句,把变量s每次的运算结果显示出来。
显示的结果是:
s=1
s=2
s=6
s=24
s=120
s=720
s=5040
s=-25216
s=-30336
s=24320
运算历程中居然出现的负值,从显示看出s=5040是7!
,再乘以8应是40320,实际却是一个负数。
阐发产生这种现象的原因,把步伐纠正过来,再用n=20进行实验,阐发所得到的结果。
2.北京市体育彩票采取整数1、2、3、……、36体现36种体育运动,一张彩票可选择7种运动。
编写步伐,选择一张彩票的号码,使得这张彩票的7个号码之和是105且相邻两个号码之差按顺序依次是1、2、3、4、5、6。
如果第一个号码是1,则后续号码应是2、4、7、11、16、22。
3.编写步伐实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)
1
121
12321
1234321
123454321
1234321
12321
121
1
三、实验要求
1.温习for、while、do-while语句和continue、break语句。
2.在步伐调试中,要实现准备充实的测试用例。
3.编写步伐,运行步伐并记录运行结果。
注意步伐的书写格式。
4.将源步伐、目标文件、可执行文件和实验陈诉存在办事器的指定文件夹中。
四、选做题
已知2001年1月1日是星期一,编写步伐,在屏幕上输出2000年的年历。
关于闰年的盘算要领:
如果某年的年号能被400除尽,或能被4除尽但不能被100除尽,则这一年就是闰年。
实验五数组
一、实验目的
1.掌握数组的界说、赋值和输入输出的要领。
2.学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)。
2、熟悉TC集成情况的调试数组的要领。
二、实验内容
1.调试下列步伐,使之具有如下成果:
输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。
写出调试历程。
main()
{inti,n,a[10],av;
for(i=0;i scanf("%d",a[i]);
for(i=0;i {printf("%d",a[i]);
if(i%3==0)
printf("\n");
}
for(i=0;i!
=n;i++)
av+=a[i];
printf("av=%f\n",av);
}
上面给出的步伐是完全可以运行的,但是运行结果是完全错误的。
调试时请注意变量的初值问题、输特别式问题等。
请使用前面实验所掌握的调试东西,判断步伐中的错误并纠正。
在步伐运行历程中,可以使用+键终止步伐的运行,返回到TC情况。
2.编写步伐,任意输入10个整数的数列,先将整数凭据从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
3.输入4×4的数组,编写步伐实现:
⑴求出对角线上各元素的和;
⑵求出对角线上行、列下标均为偶数的各元素的积;
⑶找出对角线上其值最大的元素和它在数组中的位置。
三、实验要求
1.温习数组的界说、引用和相关算法的步伐设计。
2.编写步伐,运行步伐并记录运行结果。
3.将源步伐、目标文件、可执行文件和实验陈诉存在软盘上。
四、选做题
1.设某班50人,写一步伐统计某一单科结果各分数段的漫衍人数,每人的结果随机输入,并要求按下面格式输出统计结果;("××"体现实际漫衍人数)
0--39××
40--49××
50--59××
…………
90--100××
2.有一个n行m列的由整数组成的矩阵,请对矩阵中的元素重新进行排列,使得同行元素中右边的元素大于左边的元素,同列元素中下边的元素大于上边的元素。
实验六字符数据处理惩罚
一、实验目的
1.掌握C语言中字符数组和字符串处理惩罚函数的使用。
2.掌握在字符串中删除和插入字符的要领。
3.熟悉TC集成情况的调试字符串步伐的要领。
二、实验内容
1.调试下列步伐,使之具有如下成果:
任意输入两个字符串(如:
"abc123"和"china"),并存放在a,b两个数组中。
然后把较短的字符串放在a数组,较长的字符串放在b数组。
并输出。
main()
{chara[10],b[10];
intc,d,k;
scanf("%s",&a);
scanf("%s",&b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);
d=strlen(b);
if(c>d)
for(k=0;k {ch=a[k];a[k]=b[k];b[k]=ch;}
printf("a=%s\n",a);
printf("b=%s\n",b);
}
步伐中的strlen是库函数,成果是求字符串的长度,它的原型生存在头文件"string.h"中。
调试时注意库函数的调用要领,差别的字符串输入要领,通不对误提示发明步伐中的错误。
2.编写步伐,输入若干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。
以"stop"作为输入的最后一个字符串。
3.编写步伐,输入任意一个含有空格的字符