资源描述
学院名称
计算机软件学院
专业班级
软件
课程名称
程序设计技术
学号
学生姓名
实验日期
实验成绩
实验题目
函数
实验内容(包括程序清单)
【例1】写一判断素数的函数,在主函数输入一个整数,输出是否素数的信息。
#include "stdio.h"
int prime(int number)
{
int flag=1,n;
for(n=2;n<number/2&&flag==1;n++)
if(number%n==0)
flag=0;
return(flag);
}
main()
{
int number;
printf("请输入一个正整数:");
scanf("%d",&number);
if(prime(number))
printf("\n %d是素数.",number);
else
printf("\n %d不是素数.",number);
}
【例2】写一函数,求一个二位数组(4×4)的转置,即行列互换。
#include "stdio.h"
#define N 4
int array[N][N];
convert(int array[4][4])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t;
}
}
main()
{
int i,j;
printf("输入数组元素:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
printf("\n数组是:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
convert(array);
printf("转置数组是:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
}
【例3】写一函数,用“起泡法”对输入的10个字符按由小到大顺序排序。
#include "stdio.h"
#define N 10
char str[N];
main()
{
int i,flag;
for (flag=1;flag==1;)
{
printf("\n输入字符串,长度为10:\n");
scanf("%s",&str);
if (strlen(str)>N)
printf("超过长度,请重输!");
else
flag = 0;
}
sort(str);
printf("\n排序结果:");
for (i=0;i<N;i++)
printf("%c",str[i]);
}
sort(char str[N]) /*起泡法排序函数*/
{
int i,j;
char t;
for (j=1;j<N;j++)
for (i=0;(i<N-j)&&(str[i]!='\0');i++)
if (str[i]>str[i+1])
{
t=str[i]; str[i]=str[i+1]; str[i+1]=t;
}
}
【例4】分析下面的程序中,函数的传递方式,写出运行结果,要仔细体会。
#include "stdio.h"
void function(int x,int y,int *u,int *v)
{
*u=x+y;
*v=x-y;
}
main()
{
int a=200,b=100,c,d;
function(a,b,&c,&d);
printf("c=%d,d=%d\n",c,d);
}
运行结果:
【例1】
【例2】
【例3】
【例4】
对实验内容的分析和取得的经验
遇到的问题及解决办法
实验地点
指导教师签名
太原理工大学学生实验报告
展开阅读全文