6-1输出月份英文名
主要描述题目算法
第一步:定义指针数组*month[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
第二步:利用if判断变量n是否满足n>0并且n<=12
第三步:如果是返回month [n-1],如果不是返回NULL
流程图
实验代码
char *getmonth( int n )
{
char *month[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
if(n>0&&n<=12)
{
return month [n-1];}
else
return NULL;
}
错误信息
错误原因:部分正确 , 0是答案错误
改正方法:将n的条件改为n>o
6-2查找星期
主要描述题目算法
第一步:定义指针数组*day[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
第二步:定义循环变量i、n,将n赋初值--1
第三步:利用for循环,循环判断strcmp(s,day[i]) 是否等于0,如果是将i赋给n,不是继续循环
第四步:返回n。
流程图
实验代码
int getindex( char *s )
{
char *day[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int n=-1;
int i=0;
for(i=0; i<7; i++)
{
if( strcmp(s,day[i]) == 0 )
n=i;
}
return n;
}
错误信息
错误原因:答案错误 n没有赋初值
改正方法:将n赋初值为-1
6-3 计算最长的字符串长度
主要描述题目算法
第一步:定义循环变量i,定义max和t并赋初值0
第二步: 令max等于数组中的一个元素
第三步:利用for循环,将数组中最大的元素赋值给max
第四步:返回max
流程图
实验代码
int max_len( char *s[], int n )
{
int i,max=0,t=0;
max=strlen(s[i]);
for(i=1;i
错误信息
6-4 指定位置输出字符串
主要描述题目算法
第一步:定义ij,k和len并且给他们赋初值0
第二步:定义指针数组*p=NULL
第三步:利用for循环遍历数组并且判断s[i] 、s[j]与ch1、ch2关系并交换
第四步: 返回 p
流程图
实验代码
char *match( char *s, char ch1, char ch2 ){
int i=0,j=0,k=0,len=0;
char *p=NULL;
for(i=0;i
错误信息
编程题
有一个axb的数组,该数组里面顺序存放了从1到a*b的数字。其中a是你大学号的前三位数字,b是你大学号的后四位数字,比如你的学号是2017023936,那么数组大小是201 x 3936,数组中顺序存放了1到791136(201和3936的积)的整数. 要求用筛选法,把该数组里的质数找出并打印出来,打印格式为5个质数一行,数字间用空格隔开。
筛选法具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。
主要描述题目算法
第一步:定义i,j,x,n.定义数组axb[]
第二步:利用3个for循环 来实现题目的要求
第三步:第一个for遍历数组,第二个第三个来求质数并输出
流程图
实验代码
#include
#include
int main ()
{
int n=0,i=0,j=0,x=0;
n = 201*990;
int axb[n];
for(i=1;i
错误信息
错误原因:答案错误
改正方法:将j赋值2
学习总结和进度
1、总结两周里所学的知识点,回答下列问题?(用自己的话表达出你的理解,网上复制粘贴没有分数)(5分)
(1)如何理解指针数组,它与指针、数组有何关系?为何可以用二级指针对指针数组进行操作?
(2)将C高级第三次PTA作业(1)任何一个题目改为使用二级指针对指针数组进行操作。
(3)用指针数组处理多个字符串有何优势?可以直接输入多个字符串给未初始化的指针数组吗?为什么?##
(1)指针数组能更方便的达到我们的要求。因为指针数组可以被指向地址。
(3)可以减少运算时间和内存占用。可以。
我的GIT
[地址]https://coding.net/u/baisongtao/p/baisongtao/git/tree/master/?public=true
我的评论
[曹佰强]http://www.cnblogs.com/caobaiqiang/p/8810067.html