c语言高手请进
1、一维数组实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。实验内容:1.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。...
1、 一维数组
实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。
实验内容:
1.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。
要求:(1)数组元素值在程序中初始化。
(2)m的值从键盘输入。
(3)用下标法和指针法两种方法。
2、 数组
实验目的:掌握二维数组的定义、初始化,以及二维数组元素的下标法引用和指针法引用。
实验内容:
1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及所有学生各科的总计分和平均分。
要求:(1)成绩在程序中初始化,结果以表格的形式输出。
(2)分别用下标法和指针法实现。
3、 字符串
实验目的:掌握使用下标法和指针法处理字符串。
实验内容:
1.编写程序,统计字符串str中含有子串substr的个数。
要求:(1)字符串从键盘输入。
(2)分别用下标法和指针法实现。
4、 函数的定义、调用与参数传递
实验目的: 掌握函数的定义、调用和参数的传递方式。
实验内容:
1.编写程序,将一个5×5阶矩阵中最大元素放在中心,四个角分别放4个最小元素(顺序为从左到右,从上到下的顺序一次从小到大存放)。
要求:通过函数调用方式,并分别使用数组名和指针变量作函数的参数。
5、 函数的嵌套调用和递归调用
实验目的:掌握函数的嵌套调用和递归调用。
实验内容:
1.编写程序,计算下列函数值:
f(x,y)=
其中,s(n)= =p(1)+p(2)+…p(n),p(i)=i!。
要求:(1)为函数p(i)、s(n)、f(x,y)均编写一个用户函数。
(2)x、y由键盘输入。
6、 变量的作用域与存储类别
实验目的:掌握全局变量和局部的定义及作用域。掌握变量的四种存储类别。
实验内容:
1.输出4×4阶矩阵的最大值、最小值及其下标。
要求:(1)通过函数调用方式。
(2)使用全局变量。
7、 结构体和链表
实验目的:掌握结构体类型、结构体类型变量、结构体类型数组和结构类型指针的定义,掌握结构体类型变量和结构体类型变量成员的使用。掌握链表的定义及操作。
实验内容:
1.已知链表L1和L2中分别存放一个升序序列,编写程序,将两个链表中的升序合并成一个升序序列存放到链表L1中。
要求:(1)分别按带头结点和不带头结点处理。
(2)通过函数调用方式。
8、 文件
实验目的:掌握文件的打开、关闭和文件的读写操作。
实验内容:
1.有两个磁盘文件“A”和“B”,各存放一行字母(不多于80个),今要求把两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。 展开
实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。
实验内容:
1.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。
要求:(1)数组元素值在程序中初始化。
(2)m的值从键盘输入。
(3)用下标法和指针法两种方法。
2、 数组
实验目的:掌握二维数组的定义、初始化,以及二维数组元素的下标法引用和指针法引用。
实验内容:
1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及所有学生各科的总计分和平均分。
要求:(1)成绩在程序中初始化,结果以表格的形式输出。
(2)分别用下标法和指针法实现。
3、 字符串
实验目的:掌握使用下标法和指针法处理字符串。
实验内容:
1.编写程序,统计字符串str中含有子串substr的个数。
要求:(1)字符串从键盘输入。
(2)分别用下标法和指针法实现。
4、 函数的定义、调用与参数传递
实验目的: 掌握函数的定义、调用和参数的传递方式。
实验内容:
1.编写程序,将一个5×5阶矩阵中最大元素放在中心,四个角分别放4个最小元素(顺序为从左到右,从上到下的顺序一次从小到大存放)。
要求:通过函数调用方式,并分别使用数组名和指针变量作函数的参数。
5、 函数的嵌套调用和递归调用
实验目的:掌握函数的嵌套调用和递归调用。
实验内容:
1.编写程序,计算下列函数值:
f(x,y)=
其中,s(n)= =p(1)+p(2)+…p(n),p(i)=i!。
要求:(1)为函数p(i)、s(n)、f(x,y)均编写一个用户函数。
(2)x、y由键盘输入。
6、 变量的作用域与存储类别
实验目的:掌握全局变量和局部的定义及作用域。掌握变量的四种存储类别。
实验内容:
1.输出4×4阶矩阵的最大值、最小值及其下标。
要求:(1)通过函数调用方式。
(2)使用全局变量。
7、 结构体和链表
实验目的:掌握结构体类型、结构体类型变量、结构体类型数组和结构类型指针的定义,掌握结构体类型变量和结构体类型变量成员的使用。掌握链表的定义及操作。
实验内容:
1.已知链表L1和L2中分别存放一个升序序列,编写程序,将两个链表中的升序合并成一个升序序列存放到链表L1中。
要求:(1)分别按带头结点和不带头结点处理。
(2)通过函数调用方式。
8、 文件
实验目的:掌握文件的打开、关闭和文件的读写操作。
实验内容:
1.有两个磁盘文件“A”和“B”,各存放一行字母(不多于80个),今要求把两个文件中的信息合并(按字母顺序排列),输出到一个新文件“C”中去。 展开
1个回答
展开全部
第一题:
(1)下标法
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:\n");
scanf("%d",&m);
int b[10]={0};
int i,j;
printf("移动前的数组是:\n");
for(i=0;i<10;i++)
{
b[i]=a[i];
printf("%d ",a[i]);
}
printf("\n");
for(i=9;i>=m;i--)
{
//j++;
a[i]=a[i-m];
}
for(i=0,j=10-m;i<m;i++,j++)
a[i]=b[j];
printf("移动后的数组是:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
(2)指针法
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:\n");
scanf("%d",&m);
int b[10]={0};
int *p,*q;
printf("移动前的数组是:\n");
for(p=a,q=b;p<a+10;p++,q++)
{
*q=*p;
printf("%d ",*p);
}
printf("\n");
for(p=a+9;p>=a+m;p--)
{
*p=*(p-m);
}
for(p=a,q=b+10-m;p<a+m;p++,q++)
*p=*q;
printf("移动后的数组是:\n");
for(p=a;p<a+10;p++)
printf("%d ",*p);
printf("\n");
}
(1)下标法
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:\n");
scanf("%d",&m);
int b[10]={0};
int i,j;
printf("移动前的数组是:\n");
for(i=0;i<10;i++)
{
b[i]=a[i];
printf("%d ",a[i]);
}
printf("\n");
for(i=9;i>=m;i--)
{
//j++;
a[i]=a[i-m];
}
for(i=0,j=10-m;i<m;i++,j++)
a[i]=b[j];
printf("移动后的数组是:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
(2)指针法
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:\n");
scanf("%d",&m);
int b[10]={0};
int *p,*q;
printf("移动前的数组是:\n");
for(p=a,q=b;p<a+10;p++,q++)
{
*q=*p;
printf("%d ",*p);
}
printf("\n");
for(p=a+9;p>=a+m;p--)
{
*p=*(p-m);
}
for(p=a,q=b+10-m;p<a+m;p++,q++)
*p=*q;
printf("移动后的数组是:\n");
for(p=a;p<a+10;p++)
printf("%d ",*p);
printf("\n");
}
追问
还有呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询