| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 594 人关注过本帖
标题:初学者求捉虫
取消只看楼主 加入收藏
外线
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-11-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
初学者求捉虫
刚开始学C语言,题目是编写连接字符串、拷贝字符串、比较字符串、转换大小写等函数并测试,下面是我写的代码,求各位捉虫OTZ

#include<stdio.h>

void strcpy(char str[],char cpy[]);
void strcat(char str1[],char str2[]);
void strlwr(char str[]);
void strupr(char str[]);
int strcmp(char str1[],char str2[]);

int main()
{
    char a[20],b[20],cpy[20];
    printf("a:");
    gets(a);
    printf("b:");
    gets(b);
    strcpy(a,cpy);    //拷贝字符串
    puts(cpy);
    printf("\n");
    strcat(a,b);     //连接字符串
    puts(a);
    printf("\n");
    printf("a:");
    gets(a);
    strlwr(a);      //大小写转换
    puts(a);
    strupr(a);    //大小写转换
    puts(a);
    strcmp(a,b);  //字符串比较
    return 0;
}

void strcpy(char str[],char cpy[])
{
    int i;
    for(i=0;(str[i]=cpy[i])!='\0';i++)
        cpy[i]=str[i];
    cpy[i]='\0';
}

void strcat(char str1[],char str2[])
{
    int rear,i,j;
    for(rear=0;str1[rear]!='\0';rear++);
    i=rear;
    for(rear=0;str2[rear]!='\0';rear++);
    for(j=0;j<=rear;j++)
        str1[i]=str2[j];
}

void strlwr(char str[])
{
    int rear,i;
    for(rear=0;str[rear]!='\0';rear++);
    for(i=0;i<rear;i++)
    {
        if(str[i]>'A'&&str[i]<'Z')
            str[i]=str[i]-'A'+'a';
    }
}

void strupr(char str[])
{
    int rear,i;
    for(rear=0;str[rear]!='\0';rear++);
    for(i=0;i<rear;i++)
    {
        if(str[i]>'a'&&str[i]<'z')
            str[i]=str[i]-'a'+'A';
    }
}

int strcmp(char str1[],char str2[])
{
    int i,j,rear1,rear2;
    for(rear1=0;str1[rear1]!='\0';rear1++);
    for(rear2=0;str2[rear2]!='\0';rear2++);
    rear1--;
    rear2--;
    for(i=0;;i++)
    {
        if(i==rear1)
        {
            if(i==rear2)
                return 0;
            else
                return -1;
        }
        if(i==rear2)
            return 1;
        if(str1[i]!=str2[i])
            return str1[i]-str2[i];
    }
}
2015-11-08 19:48
外线
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-11-8
收藏
得分:0 
谢谢上面两位的回复,下面是求每门课的平均成绩、最高分还有各科总平均,运行提示有一个错误,还请各位帮看看

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i,j;
    float average,max[3]={},ave[3]={};
    flaot a[][3]={{81,76,92},{66,68,74},{59,61,70},{90,87,95},{75,79,85}};

    for(i=0;i<3;i++)
    {
        for(j=0;j<5;j++)
        {
            if(max[i]<a[j][i])max[i]=a[j][i];
            ave[i]+=a[j][i];
        }
        ave[i]=ave[i]/5;
    }
    average=(ave[0]+ave[1]+ave[2])/3;
    printf("每门课程的最高分:\n");
    printf("English:%5.2f  ,Math:%5.2f   ,C:%5.2f  \n",max[0],max[1],max[2]);
    printf("每门课程的平均分:\n");
    printf("English:%5.2f  ,Math:%5.2f   ,C:%5.2f  \n",ave[0],ave[1],ave[2]);
    printf("总平均成绩:%f  \n",average);
    return 0;
}
2015-11-09 16:20
快速回复:初学者求捉虫
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011482 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved