C语言博客作业--字符数组

一、PTA实验作业

题目1:找最长的字符串

1. 本题PTA提交列表

2. 设计思路

3.代码截图

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

在本题中一开始忘记了最后一个a[i]要赋值为'\0',导致程序不完全正确。

题目2: 字符串转换成十进制整数

1. 本题PTA提交列表

2. 设计思路

定义字符组ch[],a[]
定义整型类型的数num,i,k=0,flag=0//flag用来判断是否为负数,num为数据计算结果
while((ch[i]=getchar())!='#'){
i++;}
ch[i]='\0';
for(i=0;ch[i]!='\0';i++){
当ch[i]中的字符为09,af,A~F,'-'时,
储存在a[k]中
k++;}
if(b[0]'-')flag=1;//flag=1用来表示负数
for(i=0;a[i]!='\0';i++){//计算数组a中所要表达的数
if(a[i]>='0'&&a[i]<='9') num=num16+a[i]-'0';
else if(a[i]>='a'&&a[i]<='f') num=num
16+a[i]-'a'+10;
else if(a[i]>='A'&&a[i]<='F') num=num*16+a[i]-'A'+10;
else if(a[i]
'-') num=num;}
if(num0) 输出0;
else{
if(flag
1) 输出-num;
else 输出num;}

3.代码截图

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

第一次忘记负数的情况,第二次忘记为0时,即使前面有'-'号也是输出0;

题目3:统计大写辅音字母

1. 本题PTA提交列表

2. 设计思路

定义字符串a[80];定义整型类型count=0;
输入字符串a[],gets(a);
for(i=0;a[i]!='\0';i++)
if(ch[i]>'A'&&ch[i]<='Z'&&ch[i]!='E'&&ch[i]!='I'&&ch[i]!='O'&&ch[i]!='U')
count++;
输出count;

3.代码截图

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

本题没有遇到什么较大的困难,相对简单。

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

三、同学代码结对互评

这一题我是只用了一维数组来做,林艺薇则是用二维数组的方法来做,我们的不同之处在于,我是一个一个的来比,比完在输入下一个字符串,然后删掉短的,林艺薇则是运用二维数组先输入所有的字符串,从中找出最长的字符串。二者的可读性都觉的挺不错的。我还是觉的二维数组的方法挺好的,以后要是遇到这种要输入多个字符串的,运用二维数组是一个很方便的方法。

四、本周学习总结

1.你学会了什么?

1.1指针变量如何定义

int *a;

1.2 指针加法运算运用在哪种情况,2个指针变量能否相加?

指针加法运算适用于自增,或者加上某个常数。
两个指针变量不能相加。

1.3 指针不赋初值,直接使用,会出现什么情况,请用DEVC验证,并截图展示?

出现任意值。

1.4 课堂派上关于分离浮点数的整数部分和小数部分那题,请用DEVC验证实现,并在此贴图展示,同时说明哪句是指针变量做函数形参,函数实参应该怎么表示。指针变量做函数形参有什么用处?

1.5 请把课本的冒泡排序的函数改成指针变量做形参格式,并把代码写在底下,

void bubble(int *p,int n)
{
    int i,j,t;
    for(i=1;i<n;i++)
    for(j=0;j<n-i;j++,p++)
    if(*p>*(p+1))
    {
        t=*p;
        *p=*(p+1);
        *(p+1)=t;
    }
}

1.6 如何定义一个指针变量指向数组,如何用指针变量表示数组元素?

int *p,a[999];
p=a;//p指向了数组a;
p++将指向a[i++];

1.7 如何定义字符指针指向字符串?指针指向字符串后,初始位置在哪里?

char *p;
char ch[10] = "abcdefghij";
p = ch;

1.8 利用字符指针操作字符串,如设计函数实现字符串连接,请在此贴图展示代码。说明指针表示字符的方法好处是什么?

char p1="123 ";
char p2="abc";
gets(p1);gets(p2);

减少代码的量,减少变量,使程序可读性更高
减少占用内存。

2.本周你不会内容有什么?

2.1 课堂派错题罗列及如何订正。

重新看程序,一步步下来就理解了他的意思。

2.2 其他不会的?打算怎么解决

用指针来运用在数组的时候,感觉还是不会怎么去运用,我将在遇到数组的题目时用指针的方法来做,夺取理解个了解。

3.数组上机考试小结

3.1 那题错了,请罗列?

函数第二题,数组第三题

3.2 错题如何订正,为什么错了?

函数第二题,在转制后的排序总是感觉哪里错了,我只有使用了两个循环,用了三个循环后就可以解决了。
数组第三题,因为函数第二题时间花太多了,导致这一题只有匆忙的看了一下,这一题倒是有思路。

posted on 2017-12-10 21:59  ifcan  阅读(319)  评论(6编辑  收藏  举报

导航