第十一次实验作业

第一题

#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[],int n,int x);

int main()
{
    int n,x,list[10];
    int i;

    printf("Input n:");
    scanf("%d",&n);
    printf("Input %d integers:",n);
    for(i=0;i<n;i++)
    scanf("%d",&list[i]);
    printf("Input x:");
    scanf("%d",&x);
    search(list,n,x);
    if(search(list,n,x)!=-1)
    printf("mid=%d\n",search(list,n,x));
    else
    printf("-1\n");

    return 0;
}
int search(int list[],int n,int x)
{
    int i;
    for(i=0;i<n;i++)
    {
    if(x==list[i])
    return i;
    else
    return -1;
    }

}

第三题

#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);

}

  最后一题不会,问的同学,但还是没懂,打算上课听老师讲。

时间: 2024-10-12 15:39:56

第十一次实验作业的相关文章

Linux内核实验作业四

实验作业:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 20135313吴子怡.北京电子科技学院 [第一部分]使用库函数API来获取用户标识号.库函数为getuid() 代码如下: 编译运行之后,将用户id号1000打印输出在屏幕上. [第二部分]使用汇编方式触发系统调用来获取用户标识号.库函数依旧为getuid() 代码如下: 可以看出,打印出来的用户id和之前的一样都是1000. [第三部分]系统调用的工作机制学习总结 我认为系统调用的工作机制就是系统调用经过封装包装成为

实验作业:使gdb跟踪分析一个系统调用内核函数

实验作业:使gdb跟踪分析一个系统调用内核函数(我使用的是getuid) 20135313吴子怡.北京电子科技学院 [第一部分] 根据视频演示的步骤,先做第一部分,步骤如下 ①更新menu代码到最新版 ②在代码中加入C函数.汇编函数 ③在main函数中加入makeconfig ④make rootfs ⑤可以看到qemu中增加了我们先前添加的命令: ⑥分别执行新增的命令 [第二部分]gdb跟踪分析一个系统调用内核函数 ①进入gdb调试 ②设置断点,继续执行: ③相对应的得到这样的结果: ④查看我

lamp实验作业详细过程

1.请描述一次完整的http请求处理过程:由客户端发起请求给服务端,服务端接收到请求后解析http报文内容,把处理完成后的内容反馈给客户端,再将每次请求记录在日志中.2.httpd所支持的处理模型有哪些,他们的分别使用于哪些环境.prefork:多进程模型,一个进程响应一个请求:worker:多进程多线程模型,一个线程响应一个请求:event:事件驱动模型,一个进程响应n个请求:3.源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装.配置.测试过程.一.编译安装httpd2

第十一次实验总结+作业

知识点: 指针与数组 一维数组与元素地址的表示:int a[3]={1,2,3}; 数组地址:a 用指针变量引用数组元素 定义指针变量:int  *p,a[3]={1,2,3};                                  p=a; 引用数组元素: 下标法 地址法 指针法 第N个元素 a[k]  *(a+k)  *(p+k) 第N个元素的地址 &a[k]  a+k    p+k PS:用指针变量访问素组元素要注意下表是否越界. 冒泡法:将数字从大到小排序或者从小到大排序的一

第十一次实验

1.输入一个字符串,统计大写字母.小写字母.空格.数字和其他字符的个数.(要求用字符数组) #include<stdio.h> int main() { char s[100]; int d,x,y,z,q,i; gets(s); d=x=y=z=q=0; for(i=0;s[i];i++) if(s[i]>='A' && s[i]<='Z')d++; else if(s[i]>='a' && s[i]<='z')x++; else if

第七次实验作业

第一个作业 #include <stdio.h>#include <math.h>int sign(int x);int even(int n);int prime(int m);int countdigit(int number,int digit);int is(int number);int main(){ int choice=0; int n; int x,y,m,i,sum=0; int digit,z,c; do{ printf("*************

第五次实验作业

1.输入两个正整数m和n(要求m<=n), 求m!+(m+1)!+(m+2)!-+n! #include <stdio.h> int main() { int i,m,n,a,t,sum=0; printf("请输入两个正整数m和n\n"); scanf("%d%d",&m,&n); if(m>n) { t=m; m=n; n=t; } for(;m<=n;m++) { a=1; for(i=1;i<=m;i++)

第四次实验作业

1.编写程序,输入一个整数x,按照下式输出对应的y值.     #include<stdio.h> int main() { int x,y,i; y=0; printf("请输入一个整数x\n"); scanf("%d",&x); if(x%2==1) { for(i=1;i<=x;i+=2) { y=i+y; } } else if(x%2==0) { for(i=2;i<=x;i+=2) { y=i+y; } } printf(

第八次实验作业

1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩. #include<stdio.h> #define N 5 int main() { int score[N],i,sum,max,min,grade,n=0,index1,index2; double average; for(i=0;i<N;i++) { printf("请输入学生的成绩:\n");