C语言编程问题 怎么把这些程序代码放入子函数中 主要内容如下
第一程序求圆面积把它放到“funct1.h”里#include<stdio.h>#include<string.h>#include<stdlib.h>#definepi...
第一程序 求圆面积 把它放到“funct1.h”里
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define pi 3.1415926
float area(float s);
void main()
{
char srmima[16],mima[16]="sunshibin1020";
int i=0,j;
float r,s;
while(1)
{
for(j=0;j<30;j++)
printf("-");
printf("\n");
printf("请输入密码:");
gets(srmima);
for(j=0;j<30;j++)
printf("-");
printf("\n");
if(strcmp(srmima,mima)==0)
{
printf("恭喜你,密码正确!\n");
break;
}
i++;
if(i>2)
{
printf("很遗憾,密码输入错误!\n");
exit(0);
}
}
area(r);
printf("圆面积为:%f",s);
getchar();
}
float area(float r)
{
float s;
while(1)
{
printf("\n请输入半径: r:");
scanf("%f",&r);
if (r<0)
break;
s=pi*r*r;
printf("s=%.2f\n",s);
}
exit(0);
}
第二个程序 求20的阶乘 放入“funct2.h”里
#include<stdio.h>
int f[100];
void main()
{
int i,j,n=20;
for(i=0;i<100;i++)
f[i]=0;
f[0]=1;
for(i=2;i<=20;i++)
{
int c=0;//进位
for(j=0;j<100;j++)
{
int s=f[j]*i+c;
f[j]=s%10;
c=s/10;
}
}
for(j=99;j>=0;j--)
if(f[j]) break;
for(i=j;i>=0;i--)
printf("%d",f[i]);
printf("\n");
}
第三个程序 选择排序 放入“funct3.h”里
#include <stdio.h>
#define N 10
void main()
{ int i,j,a[N],t;
printf("输入比较的%d数\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(j=0;j<N-1;j++)
for(i=j+1;i<N;i++)
if(a[j]>a[i])
{t=a[j];a[j]=a[i];a[i]=t; }
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n"); }
主系统函数如下
#include "stdio.h"
#include "funct1.h"
#include "funct2.h"
#include "funct3.h"
#include "funct4.h"
#include "funct5.h"
#include "funct6.h"
void menu(void)
{
char choice;
printf("******************简单应用系统******************\n") ;
printf("====================================================\n");
printf("1.求圆的面积 2.输出20阶乘的值\n");
printf("3.用选择法排序 4.用指针将数组反序存放\n");
printf("5.评分程序 6.关于本系统介绍\n");
printf("0.退出系统\n");
printf("----------------------------------------------------\n");
printf("请您在上述功能中选择(0-6):\n");
do
{
choice=getchar();
switch(choice)
{
case '1':funct1();break;
case '2':funct2();break;
case '3':funct3();break;
case '4':funct4();break;
case '5':funct5();break;
case '6':funct6();break;
case '0':exit(0);
}
}while(1);
}
main()
{
menu();
}
怎么放啊 晕了都
第五个程序 评分系统 程序如下 放在funct5.h中
#include<stdio.h>
void main()
{
int i,j,fen[5][8],max,min,s,k;
float av[5],t;
for(i=0;i<5;i++) //有5个歌手
for(j=0;j<8;j++) //有8个评委
scanf("%d",&fen[i][j]);
for(i=0;i<5;i++)
{
s=0;
max=min=fen[i][0];
for(j=0;j<8;j++)
{
if(max<fen[i][j]) max=fen[i][j];//找出最大分
if(min>fen[i][j]) max=fen[i][j];//找出最小分
s+=fen[i][j]; //8个评委的总分
}
av[i]=(float)(s-max-min)/6.0;//各个歌手去掉最大和最小分后的平均分
}
for(i=0;i<4;i++)//这个循环是排序歌手的平均分
{
k=i;
for(j=i+1;j<7;j++)
if(av[k]<av[j]) k=j;
if(i!=k)
{t=av[i];av[i]=av[k];av[k]=t;}
}
for(i=0;i<5;i++)
printf("第%d名得分:%.2f\n",i+1,av[i]);
}
第四个不会 展开
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define pi 3.1415926
float area(float s);
void main()
{
char srmima[16],mima[16]="sunshibin1020";
int i=0,j;
float r,s;
while(1)
{
for(j=0;j<30;j++)
printf("-");
printf("\n");
printf("请输入密码:");
gets(srmima);
for(j=0;j<30;j++)
printf("-");
printf("\n");
if(strcmp(srmima,mima)==0)
{
printf("恭喜你,密码正确!\n");
break;
}
i++;
if(i>2)
{
printf("很遗憾,密码输入错误!\n");
exit(0);
}
}
area(r);
printf("圆面积为:%f",s);
getchar();
}
float area(float r)
{
float s;
while(1)
{
printf("\n请输入半径: r:");
scanf("%f",&r);
if (r<0)
break;
s=pi*r*r;
printf("s=%.2f\n",s);
}
exit(0);
}
第二个程序 求20的阶乘 放入“funct2.h”里
#include<stdio.h>
int f[100];
void main()
{
int i,j,n=20;
for(i=0;i<100;i++)
f[i]=0;
f[0]=1;
for(i=2;i<=20;i++)
{
int c=0;//进位
for(j=0;j<100;j++)
{
int s=f[j]*i+c;
f[j]=s%10;
c=s/10;
}
}
for(j=99;j>=0;j--)
if(f[j]) break;
for(i=j;i>=0;i--)
printf("%d",f[i]);
printf("\n");
}
第三个程序 选择排序 放入“funct3.h”里
#include <stdio.h>
#define N 10
void main()
{ int i,j,a[N],t;
printf("输入比较的%d数\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(j=0;j<N-1;j++)
for(i=j+1;i<N;i++)
if(a[j]>a[i])
{t=a[j];a[j]=a[i];a[i]=t; }
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n"); }
主系统函数如下
#include "stdio.h"
#include "funct1.h"
#include "funct2.h"
#include "funct3.h"
#include "funct4.h"
#include "funct5.h"
#include "funct6.h"
void menu(void)
{
char choice;
printf("******************简单应用系统******************\n") ;
printf("====================================================\n");
printf("1.求圆的面积 2.输出20阶乘的值\n");
printf("3.用选择法排序 4.用指针将数组反序存放\n");
printf("5.评分程序 6.关于本系统介绍\n");
printf("0.退出系统\n");
printf("----------------------------------------------------\n");
printf("请您在上述功能中选择(0-6):\n");
do
{
choice=getchar();
switch(choice)
{
case '1':funct1();break;
case '2':funct2();break;
case '3':funct3();break;
case '4':funct4();break;
case '5':funct5();break;
case '6':funct6();break;
case '0':exit(0);
}
}while(1);
}
main()
{
menu();
}
怎么放啊 晕了都
第五个程序 评分系统 程序如下 放在funct5.h中
#include<stdio.h>
void main()
{
int i,j,fen[5][8],max,min,s,k;
float av[5],t;
for(i=0;i<5;i++) //有5个歌手
for(j=0;j<8;j++) //有8个评委
scanf("%d",&fen[i][j]);
for(i=0;i<5;i++)
{
s=0;
max=min=fen[i][0];
for(j=0;j<8;j++)
{
if(max<fen[i][j]) max=fen[i][j];//找出最大分
if(min>fen[i][j]) max=fen[i][j];//找出最小分
s+=fen[i][j]; //8个评委的总分
}
av[i]=(float)(s-max-min)/6.0;//各个歌手去掉最大和最小分后的平均分
}
for(i=0;i<4;i++)//这个循环是排序歌手的平均分
{
k=i;
for(j=i+1;j<7;j++)
if(av[k]<av[j]) k=j;
if(i!=k)
{t=av[i];av[i]=av[k];av[k]=t;}
}
for(i=0;i<5;i++)
printf("第%d名得分:%.2f\n",i+1,av[i]);
}
第四个不会 展开
3个回答
展开全部
你用的什么编译器?
具体格式如下:
#ifndef _FUNCT1_H
#define _FUNCT1_H
.......
#endif
其中中间部分就是你所写的每个函数,只是需要把每个函数里面的主函数名字修改成对应的函数名,如第一个函数就把main修改成funct1,后面的基本上都差不多。
然后每次创建的时候,记得是创建c/c++ header file,即创建头文件。
最开始可以创建一个工作空间,后面添加头文件,记得还有一个.c或者.cpp文件,工作空间记得把这些头文件全部装进去。
最后写主函数的时候(即.c后缀或者.cpp后缀),记得写#include <functx.h> ,这里x代表上面函数对应的数字。
如果还有什么不懂的,可以追问。
具体格式如下:
#ifndef _FUNCT1_H
#define _FUNCT1_H
.......
#endif
其中中间部分就是你所写的每个函数,只是需要把每个函数里面的主函数名字修改成对应的函数名,如第一个函数就把main修改成funct1,后面的基本上都差不多。
然后每次创建的时候,记得是创建c/c++ header file,即创建头文件。
最开始可以创建一个工作空间,后面添加头文件,记得还有一个.c或者.cpp文件,工作空间记得把这些头文件全部装进去。
最后写主函数的时候(即.c后缀或者.cpp后缀),记得写#include <functx.h> ,这里x代表上面函数对应的数字。
如果还有什么不懂的,可以追问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件--新建--c/c++ header film 然后把函数写进去就好了
追问
如何调用
追答
#inlcude "funct1.h"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-12-24
展开全部
如题如题如题
追问
第四个程序 funct4.h
#include
void main()
{
int i,j,temp,num[10],*p=num;
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&num[i]);
for(i=0,j=9;i<5;i++,j--)
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
printf("交换顺序后:\n");
for(i=0;i<10;i++)
printf("%d ",num[i]);
printf("\n");
}
你可以告诉我怎么放吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询