首页 > 其他 > 详细

C高级第三次作业

时间:2018-04-10 14:54:50      阅读:333      评论:0      收藏:0      [点我收藏+]

C高级第三次作业(1)

6-1 输出月份英文名

技术分享图片
技术分享图片
技术分享图片

1.设计思路

(1)算法:
第一步:定义整型变量n,字符指针s,输入一个数赋给n。
第二步:调用函数getmonth将值赋给s。
第三步:在函数getmonth中使用switch—case语句来实现,返回月份的英文名。
第四步:在主函数中如果s==NULL就输出wrong input,否则输出s。
(2)流程图:

2.实验代码:

char *getmonth( int n ){
    char *a;
    switch(n){
        case 1:strcpy(a,"January");break;
        case 2:strcpy(a,"February");break;
        case 3:strcpy(a,"March");break;
        case 4:strcpy(a,"April");break;
        case 5:strcpy(a,"May");break;
        case 6:strcpy(a,"June");break;
        case 7:strcpy(a,"July");break;
        case 8:strcpy(a,"August");break;
        case 9:strcpy(a,"September");break;
        case 10:strcpy(a,"October");break;
        case 11:strcpy(a,"November");break;
        case 12:strcpy(a,"December");break;
        default:strcpy(a,"NULL");
    }
    return(a);
}

技术分享图片

修改后的代码

char *getmonth( int n ){
    switch(n){
        case 1:return "January";
        case 2:return "February";
        case 3:return "March";
        case 4:return "April";
        case 5:return "May";
        case 6:return "June";
        case 7:return "July";
        case 8:return "August";
        case 9:return "Septemer";
        case 10:return "October";
        case 11:return "November";
        case 12:return "December";
        default:return NULL;
    }
}

技术分享图片

3.本题调试过程碰到问题及解决办法:

问题1:部分正确
错误的原因:没有声明string函数库,无法调用strcpy函数。
修正方法:自己想不出来在网上搜解题思路,自己重新写。

6-2 查找星期

技术分享图片
技术分享图片
技术分享图片

1.设计思路:

(1)算法:
第一步:定义整型变量i,字符数组s[MAXS],输入一个字符串赋给s。
第二步:调用函数getindex,n=getindex的返回值。
第三步:在getindex函数中,定义整型变量a=-1,i=0,字符指针数组*week[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"},在for循环中i为循环变量,条件为i<7,如果strcmp(s,week[i])==0,就执行a=i,然后跳出这个循环,执行完for循环最后返回a。
第四步:在主函数中如果n==-1,就执行wrong input!,否则就输出n的值
(2)流程图:
技术分享图片

2.实验代码

int getindex( char *s ){
    int a=-1,i;
    char *week[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    for(i=0;i<7;i++){
        if(strcmp(s,week[i])==0){
            a=i;
            break;
        }
    }
    return a;
}

3.本题调试过程碰到问题及解决办法:

技术分享图片

6-3 计算最长的字符串长度

技术分享图片
技术分享图片
技术分享图片

1.设计思路:

(1)算法:
第一步:常量MAXN 10,MAXS 20,定义整型变量i,n,字符指针数组string[MAXN] = {NULL},输入一个数赋给n。
第二步:借助for循环i=0;条件为i<n;在for循环中动态分配内存大小为20字节,输入一个字符串赋给string[i]。
第三步:调用max_len函数,将函数max_len的返回值输出。
第四步:在函数max_len中,定义整型变量i,count=0,j,整型数组q[20]={0};借助for循环求出
(*(s+i))中的字符串的长度,将值赋给q[i];
第五步:count=q[0],借助for循环找到q[i]的最大值赋给count,最后返回count的值。
(2)流程图
技术分享图片

2.实验代码:

int max_len( char *s[], int n ){
    int i,count=0,j,q[20]={0};
    for(i=0;i<n;i++){
        for(j=0;*(*(s+i)+j)!=‘\0‘;j++){
        }
        q[i]=j;
    }
    count=q[0];
    for(i=0;i<n;i++){
        if(q[i]>count){
            count=q[i];
        }
    }
    return count;
} 

3.本题调试过程碰到问题及解决办法:

技术分享图片

C高级第三次作业

原文:https://www.cnblogs.com/chenxidream/p/8778302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!