| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 495 人关注过本帖
标题:求大神看下,帮我把子程序放到总程序中
只看楼主 加入收藏
yxf2328063
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-12-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
求大神看下,帮我把子程序放到总程序中
这我写的,我是第五个,也就是第五个调用函数 void h5()
#include<stdio.h>
#include<string.h>
void sort(char str[])
{
    char t;
    int i,j,n;
    n=strlen(str);
    for(i=0;i<n-1;++i)
    {for(j=i;j<n;j++)
        if(str[i]<str[j])
            {t=str[i];str[i]=str[j];str[j]=t;}}}
 main()
{char str[14];
    gets(str);
    sort(str);
    puts(str);    }
下面是我的总程序,上面有加好的子程序,就这个加不进去
/*main()*/
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<string.h>
typedef struct Student
{
   char name[255];
   float score[4];
   float avers;
}Student;


void sort(char *name[],int n)
    {    char *pt;
        int i,j,k;
        for(i=0;i<n-1;i++)
        {k=1;
            for(j=i+1;j<n;j++)
                if(strcmp(name[k],name[j])>0)k=j;
                if(k!=i)
                {    pt=name[i];
                    name[i]=name[k];
                    name[k]=pt;    }}}
    void print(char*name[],int n)
    {    int i;
        for(i=0;i<n;i++)
            printf("%s\n",name[i]);    }
void h1()
{
  char a[100],b[100],c[100];
  int l1,l2,l3,d=0,x=0,s=0,k=0,q=0,i;
  printf("请输入第一行文字\n");
  gets(a);
  printf("请输入第二行文字\n");
  gets(b);
  printf("请输入第三行文字\n");
  gets(c);
  l1=strlen(a);
  l2=strlen(b);
  l3=strlen(c);
  for(i=0;i<l1;i++)
  {   if(a[i]>='a'&&a[i]<='z') x++;
   if(a[i]>='A'&&a[i]<='Z') d++;
      if(a[i]>='0'&&a[i]<='9') s++;
      if(a[i]==' ') k++;
 }
   for(i=0;i<l2;i++)
  {   if(b[i]>='a'&&b[i]<='z') x++;
   if(b[i]>='A'&&b[i]<='Z') d++;
      if(b[i]>='0'&&b[i]<='9') s++;
      if(b[i]==' ') k++;
   }
    for(i=0;i<l3;i++)
  {   if(c[i]>='a'&&c[i]<='z') x++;
   if(c[i]>='A'&&c[i]<='Z') d++;
      if(c[i]>='0'&&c[i]<='9') s++;
      if(c[i]==' ') k++;
 }
 q=l1+l2+l3-x-d-s-k;
   printf("共有大写字母%d个,小写字母%d个,数字%d个,空格%d个,其他字符%d个\n",d,x,s,k,q);
}
void h2()
{   
     char str1[80],str2[80];
     int i=0,j=0,a=0,b=0;
     gets(str1);
     gets(str2);
     while(str1[i]!='\0') a+=str1[i++];
     while(str2[j]!='\0') b+=str2[j++];
     printf("resu=%d",a-b);
}


void h3()
{char s1[80],s2[80];
   int i;
  printf("input s1:");
  scanf("%s",s1);
for (i=0;i<=strlen(s1);i++)
 s2[i]=s1[i];
printf("s2,%s\n",s2);
}
void h4()
{char s1[81],s2[81];
int i,j=0;
printf("请输入s1字符串,最多80个,回车结束:");
scanf("%s",s1);
j=0;
for(i=0;s1[i]!='\0';i++)
{
switch(s1[i])
{
case 'a': s2[j++]=s1[i]; break;
case 'e': s2[j++]=s1[i]; break;
case 'i': s2[j++]=s1[i]; break;
case 'o': s2[j++]=s1[i]; break;
case 'u': s2[j++]=s1[i]; break;
case 'A': s2[j++]=s1[i]; break;
case 'E': s2[j++]=s1[i]; break;
case 'I': s2[j++]=s1[i]; break;
case 'O': s2[j++]=s1[i]; break;
case 'U': s2[j++]=s1[i]; break;
default:  break;}}
s2[j]='\0';
printf("输出s2字符串:%s",s2);}

