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