/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:将一批数中小于平均值的数放到一个新数组中。
例如:n值为6,6个数为:1 2 3 4 5 6,则小于平均值的个数为3。
--------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数
main和其它函数中的任何内容,仅在函
数的花括号中填入所编写的若干语句。
*********Begin**********和********** End **********不可删除
------------------------------------------------*/
#include<stdio.h>
void TestFunc();
int average_num(double a[],int n,double b[])
{
/*********Begin**********/
/********** End **********/
}
main()
{
double a[100],b[100]; int n,i,num;
printf("input n:");
scanf("%d",&n);
printf("input %d data:\n",n);
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
num=average_num(a,n,b);
printf("the num is:%d\n",num);
for(i=0;i<num;i++)
printf("%lf ",b[i]);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int n;
double i[10],b[10];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%lf",&i[n]);
}
o=average_num(i,5,b);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
答案
int i,m=0;
double avg=0;
for(i=0;i<n;i++)
avg+=a[i]/n;
for(i=0;i<n;i++)
if(avg>a[i])
b[m++]=a[i];
return m;
2
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:将主函数中输入的字符串反序存放。
例如:输入字符串"abcdefg",则应输出"gfedcba"。
*********Begin**********和********** End **********不可删除
------------------------------------------------*/
#include "stdio.h"
#include "string.h"
#include "conio.h"
#define N 81
void fun(char *str,int n)
{
/*********Begin**********/
/********** End **********/
}
TestFunc()
{
FILE *IN,*OUT;
char sIN[20],*sOUT;
int iLENGTH;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
fscanf(IN,"%s",sIN);
iLENGTH=strlen(sIN);
sOUT=sIN;
fun(sIN,iLENGTH);
fprintf(OUT,"%s\n",sOUT);
fclose(IN);
fclose(OUT);
}
main()
{
char s [N];
int l;
printf("input a string:");gets(s);
l=strlen(s);
fun(s,l);
printf("The new string is :");puts(s);
TestFunc();
}
答案
int i,j;
char c;
for(i=0,j=n-1;i<j;i++,j--) /*或者for(i=0,j=n-1;i<n/2;i++,j--)*/
{c=*(str+i);
*(str+i)=*(str+j);
*(str+j)=c;}