Linux系统函数调用实验
实验目的:
了解Linux操作系统系统函数的使用
实验内容:
创test用户,密码也是test。
用test登陆后,创建src目录,所有的源代码、中间代码和目标代码都放在/home/test/src目录下。
- 编写一个简单的c语言程序:函数int input(int a[ ],int n)用于输入一个有n个元素的整型数组,void output(int b[ ],int n)用于输出n个元素的整形数组,函数int sum(int a[ ],int n)用于数组求和,在main函数中依次调用函数input、output、sum。
#include<stdio.h>
#define N 100
int input(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
return 0;
}
void output(int b[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%2d",b[i]);
}
}
int sum(int a[],int n)
{
int sum=0;
int i;
for(i=0;i<n;i++)
{
sum=sum+a[i];
}
printf("%d",sum);
return sum;
}
int main()
{
int n,a[N];
printf("input n:");
scanf("%d",&n);
printf("input number:");
input(a,n);
printf("output:");
output(a,n);
printf("\n");
printf("sum:");
sum(a,n);
printf("\n");
return 0;
}
- 编写一个简单的c语言程序:用随机数函数产生两个整型数,根据输入的字符’+’、’-‘、’*’、’/’作算术运算(思考题:如果用户输入一个包含加减乘除符号和数值的表达式,应该如何进行解析及计算)。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,a,b;
int m,n,p;
float q;
char c;
srand((int)time(0));
for(i=0;i<2;i++)
{
a=1+(int)(4.0*rand()/(RAND_MAX+1.0));
b=1+(int)(4.0*rand()/(RAND_MAX+1.0));
}
printf("%d %d\n",a,b);
printf("Please input:+、-、*、/\n");
c=getchar();
m=a+b;
n=a-b;
p=a*b;
q=(float)(a/b);
switch(c)
{
case'+':printf("sum:%d\n",m);
break;
case'-':printf("difference:%d\n",n);
break;
case'*':printf("product:%d\n",p);
break;
case'/':printf("shang:%d\n",q);
break;
default:
printf("error!");
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#define N 10000
static int compare (const void *a, const void *b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
int a[N];
int n;//array length
int i;
printf("please input n:\n");
scanf("%d",&n);
printf("please input a[]:");
for( i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
qsort(a,n,sizeof(a[0]),compare);
for( i=0;i<n;i++)
{
printf("%d",a[i]);
}
printf("\n");
int key;
printf("please input the key:");
scanf("%d",&key);
int *item=NULL;
item=bsearch(&key,a,n,sizeof(a[0]),compare);
if(item == NULL)
printf("%d is not in the array\n",key);
else
printf("%d is in the array\n",key,*item);
return 0;
}