void h6()
{
    char st[20],cs[5][20];
    int i,j,p;
    printf("input country's name:\n");
    for(i=0;i<5;i++)
        gets(cs[i]);
    printf("\n");
    for(i=0;i<5;i++)
    {
        p=i;
        strcpy(st,cs[i]);
        for(j=i+1;j<5;j++)
            if(strcmp(cs[j],st)<0)
            {
                p=j;
                strcpy(st,cs[j]);
            }
            if(p!=i)
            {
                strcpy(st,cs[i]);
                strcpy(cs[i],cs[p]);
                strcpy(cs[p],st);
            }
            puts(cs[i]);
    }
    printf("\n");

}
void h7()
{
{
  char a[]="this is a string";
  char c='i';
  int i,j=0;
  for(i=0;a[i]!='\0';i++)
    if(a[i]!=c)
        a[j++]=a[i];
  a[j]='\0';
  printf("%s",a);
  getch();
}
}

void h8()
{
    int i,j;
    float sum;
    Student s[10],tmp;
    for(i=0;i<10;i++)
    {
        printf("输入第%d个学生的名字:",i+1);
        scanf("%s",s[i].name);
        sum=0;
        for(j=0;j<3;j++)
        {
            printf("输入第%d个学生的第%d门课的成绩:",i+1,j+1);
            scanf("%f",&s[i].score[j]);
            sum+= s[i].score[j];
        }
        s[i].avers=sum*1/3;
    }
    for(i=0;i<10;i++)
       for(j=0;j<3-i;j++)
         if(s[j].avers< s[j+1].avers)
         {
             tmp=s[j];
             s[j]=s[j+1];
             s[j+1]=tmp;
         }
    printf("%-10s%-10s%-10s%-10s%-10s\n","姓名","课程1","课程2","课程3","平均分");
    for(i=0;i<10;i++)
    {
       printf("%-10s",s[i].name);
       for(j=0;j<3;j++)
           printf("%-9.1f ",s[i].score[j]);
       printf("%-9.1f\n",s[i].avers);
     }
    getch();
}
void h9()

{
  char a[]="this is a string";
  char c='s';
  int i,j=0;
  for(i=0;a[i]!='\0';i++)
    if(a[i]!=c)
        a[j++]=a[i];
  a[j]='\0';
  printf("%s",a);
  getch();
}

        
void h10()
{char S1[200],S2[100];
    char *p,*q;   
    printf("请输出字符串s1:\n");
    printf("请输出字符串s2:\n");
    scanf("%s%s",S1,S2);
    p=S1;q=S2;
    while(*p++);
    p--;
    while(*q)
    {*p=*q;p++;q++;}
    *p='\0';
    printf("连接以后\ns1=%s\n",S1);
}

main()
{ int a;
do{
printf("  1.调用函数1\n");
printf("  2.调用函数2\n");
printf("  3.调用函数3\n");
printf("  4.调用函数4\n");
printf("  5.调用函数5\n");
printf("  6.调用函数6\n");
printf("  7.调用函数7\n");
printf("  8.调用函数8\n");
printf("  9.调用函数9\n");
printf("  10.调用函数10\n");
printf("  11.请退出\n");
printf("  请选择:\n");
scanf("%d",&a);
switch(a)
{case 1 : h1();break;
  case 2:  h2();break;
  case 3:  h3();break;
  case 4:  h4();break;
  case 6:  h6();break;
  case 7:  h7();break;
  case 8:  h8();break;
  case 9: h9();break;
  case 10: h10();break;
}
}while(a!=11);
exit(0);
}

[ 本帖最后由 yxf2328063 于 2013-12-24 00:39 编辑 ]
搜索更多相关主题的帖子: 子程序 include 
2013-12-23 19:26
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
程序很长。。。  
最起码说一下程序需要做什么以及每个函数的作用吧

三十年河东,三十年河西,莫欺少年穷!
2013-12-23 22:31
yxf2328063
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-12-20
收藏
得分:0 
回复 2楼 韶志
这个总程序是由10个子程序组成,总程序可以调用每个子程序,而我,已经把9个子程序加到总程序了,就剩一个子程序不会加,你自己看,我加进去,void
h1()。。。。。。。这都是我加进去的子程序,我void h5()不会加

