一:知识点
1.数组名作为函数的参数
2.指针、数组和地址间的关系
·数组的基地址是在内存中存储数组的起始位置,它是数组中第一个元素(下标为0)的地址,因此数组名本身是一个地址即指针值。
3.常用的字符串处理函数
字符串的输入和输出:函数scanf()和gets()可用来输入字符串,而printf()和puts()输出字符串。它们在系统文件stdio.h中定义。
4.字符串和字符指针
·如果定义一个字符指针接收字符串常量的值,该指针就指向字符串的首字符。这样,字符数组和字符指针都可以用来处理字符串。
二、实验过程中遇到的问题及解决方法:
#include<stdio.h>
void sort(int a[],int n);
int main()
{
int n,a[8];
int i;
printf("Enter n(n<=8):");
scanf("%d",&n);
printf("Enter a[%d]:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,n);
printf("After sorted,a[%d]=",n);
for(i=0;i<n;i++)
printf("%3d",a[i]);
return 0;
}
void sort(int a[],int n)
{
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
#include <stdio.h>
int search(int list[80],int n,int x);
int main()
{
int a[80],n,x,i;
printf("Enter an array length n:");
scanf("%d",&n);
printf("Enter an array:");
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("输入你要找的数字x:");
scanf("%d",&x);
search(a,n,x);
return 0;
}
int search(int list[80],int n,int x)
{
int i;
for(i=0;i<=n;i++){
if(x==list[i]){
printf("Index is %d\n",i);
break;
}
}
if(x!=list[i]){
printf("-1\n");
}
}
#include<stdio.h>
int main(void)
{
int count,i,m,n,no;
int num[50];
int *p;
printf("enter n,m:");
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
num[i]=i+1;
p=num;
count=no=0;
while(no<n-1)
{
if(*p!=0)count++;
if(count==m)
{
no++;
printf("退出的人%d:%d\n",no,*p);
*p=0;
count=0;
}
p++;
if(p==num+n)
p=num;
}
p=num;
while(*p==0)
p++;
printf("最后一个人:%d\n",*p);
}
第三题在实验过程中问题比较大,自己完成有些困难那,后在老师的提醒和同学的帮助下才得以完成。
三、实验心得体会:
感觉实验题目难度加深,学习的也更加深入,需要多加练习,和认真的呢听讲
原文:http://www.cnblogs.com/yy1997/p/6143516.html