C语言程序设计实验指导书 联系客服

发布时间 : 星期五 文章C语言程序设计实验指导书更新完毕开始阅读

{ if((x%i==0)&&(y%i==0)) }

max=i;

printf(\printf(\}

(2)从键盘输入一个 int 类型的正整数,输出它的所有因子。如输入6,输出1,2,3;输入20,输出1,2,4,5,10。(要求文件名:4_2.c) 参考程序: #include main() {int x,i; scanf(\for(i=1;i

(3)输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(要求文件名:4_3.c) 参考程序: #include #include main() {char c;

int letter=0,digit=0,space=0,other=0; printf(\while((c=getchar())!='\\n')

{if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letter++; {if(x%i==0)

printf(\

}

else if(c>='0'&&c<='9')

digit++;

else if(c==' ')

space++;

else }

other++;

printf(\}

(4)输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。(要求文件名:4_4.c) 参考程序: #include main()

{int ge,shi,bai,number;

for(number=100;number<1000;number++) }

(5)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。编程序求第一天猴子共摘了多少桃子。(要求文件名:4_5.c) 参考程序: #include main()

{int day,qian,hou=1; for(day=9;day>=1;day--)

{ }

printf(\ }

qian=(hou+1)*2; hou=qian; {bai=number/100; shi=(number0)/10; ge=number;

if(number==bai*bai*bai+shi*shi*shi+ge*ge*ge) }

printf(\

实验五:数组(2学时)

一、实验目的和要求:

(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。 (2)掌握字符数组和字符串的使用方法。 (3)掌握与数组有关的算法(特别是排序算法)。

二、实验内容:

可选做以下题目:

(1)用选择法(或冒泡法)对10个整数排序。

(2)有一个已排好序的数组,今输入一个数,要求按原来排序的规律将该数插入到数组中。 (3)将两个字符串连接起来。

(4)编程序找出一个 5 X 4 矩阵的鞍点。鞍点即矩阵中的某个元素符合如下条件:在其所在行最大,同时在其所在列是最小,当然一个矩阵可能也没有鞍点。

三、实验步骤、过程:

(1)启动Turbo C集成开发环境。(方法与实验1相同)

(2)完成或选做上面4个程序题。(编辑、编译连接、运行程序,步骤与实验1相同) 注意:经常用“File”-“Save”(热键F2)保存源程序以免意外导致源程序丢失。 (3)退出Turbo C集成开发环境,关机。

四、源程序清单、测试数据、结果。

(1)用选择法(或冒泡法)对10个整数排序。(要求文件名:5_1.c) 参考程序:(选择法) #include main()

{int r[9]={0,49,38,65,07,76,13,27,33}; int i,j,k,temp; for(i=1;i<9-1;i++)

{k=i;

for(j=i+1;j<9;j++) if(r[j]

k=j;

temp=r[i];r[i]=r[k];r[k]=temp; }

for(i=1;i<9;i++)

printf(\

}

(2)有一个已排好序的数组,今输入一个数,要求按原来排序的规律将该数插入到数组中。(要求文件名:5_2.c) 参考程序: #include main()

{int a[10]={1,3,6,9,11,26,55,79,123},num,i,j; scanf(\for(i=8;i>=0;i--)

{ else }

break; if(num

a[i+1]=num; for(i=0;i<=9;i++)

printf(\

printf(\}

(3)编程序,将两个字符串连接起来,不要用strcat函数。(要求文件名:5_3.c) 参考程序: #include main() { }

char a1[100],a2[50]; int i,j; scanf(\scanf(\for(i=0;a1[i]!='\\0';i++) ;

for(j=0;a2[j]!='\\0';j++,i++) a1[i]=a2[j]; a1[i]='\\0'; printf(\