[ 本帖最后由 yxf2328063 于 2013-12-24 00:36 编辑 ]
2013-12-24 00:34
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用yxf2328063在2013-12-24 00:34:11的发言:

这个总程序是由10个子程序组成,总程序可以调用每个子程序,而我,已经把9个子程序加到总程序了,就剩一个子程序不会加,你自己看,我加进去,void
h1()。。。。。。。这都是我加进去的子程序,我void h5()不会加



谁信啊   除非你前9个程序是拿来主义

DO IT YOURSELF !
2013-12-24 08:25
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:20 

下面是我的总程序,上面有加好的子程序,就这个加不进去
/*main()*/
#include<stdio.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<string.h>
typedef struct Student
{
   char name[255];
   float score[4];
   float avers;
}Student;

void new_sort(char str[])
{
    char t;
    int i,j,n;
    n=strlen(str);
    for(i=0;i<n-1;++i)
    {for(j=i;j<n;j++)
        if(str[i]<str[j])
            {t=str[i];str[i]=str[j];str[j]=t;}}}
void h5()
{char str[14];
    gets(str);
    new_sort(str);
    puts(str);    }
void sort(char *name[],int n)
    {    char *pt;
        int i,j,k;
        for(i=0;i<n-1;i++)
        {k=1;
            for(j=i+1;j<n;j++)
                if(strcmp(name[k],name[j])>0)k=j;
                if(k!=i)
                {    pt=name[i];
                    name[i]=name[k];
                    name[k]=pt;    }}}
    void print(char*name[],int n)
    {    int i;
        for(i=0;i<n;i++)
            printf("%s\n",name[i]);    }
void h1()
{
  char a[100],b[100],c[100];
  int l1,l2,l3,d=0,x=0,s=0,k=0,q=0,i;
  printf("请输入第一行文字\n");
  gets(a);
  printf("请输入第二行文字\n");
  gets(b);
  printf("请输入第三行文字\n");
  gets(c);
  l1=strlen(a);
  l2=strlen(b);
  l3=strlen(c);
  for(i=0;i<l1;i++)
  {   if(a[i]>='a'&&a[i]<='z') x++;
   if(a[i]>='A'&&a[i]<='Z') d++;
      if(a[i]>='0'&&a[i]<='9') s++;
      if(a[i]==' ') k++;
}
   for(i=0;i<l2;i++)
  {   if(b[i]>='a'&&b[i]<='z') x++;
   if(b[i]>='A'&&b[i]<='Z') d++;
      if(b[i]>='0'&&b[i]<='9') s++;
      if(b[i]==' ') k++;
   }
    for(i=0;i<l3;i++)
  {   if(c[i]>='a'&&c[i]<='z') x++;
   if(c[i]>='A'&&c[i]<='Z') d++;
      if(c[i]>='0'&&c[i]<='9') s++;
      if(c[i]==' ') k++;
}
q=l1+l2+l3-x-d-s-k;
   printf("共有大写字母%d个,小写字母%d个,数字%d个,空格%d个,其他字符%d个\n",d,x,s,k,q);
}
void h2()
{   
     char str1[80],str2[80];
     int i=0,j=0,a=0,b=0;
     gets(str1);
     gets(str2);
     while(str1[i]!='\0') a+=str1[i++];
     while(str2[j]!='\0') b+=str2[j++];
     printf("resu=%d",a-b);
}


void h3()
{char s1[80],s2[80];
   int i;
  printf("input s1:");
  scanf("%s",s1);
for (i=0;i<=strlen(s1);i++)
s2[i]=s1[i];
printf("s2,%s\n",s2);
}
void h4()
{char s1[81],s2[81];
int i,j=0;
printf("请输入s1字符串,最多80个,回车结束:");
scanf("%s",s1);
j=0;
for(i=0;s1[i]!='\0';i++)
{
switch(s1[i])
{
case 'a': s2[j++]=s1[i]; break;
case 'e': s2[j++]=s1[i]; break;
case 'i': s2[j++]=s1[i]; break;
case 'o': s2[j++]=s1[i]; break;
case 'u': s2[j++]=s1[i]; break;
case 'A': s2[j++]=s1[i]; break;
case 'E': s2[j++]=s1[i]; break;
case 'I': s2[j++]=s1[i]; break;
case 'O': s2[j++]=s1[i]; break;
case 'U': s2[j++]=s1[i]; break;
default:  break;}}
s2[j]='\0';
printf("输出s2字符串:%s",s2);}

