搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友xiaojimi2 发布时间:2022-01-07
[主观题]

实验十一 C程序的指针(二) 一、实验目的 1. 掌握指针和...

实验十一 C程序的指针(二) 一、实验目的 1. 掌握指针和指针变量的概念。 2. 掌握简单指针变量的定义和基本使用方法。 3. 熟悉指针和一维数组的关系,掌握指向一维数组的指针变量的定义方法,熟练使用指针变量访问一维数组元素。 4. 了解指针和二维数组的关系,掌握用指针表示二维数组元素的方法。 5. 了解指针与字符串的关系,能熟练使用指针处理字符串。 二、实验内容及实验步骤 1. 调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求: ⑴ 2个数的和, ⑵ 2个数交换值. 要求用函数指针调用这两个函数,结果在主函数中输出. main() { int a,b,c,(*p)(); scanf("%d,%d",&a,&b); p=sum; *p(a,b,c); p=swap; *p(a,b); printf("sum=%d\n",c); printf("a=%d,b=%d\n",a,b); } sum(int a,int b,int c) { c=a+b; } swap(int a;int b) { int t; t=a; a=b; b=t; } 调试程序时注意参数传递的是数值还是地址. 2. 测试、运行自己编写的程序。 (1)写一个函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int strcmp(char * p1,char * p2); 设p1指向字符串s2,要求当s1=s2时,函数返回值为0;如果s1<>s2,则返回它们二者第一个不相同的ASCII码值(如“BOY”与“BAD”的第二个字母不相同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如果s1<s2,则输出负值。 两个字符串s1、s2由main函数输入,strcmp函数的返回值也由main函数输出。 (2)用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入,最后在主函数中输出。 (3)有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 三、实验报告要求 写明: 1. 实验目的 2. 实验内容与步骤 3. 编写的程序(题目,经调试、运行后正确的程序) 4. 思考题的解决方法。 5.>

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
  抱歉!暂无答案,正在努力更新中……
更多“实验十一 C程序的指针(二) 一、实验目的 1. 掌握指针和...”相关的问题
第1题
最简单的C程序设计

1.实验目的

①掌握C语言中使用最多的一种语句——赋值语句的使用方法。

②掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

2.实验内容和步骤

掌握各种格式转换符的正确使用方法。

①输入程序

main()

{int a,b;

float d,e;

char c1,c2;

double f,g;

longm,n;

unsigned int p,q;

a=16;b=62;

c1='a';c2='b';

d=3.56;e=-6.87;

f=3157.890121;g=0.123456789;

m=50000:n=-60000;

p=32768;q=40000;

printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);

printf("f=%15.6f,g=%15.12f\nm=%1d,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);

}

②运行此程序并分析结果。

③在此基础上,修改程序的第8~13行。

a=b1;b=b2;

c1=a;c2=b;

f=3157.890121;g=0.123456789;

d=f; e=g;

p=a=m=50000;q=b=n=-60000;

运行程序,分析结果。

④改用scanf函数输入数据而不用赋值语句,scanf函数如下。

scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u"

&a,&b,&c1,&c2,&d,&e,&f'&g,&m,&n,&p,&q);

输入的数据如下。

61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000

(说明:ld格式符用于输入long型数据)分析运行结果。

⑤在上面的基础上将printf语句改为

printf("a=%d,b=%dknc1=%c,c2=%c\nd=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);

printf("f=%f,g=%f\nm=%d,n=%d,p=%d,q=%d\n",f,g,m,n,p,q);

运行程序。

⑥将p、q改用%o格式符输出。

⑦将scanf函数中的%lf和%ld改为%f和%d,运行程序并观察分析结果。

3编写程序

①有下面的程序

main()

{

int a;

float b,c;

scanf("%2d%3f%4t",&a,&b,&c);

printf("\na=%d,b=%f,c=%f\n",a,b,c);

}

若从键盘上输入9876543210并回车,则程序的输出结果是______。

②下面程序的输出结果是______。

main()

{int x=5,y=3;

printf("%d\n",y=x/y);

}

③以下程序的输出结果是______。

main()

{

int a=2,b=5;

printf("a=%%d,b=%%d\n",a,b);

}

④以下程序的输出结果是______。

#include"stdio.h"

main()

{

double x=123.123789;

printf("%8.6f,%8.3f,%14.8f\n",x,x,x);

}

⑤以下printf语句中的"-"的作用是______,该程序的输出结果是______。

#include<stdio.h>

main()

{ int x=12;

double a=3.1415926;

printf("%6d##\n",x);

printf("%-6d##\n",x);

printf("%14.10f##\n",a);

printf("%-14.10f##\n",a);

}

⑥以下程序的输出结果是______。

#include<stdio.h>

main()

{int a=325;

double x=3.1415926;

printf("a=%+0.6d x=%+e\n",a,x);

}

⑦编写程序,让用户输入两个整数,输出它们的商和余数。

⑧编程:设圆半径r=1.5,求圆周长、圆面积。用scanf输入数据,输出计算结果,输出开寸要求有文字说明,取小数点后2位数字。

⑨输入一个华氏温度,要求输出摄氏温度。公式为c=5/9(F-32)。输出要有文字说明,取2位小数。

点击查看答案
第2题

实验目的:

(1)掌握串的顺序和链接存储结构的实现方法。

(2)掌握串的模式匹配算法。

(3)掌握和理解本实验中出现的一些基本的C语言语句。

(4)体会算法在程序设计中的重要性。

实验内容:

(1)设计串的模式匹配算法(子串定位)。

(2)若s和t是两个采用顺序结构存储的串,编写一个比较两个串大小的算法,若s>t,则返回1,若s<t,则返回-1,否则返回0。

点击查看答案
第3题
结构体和共用体

1.实验目的

①掌握结构体型变量的定义和使用。

②掌握结构体型数组的概念和使用。

③掌握链表的概念,初步学会对链表进行操作。

④掌握共用体的概念与使用。

2.实验内容

编程序,然后上机调试运行。

①输入和运行以下程序

union data

{int i[2];

float a;

long b;

char c[4];

}u;

main()

{ scanf("%d,%d",&u.i[0],&u.i[1]);

printf("i[0]=%d,i[1]=%d,a=%f,b=%ld,c[0]=%c,c[1]=%c,c[2]=%c,c[3]=%c",u i[0],u i[1],u.a,u.b,u.c[0],u.c[1],u.c[2],u.c[3]);

输入两个整数10000、20000给u.i[0]和u.i[1],分析运行结果。

然后将scanf语句改为:

scanf(”%ld",&u.b);

输入60000给b,分析运行结果。

②从键盘输入一个人的姓名、年龄、性别和身高,然后将它们打印出来。

③在某个选举区中共有500个选民,有6个候选人,要求编写一个程序来统计并显示每一个候选人的得票数量。

④在一个盒子中有红、绿、蓝、白四种颜色的球各若干。现在需要依次从盒子中取出两个球,问取出的两个球颜色不同的可能取法共有多少?编程打印出可能的取法。

点击查看答案
第4题

实验目的:

(1)熟练掌握线性表的单链式存储结构及在其上实现线性表的各种基本运算的方法。

(2)掌握和理解本实验中出现的一些基本的C语言语句。

(3)体会算法在程序设计中的重要性。

实验内容:

(1)设计一算法,逆置带头结点的动态单链表head。要求利用原表的结点空间,并要求用尽可能少的时间完成。

(2)设有两个按元素值递增有序的单链表A和B,编一程序将A表和B表归并成一个新的递增有序的单链表C(值相同的元素均保留在C表中),并要求利用原表的空间存放C。

点击查看答案
第5题

实验目的:

(1)熟练掌握在顺序表上实现排序的各种方法。

(2)深刻理解各种排序方法的特点,并能灵活运用。

(3)掌握和理解本实验中出现的一些基本的C语言语句。

(4)体会算法在程序设计中的重要性。

实验内容:

编写一个排序菜单程序,在其中调用不同的排序算法,实现对任意无序序列的递增排序操作。在主程序中输入初始序列,分别调用直接插入排序、冒泡排序、直接选择排序、快速排序等排序算法,输出排序后的结果。题目要求:在所有的排序算法中,待排序数据均从数组的0单元放起。

点击查看答案
第6题
试点也称为典型实验是政策实验的哪个步骤()。

A、设计实验方案

B、选择实验对象

C、总结实验结果

D、经验成果反馈

点击查看答案
第7题
指针实验(二)补交
点击查看答案
第8题
若x和y为整型变量,对于scanf("a=%d,b=%d",&x,&y);语句,可使x和y的值分别为10和20的正确输入方法是( )。

A、10 20

B、10, 20

C、a=10 b=20

D、a=10,b=20

点击查看答案
第9题

实验十三 编程综合练习 一、实验目的 1. 掌握C程序设计语言的相关知识,提高C程序的编程技巧; 2. 学会使用文件相关函数进行编程综合练习。 二、实验内容及实验步骤 1. 文本文件显示。用任何一种方法先创建一个文本文件string.txt,编写程序将该文件的内容显示出来。 参考程序 /* 显示文本文件的程序 */ #include "stdio.h" main() { FILE *fp; char ch; if((fp=fopen("string.txt","r"))==NULL) { printf("cannot open source file.\n"); exit(1); } while(!feof(fp)) { ch=fgetc(fp); putchar(ch); } fclose(fp); } 程序调试 ① 建立string.txt文本文件。 ② 运行程序,察看并分析程序的运行结果。 ③ 删除string.txt文本文件后,运行程序,察看并分析程序的运行结果。 2. 文件复制。编写一个文本文件复制函数,并在主函数main()中调用它,将上面建立的文本文件string.txt复制到文件backup.txt中。 参考程序 /* 文件复制程序 */ #include"stdio.h" void copy(char *,char *); /* 文件复制函数原型说明 */ main() { char *source="string.txt"; char *target="backup.txt"; copy(source,target); } void copy(char *source,char *target) { FILE *fp_s,*fp_t; if((fp_s=fopen(source,"r"))==NULL) /* 以读方式打开源文件 */ { printf("cannot open source file.\n"); exit(1); } if((fp_t=fopen(target,"w"))==NULL) { printf("cannot open target file.\n"); exit(1); } while(!feof(fp_s)) fputc(fgetc(fp_s),fp_t); fclose(fp_s); fclose(fp_t); return; } 程序调试 运行程序后,用文本编辑软件打开backup.txt文件察看结果。也可以使用上面的文本文件显示程序察看结果。 3. 用文件存储学生数据。有5个学生,每个学生有3门课的成绩,从键盘输入数据(包括学生号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。 设5名学生的学号、姓名和3门课成绩如下: 99101 Wang 89 98 67 99103 Li 60 80 90 99106 Fun 75 91 99 99110 Ling 80 50 62 99113 Yuan 58 68 7l 参考程序 /* 用文件存储学生数据程序 */ #include "stdio.h" #define N 5 struct student /* 定义学生结构体数据类型 */ { char num[10]; char name[8]; int score[3]; float ave; }; main() { struct student stu[5]; int i,j; FILE *fp; float sum; for(i=0;i<n;i++) { printf("enter num: "); scanf("%s",stu[i].num); * 输入学生的学号 name: scanf("%s",stu[i].name); 输入学生的姓名 sum="0;" for(j="0;j&lt;3;j++)" 输入学生的三门课的成绩 socre%d: ",j+1); scanf("%d",&stu[i].score[j]); 计算总成绩 getchar(); } stu[i].ave="sum/3.0;" 计算平均成绩 printf("\n"); if((fp="fopen(" stud" ","w"))="=NULL)" printf("can not open this file.\n"); exit(1); for(i="0;i&lt;N;i++)" fwrite(&stu[i],sizeof(struct student),1,fp); fclose(fp); ","r"))="=NULL)" fread(&stu[i],sizeof(struct printf("%s %s ",stu[i].num,stu[i].name); printf("%d ",stu[i].score[j]); printf("%f\n",stu[i].ave); 程序调试 ① 为了观察文件的存储操作是否正确,在调试程序时应增加显示存储文件的程序代码。也可以单独编写程序,显示存储文件。 ② 在参考程序中,在写文件时使用的是“w”操作方式,显示文件时重新用“r”方式打开。请修改程序,使用一种文件操作方式,写完之后,再从头显示文件内容。 三、实验报告要求 写明: 1. 实验目的 2. 实验内容与步骤 3. 编写的程序(题目,经调试、运行后正确的程序) 4. 思考题的解决方法。 5.>

点击查看答案
第10题
设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式( )。

A、a=a-a+b

B、a-a=b

C、a=a-(a+b)

D、a=-a+b

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP