C语言实验指导(请对C上机完全不懂的兄弟到这里仔细的来学习)

出处: 作者: 日期:2007年01月23日 13时12分


main()

{int i,j,min;

float temp,ave=0;

float a[11];

printf("\n输入评委所打的分数:\n");

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

scanf("%f",&a[i]);

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

{min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j])

min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

for(i=2;i<=9;i++) /*注意i值的变化范围*/

ave=ave+a[i];

printf("选手所得最后分数:%6.1f",ave/8);

printf("\n");

}

【例3】输入一串字符,计算其中空格的个数。

#include <stdio.h>

main( )

{char c[30];

int i,sum=0;

gets(c);

for(i=0;i<strlen(c);i++)

if(c[i]==' ')

sum=sum+1;

printf("空格数为:%d \ n",sum);

}

【作业】

1. 已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。

2. 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

3. 有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。

4. 编一程序,将两个字符串连接起来,不要用strcat函数。
实验七 二维数组

【目的与要求】

1.掌握二维数组的定义、赋值和输入输出的方法;

2.掌握字符数组的使用;

3.掌握与数组有关的算法(例如排序算法)。

【上机内容】

【一般示例】

【例1】有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

#define M 3

#define N 4

main( )

{int max,i,j,r,c;

static int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

max=a[0][0];

for(i=0;i<M;i++)

for(j=0;j<N;i++)

if ( a[i][j]>max)

{max= a[i][j];

r=i;

c=j;

}

printf(“max=%d , row =%d , colum=%d \n”,max , r, c);

}

【例2】打印以下图案:

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

main()

{char a[5]={' * ' , ' * ' , ' * ' , ' * ' , ' * '};

int i,j,k;

char space=' ';

for(i=0;i<5;i++) /*输出5行*/

{printf("\n"); /* 输出每行前先换行* /

printf(" "); /* 每行前面留5个空格 */

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

printf("%c",space); /* 每行再留1个空格*/

for ( k=0;k<5;k++)

printf("%c",a[k]); /*每行输入5个*号*/

}

}

【例3】求矩阵下三角形元素之和。

#define N 6

main()

{int i,j,sum=0;

int a[N][N]={0};

printf("input 5×5 data:\n");

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

{ printf("Input the %d line data:\n",i);

for(j=1;j<N;j++)

scanf("%d",&a[i][j]);

}

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

{for(j=1;j<N;j++)

printf("%5d",a[i][j]);

printf("\n");

}

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

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

sum=sum+a[i][j];

printf("sum=%d\n",sum);

}

【作业】

1. 求一个3×3矩阵对角线元素之和。

2. 打印出以下的杨辉三角形(要求打印出10行)。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

…… …… ……

3. 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数

实验八 函数

【目的与要求】

1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。

2.了解主调函数和被调函数之间的参数传递方式。

【上机内容】

【一般示例】

【例1】写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。

源程序如下:

mian()

{

int number;

printf(“请输入一个正整数:\n”);

scanf(“%d”,&number);

if (prime(number))

printf(“\n %d是素数.”,number);

else

printf(“\n %d不是素数.”,number);

}


int prime(number) /*此函数用于判别素数*/

int number;

{

int flag=1,n;

for(n=2;n<number/2&&flag==1;n++)

if (number%n==0)

flag=0;

return(flag);
最后更新时间:2008-05-28 11:40:35
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程