void h6()
{
    char st[20],cs[5][20];
    int i,j,p;
    printf("input country's name:\n");
    for(i=0;i<5;i++)
        gets(cs[i]);
    printf("\n");
    for(i=0;i<5;i++)
    {
        p=i;
        strcpy(st,cs[i]);
        for(j=i+1;j<5;j++)
            if(strcmp(cs[j],st)<0)
            {
                p=j;
                strcpy(st,cs[j]);
            }
            if(p!=i)
            {
                strcpy(st,cs[i]);
                strcpy(cs[i],cs[p]);
                strcpy(cs[p],st);
            }
            puts(cs[i]);
    }
    printf("\n");

}
void h7()
{
{
  char a[]="this is a string";
  char c='i';
  int i,j=0;
  for(i=0;a[i]!='\0';i++)
    if(a[i]!=c)
        a[j++]=a[i];
  a[j]='\0';
  printf("%s",a);
  getch();
}
}

void h8()
{
    int i,j;
    float sum;
    Student s[10],tmp;
    for(i=0;i<10;i++)
    {
        printf("输入第%d个学生的名字:",i+1);
        scanf("%s",s[i].name);
        sum=0;
        for(j=0;j<3;j++)
        {
            printf("输入第%d个学生的第%d门课的成绩:",i+1,j+1);
            scanf("%f",&s[i].score[j]);
            sum+= s[i].score[j];
        }
        s[i].avers=sum*1/3;
    }
    for(i=0;i<10;i++)
       for(j=0;j<3-i;j++)
         if(s[j].avers< s[j+1].avers)
         {
             tmp=s[j];
             s[j]=s[j+1];
             s[j+1]=tmp;
         }
    printf("%-10s%-10s%-10s%-10s%-10s\n","姓名","课程1","课程2","课程3","平均分");
    for(i=0;i<10;i++)
    {
       printf("%-10s",s[i].name);
       for(j=0;j<3;j++)
           printf("%-9.1f ",s[i].score[j]);
       printf("%-9.1f\n",s[i].avers);
     }
    getch();
}
void h9()

{
  char a[]="this is a string";
  char c='s';
  int i,j=0;
  for(i=0;a[i]!='\0';i++)
    if(a[i]!=c)
        a[j++]=a[i];
  a[j]='\0';
  printf("%s",a);
  getch();
}

        
void h10()
{char S1[200],S2[100];
    char *p,*q;   
    printf("请输出字符串s1:\n");
    printf("请输出字符串s2:\n");
    scanf("%s%s",S1,S2);
    p=S1;q=S2;
    while(*p++);
    p--;
    while(*q)
    {*p=*q;p++;q++;}
    *p='\0';
    printf("连接以后\ns1=%s\n",S1);
}

main()
{ int a;
do{
printf("  1.调用函数1\n");
printf("  2.调用函数2\n");
printf("  3.调用函数3\n");
printf("  4.调用函数4\n");
printf("  5.调用函数5\n");
printf("  6.调用函数6\n");
printf("  7.调用函数7\n");
printf("  8.调用函数8\n");
printf("  9.调用函数9\n");
printf("  10.调用函数10\n");
printf("  11.请退出\n");
printf("  请选择:\n");
scanf("%d",&a);
switch(a)
{case 1 : h1();break;
  case 2:  h2();break;
  case 3:  h3();break;
  case 4:  h4();break;
  case 5:  h5();break;
  case 6:  h6();break;
  case 7:  h7();break;
  case 8:  h8();break;
  case 9: h9();break;
  case 10: h10();break;
}
}while(a!=11);
exit(0);
}


一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-24 09:40
yxf2328063
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-12-20
收藏
得分:0 
回复 4楼 wp231957
一个函数在独立的时候能运行,可放到总函数就不能运行,你不会了,就别吵,啥叫拿来主义,为了这些,我都做了好些日子了,不懂别人的辛苦就行了,还拿来主义
2013-12-24 12:35
快速回复:求大神看下,帮我把子程序放到总程序中
数据加载中...
 
   



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

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