博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C第九次博客作业--指针
阅读量:5933 次
发布时间:2019-06-19

本文共 2742 字,大约阅读时间需要 9 分钟。

一、PTA实验作业

题目1:两个4位正整数的后两位互换

1. 本题PTA提交列

1233806-20171216220551686-492239282.jpg

2. 设计思路

1233806-20171216222321249-1155632838.jpg

3.代码截图

1233806-20171216222420593-134561832.jpg

本题调试过程碰到问题及PTA提交列表情况说明

刚开始想到的交换是令t=a;a=b;b=t这种形式,但是答案没有正确,两个数字并没有交换,我也没有用到调用函数里面的p和q,而是自己重新定义了两个整数,所以整个代码里指针好像没有发挥什么作用,所以答案是错误的。然后看了室友的代码,才把p和q用上,然后参考了她的交换法,如下图所示:可是我不懂这个交换为什么用-和+来换。我发现我改成这样也没有正确,原因是我多加了p=&number1这个,指针指向一个地址我还不太会用

1233806-20171217145353686-1241428064.jpg

题目2:求出数组中最大数和次最大数

1. 本题PTA提交列

1233806-20171217145536905-851652181.jpg

2. 设计思路

1233806-20171217160216983-299406657.jpg

3.代码截图

1233806-20171217160323858-358034074.jpg

本题调试过程碰到问题及PTA提交列表情况说明

刚开始只用了一个循环,导致没有交换,原样输出。后来加了一个循环,但是没有注意第二个循环是从1开始,导致次大数和a[1]没有交换

题目3: 找最大值及其下标

1. 本题PTA提交列

1233806-20171217172447655-1474754560.jpg

2. 设计思路

1233806-20171217175244889-386995370.jpg

3.代码截图

1233806-20171217175338077-2117074454.jpg

本题调试过程碰到问题及PTA提交列表情况说明

没有给max赋值,输出的时候总是8,没有用到指针*b,position总是0

二、截图本周题目集的PTA最后排名

1233806-20171217211004171-364190610.jpg

三、阅读代码

1233806-20171217183912046-1874842424.jpg

该代码的功能是判断出回文字符串,优点是用的代码量少,清晰又简洁,巧妙的定义了strlen(s)

1233806-20171217214431264-984122600.jpg

四、本周学习总结

1.自己总结本周学习内容

本周学了结构,结构是一种允许程序员把一些数据分量聚合成一个整体的数据类型,它与数组的区别在于:数组中所有元素的数据类型必须是相同的,而结构中各成员的数据类型可以不同。

结构的定义用struct,要用大括号括起来,以分号结束,大括号中以定义变量的形式列出各信息项。结构的嵌套定义,必须先定义成员的结构类型,再定义主结构类型。结构的定义有单独定义:先定义一个结构类型,再定义这种结构类型的变量;混合定义:在定义结构类型的同时定义结构变量 struct 结构名{ 类型名 结构成员名}结构变量表;无类型名定义:在定义结构变量是省略结构名struct { 类型名 结构成员名} 结构变量名表;

结构变量的使用

结构数组操作

2.罗列本周一些错题

1233806-20171217183107499-692656734.jpg

1233806-20171217183121405-1222412491.jpg

1233806-20171217183129514-349802678.jpg

读入一行英文文本,将其中每个 单词的最后一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开或句号结尾的字符串)注意:按照1,2,3,4顺序填空,不要写序号,空格或回车隔开。#include  "stdio.h"#include  "ctype.h"void up1st (_____2_______  ){  int  k = 0 ;   for ( ; ____3____ ;  p++ )   {     if ( k )      {   if ( *p == ' ' || *p == '.' )          {               *(p -1 ) =______4________;             k=0;          }      }      else         if ( *p != ' ' )              k = 1 ;   }      *( p-1 ) = toupper( *(p-1) ) ;}int main( ){    char  chrstr[81] ;       printf( "\nPlease enter a string: " );     ________1_____ ;    printf( "\n\nBefore changing:\n  %s", chrstr );    up1st( chrstr );    printf( "\nAfter changing:\n  %s", chrstr );}参考答案 gets(chrstr);char *p *ptoupper( *(p-1))我的作答int *toupper,int *pP=0;*p
3、填空题分值10.0得分: 3.0 Fun函数用来删除字符串中所有空格, 如输入:  as df gghk lkj78, 则输出:  asdfgghklkj78        #include 
#include
void Fun(char *str){ int i,j; i=j=0; while(____2_____) { if(str[i]!=' ') str[j++]=str[i]; i++; } str[j]=___3____; }int main(){ char str[81]; int n; gets(str); puts(str); _____1______; printf("*** str: %s\n",str);}参考答案 Fun(str)str[i]'\0'我的作答str[i]=getchar()=='\0'str[i]n=0
4、填空题分值10.0得分: 3.0 给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值, 计算出这些数值的累加和作为函数值返回。 例如,形参s所指的字符串为:abs5def126jkm8, 程序执行后的输出结果为:22。#include  
#include
#include
int Fun(char *s){ int sum=0 ; while(___2___) { if(isdigit(*s)) /* if(*s>='0'&& *s<='9')*/ _____3_________; s++; } return sum;}int main(){ char s[81]; int sum; printf("\nEnter a string:"); gets(s); _____1______; printf("\nThe result is: %d\n",sum); }参考答案sum=Fun(s)*ssum=sum+*s-'0'我的作答*ss=sum*32+s-'0'puts(s)

转载于:https://www.cnblogs.com/danzhai/p/8047957.html

你可能感兴趣的文章
基于泛型实现的ibatis通用分页查询
查看>>
gopacket 使用
查看>>
AlertDialog对话框
查看>>
我的友情链接
查看>>
办公室几台电脑怎么连一台打印机的具体步骤
查看>>
JavaScript注意事项
查看>>
linux安全---cacti+ntop监控
查看>>
鸟哥的linux私房菜-shell简单学习-1
查看>>
nagios配置监控的一些思路和工作流程
查看>>
iptables+layer7实现访问控制+netfilter/iptables基础
查看>>
通讯组基本管理任务三
查看>>
赫夫曼编码实现
查看>>
html页面显示div源代码
查看>>
linux下mysql安装配置菜鸟篇
查看>>
Windows系统克隆***与防范
查看>>
nginx使用ssl模块配置HTTPS支持
查看>>
解决nginx调用php-fpm出错的原因
查看>>
Javascript编程笔记(一)
查看>>
“单元测试要做多细?”[转载]
查看>>
mysql将一个表中字段A的值赋给另一个表的字段B
查看>>