C语言实验报告,实验7
本科实验报告
课程名称: C语言程序设计
实验项目: 实验七、八、九、十
实验地点: 中区ZSA303
专业班级: 软件11 学号:201100
学生姓名:
指导教师:
2011年 06 月 01 日
实验七 指 针
1.输入有一行字符,将字符串中的字符逆序后输出。
#include
#include
void main()
{
char s[8],*p=s;
printf("input:\n");
gets(s);
p = s + strlen(s) - 1;
if(*p!='\0')
p++;
for(;p>=s;p--)
printf("%c",*p);
printf("\n");
}
2.输入有一行字符,编程序将每个单词的第一个字母改为大写。
#include
void main()
{
char a[255],*s=&a[0];
printf("input a strings:");
scanf("%[^\n]",s);
if (*s<='z' && *s>='a')
*s-=32;
while(*(++s))
{
if (*(s-1)==' ' && *s<='z' && *s>='a')
*s-=32;
}
s=&a[0];
printf("%s\n",s);
}
实验八 函 数
编写一个计算n!的函数,用主函数调用它,使之输出7阶杨辉三角形.
#include
#define N 9
void yanghui()
{
int i,j,a[N][N]={0};
for(i=1;i
{
a[i][1]=1;
a[i][i]=1;
}
for(i=3;i
for(j=2;j
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i
{
for(j=1;j<=i;j++)
printf("%6d",a[i][j]);
printf("\n");
}
}
void main()
{
yanghui();
}
2. 2.定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数返回值值。用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?
#include
int fun(float *score,int n);
void main()
{
float score[50];
int i;
for(i=0;i<50;i++)
scanf("%f",&score[i]);
printf("%d",fun(score,50));
}
int fun(float *score,int n)
{
float sum=0,mean=0;
int num=0;
int i;
for(i=0;i
sum=sum+score[i];
mean=sum/n;
for(i=0;i
if(score[i]>mean) num++;
return num;
}
实验九 结构体和公用体
1.有5个学生,每个学生的数据包括学号、姓名、三门课的成绩。从键盘输入这5个学生的数据,要求输出三门课总平均成绩,以及最高分的学生的所有数据。
要求用一个input函数输入5个学生的数据;用一个average函数求总平均成绩;用max函数找出最高分的学生;总平均成绩和最高分的学生的所有数据在主函数中输出。
#include
#define max 5/*设定要输入成绩的学生个数*/
double zpj; /*总平均值*/
struct student /*结构体*/
{
int num;
char name[10];
int score1;
int score2;
int score3;
double pj;
};
struct student stu[max],temp;
void Input() /*输入函数*/
{
int i;
for(i=0;i
{printf("enter number");
scanf("%d",&stu[i].num);
prin