资源描述
【程序设计】
--------------------------------------------------
功能:从键盘上输入任意实数x,求出其所对应的函数值。
z=(x-4)的二次幂(x>4)
z=x的八次幂(x>-4)
z=z=4/(x*(x+1))(x>-10)
z=|x|+20(其他)
------------------------------------------------*/
#include <math.h>
#include <stdio.h>
void bky();
float y(float x)
{
/**********Begin**********/
/********** End **********/
}
main()
{
float x;
scanf("%f",&x);
printf("y=%f\n",y(x));
bky();
}
void bky()
{
FILE *IN,*OUT;
int n;
float i;
float 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<10;n++)
{
fscanf(IN,"%f",&i);
o=y(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
【参考代码】
float z;
if(x>4) z=sqrt(x-4);
else if(x>-4) z=pow(x,8);
else if(x>-10) z=4/(x*(x+1));
else z=fabs(x)+20;
return(z);
功能:fun函数的功能是,实现字符串的复制,即将str1中的字符串复制到str2中。(不允许用字符串库函数strcpy)。
------------------------------------------------*/
#include "stdio.h"
void fun(char str1[],char str2[])
{
/**********Begin**********/
/********** End **********/
}
void TestFunc();
main()
{
char c1[40],c2[40];
gets(c1);
fun(c1,c2);
puts(c2);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int n;
char i[100];
char o[100];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
fscanf(IN,"%s",i);
fun(i,o);
fprintf(OUT,"%s\n",o);
fclose(IN);
fclose(OUT);
}
【参考代码】
int i;
for(i=0;str1[i]!='\0';i++)
str2[i]=str1[i];
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:将从键盘上输入的每个单词的第一个字母转换为
大写字母,输入时各单词必须用空格隔开,用’.’
结束输入。
------------------------------------------------*/
#include "stdio.h"
int fun(char *c,int status)
{
/**********Begin**********/
/********** End **********/
}
main()
{
int flag=1;
char ch;
printf("请输入一字符串,用点号结束输入!\n") ;
do
{
ch=getchar();
flag=fun(&ch, flag);
putchar(ch);
}while(ch!='.');
printf("\n");
NONO();
}
NONO( )
{
char s1[81], ch;
int i, flag = 1;
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat", "w") ;
fgets(s1, 80, rf) ;
for(i = 0 ; i < strlen(s1); i++)
{
ch = s1[i] ;
flag = fun(&ch, flag) ;
s1[i] = ch ;
}
fprintf( wf,"%s", s1 );
fclose(rf) ;
fclose(wf) ;
}
【参考代码】
if (*c== ' ') return 1;
else
{
if(status && *c <= 'z' && *c >= 'a')
*c += 'A' - 'a';
return 0;
}
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:从键盘输入一个大于3的整数,调用函数fun判断
其是否素数,然后在main函数中输出相应的结论
信息。
例如:7是素数,8不是素数。请编写fun函数。素数是
仅能被1和自身整除的数
-------------------------------------------------*/
#include <stdio.h>
void VV();
int fun(int n)
{
/********** Begin **********/
/********** End ***********/
}
main()
{
int m,flag;
printf("input an integer:");
scanf("%d",&m);
flag=fun(m);
if(flag)
printf("%d is a prime.\n",m);
else
printf("%d is not a prime.\n",m);
VV();
}
void VV()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
IN=fopen("5.IN","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..it May Be Changed");
}
OUT=fopen("5.out","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. it May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
【参考代码】
int i;
int j;
j=1;
for(i=2;i<n;i++)
{
if(n%i==0) j=0;
}
return j;
程序设计
1.功能:编写函数判断一个整数能否同时被3和5整除,若能
则返回值为1,否则为0。调用该函数求出15~300之
间能同时被3和5整除的数的个数。
#include <stdio.h>
void bky();
int sum(int n)
{
/**********Begin**********/
if(n%3==0&&n%5==0) return(1);
return(0);
/********** End **********/
}
main()
{
int i,s=0;
for(i=15;i<=300;i++)
if(sum(i)==1) s=s+1;
printf("s=%d\n",s);
bky();
}
void bky()
{
FILE *IN,*OUT;
int n;
int i[12];
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,"%d",&i[n]);
}
for(n=0;n<5;n++)
{
o = sum(i[n]);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
2.功能:产生20个[30,120]上的随机整数放入二维数组a[5][4]
中,求每行元素的和。
#include "stdlib.h"
#include <stdio.h>
void bky();
void row_sum(int a[5][4],int b[5])
{
/**********Begin**********/
int i,j;
for(i=0;i<5;i++)
{ b[i]=0;
for(j=0;j<4;j++)
b[i]=b[i]+a[i][j];
}
/********** End **********/
}
main()
{
void row_sum();
int a[5][4],b[5],i,j;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
a[i][j]=random(120-30+1)+30;
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
row_sum(a,b);
for(i=0;i<5;i++)
printf("%6d",b[i]);
printf("\n");
bky();
}
void bky()
{
FILE *IN,*OUT;
int m,n;
int i[5][4];
int o[5];
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(m=0;m<5;m++)
for(n=0;n<4;n++)
fscanf(IN,"%d",&i[m][n]);
row_sum(i,o);
for(n=0;n<5;n++)
fprintf(OUT,"%d\n",o[n]);
fclose(IN);
fclose(OUT);
的矩阵:
100 200 300
400 500 600
700 800 900
程序输出:
200 400 600
800 1000 1200
1400 1600 1800
------------------------------------------------*/
#include <stdio.h>
void bky();
void fun(int array[3][3])
{
/**********Begin**********/
/********** End **********/
}
main()
{
int i,j;
int array[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
for (i=0; i < 3; i++)
{
for (j=0; j < 3; j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for (i=0; i < 3; i++)
{
for (j=0; j < 3; j++)
printf("%7d",array[i][j]);
printf("\n");
}
bky();
}
void bky()
{
int i,j, array[3][3];
FILE *rf, *wf ;
rf = fopen("in.dat", "r") ;
wf = fopen("out.dat", "w") ;
for (i=0; i < 3; i++)
for (j=0; j < 3; j++)
fscanf(rf, "%d", &array[i][j]);
fun(array);
for (i=0; i < 3; i++)
{
for (j=0; j < 3; j++)
fprintf(wf, "%7d", array[i][j]);
fprintf(wf, "\n");
}
fclose(rf) ;
fclose(wf) ;
}
示例代码:
int i,j;
for(i=0; i < 3; i++)
for(j=0; j < 3; j++)
array[i][j]=array[i][j]*2;
题号:6235
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,
按列的顺序依次放到一个一维数组中。例如,二维数组中的数据为:
W W W W
S S S S
H H H H
则一维数组中的内容应是: WSHWSHWSH。
------------------------------------------------*/
void TestFunc();
#include <stdio.h>
#define M 3
#define N 4
void fun(char s[][N], char b[])
{
/*********Begin**********/
/********** End **********/
}
main()
{ char a[100];
char w[M][N]={{'W','W','W','W'},
{'S','S','S','S'},{'H','H','H','H'}};
int i,j;
printf("The matrix:\n");
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%3c",w[i][j]);
printf("\n"); }
fun(w,a);
printf("The A string:\n");
puts(a);
printf("\n\n");
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int j,i;
char a[M][N],b[100];
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(i=0;i<M;i++)
for(j=0;j<N;j++)
fscanf(IN,"%c",&a[i][j]);
fun(a,b);
fprintf(OUT,"%s",b);
fclose(IN);
fclose(OUT);
}
示例代码:
int i,j,n=0;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
{ b[n]=s[j][i]; n++;}
b[n]='\0';
1:功能:从低位开始取出长整型变量s奇数位上的数,依次
构成一个新数放在t中。
例如:当s中的数为:7654321时,t中的数为:7531。
------------------------------------------------*/
#include "stdio.h"
long fun (long s,long t)
{
/**********Begin**********/
/********** End **********/
}
return t;
}
main()
{
long s, t,m;
printf("\nPlease enter s:"); scanf("%ld", &s);
m=fun(s,t);
printf("The result is: %ld\n", m);
TestFunc();
}
TestFunc()
{
FILE *IN,*OUT;
int n;
long i,t,m;
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,"%ld",&i);
m=fun(i,t);
fprintf(OUT,"%ld\n",m);
}
fclose(IN);
fclose(OUT);
}
long sl=10;
t = s % 10;
while(s > 0)
{ s = s/100;
t = s%10*sl + t;
sl = sl * 10;
2:功能:编写函数fun,求任一整数m的n次方。
------------------------------------------------*/
#include <stdio.h>
void bky();
long fun(int m,int n)
{
/**********Begin**********/
/********** End **********/
}
main()
{
int m,n;
long s;
long fun(int,int);
printf("输入m和n的值:");
scanf("%d,%d",&m,&n);
s=fun(m,n);
printf("s=%ld\n",s);
bky();
}
void bky()
{
FILE *IN,*OUT;
int n;
int i[2];
long 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<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o = fun(i[0],i[1]);
fprintf(OUT,"%ld\n",o);
fclose(IN);
fclose(OUT);
}
long int x=1;
int i;
for(i=1;i<=n;i++)
x=x*m;
return x;
程序设计
/*------------------------------------------------
【程序设计】
功能:求一个四位数的各位数字的立方和。
-----------------------------------------------*/
#include <stdio.h>
void TestFunc();
int fun(int n)
{
/*********Begin**********/
/********** End **********/
}
main()
{
int k;
k=fun(1234);
printf("k=%d\n",k);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int iIN,iOUT,i;
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");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
示例代码:
int d,s=0;
while (n>0)
{d=n%10;
s+=d*d*d;
n/=10;
}
return s;
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:将tt数组中的小写字母都改为对应的大写字母,其它字符删除。
例如:a4 bdsk88*,结果:ABDSK
------------------------------------------------*/
void TestFunc();
#include <stdio.h>
#include <string.h>
void fun(char tt[])
{
/*********Begin**********/
/********** End **********/
}
main()
{ char tt[81];
printf("\nPlease enter a string:");
gets(tt);
fun(tt);
printf("\nThe result string is:\n%s",tt);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
char s[100];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
fgets(s,100,IN);
fun(s);
fprintf(OUT,"%s",s);
fclose(IN);
fclose(OUT);
}
示例代码:
int i,j=0;
for(i=0;tt[i];i++)
if(('a'<=tt[i])&&(tt[i]<='z'))
tt[j++]=tt[i]-32;
tt[j]=0;
【程序设计】
--------------------------------------------------
fun函数功能:删除所有值为y的元素,返回剩余元素的个数。
------------------------------------------------*/
#include <stdio.h>
#include<conio.h>
#include<stdio.h>
#define M 10
void TestFunc();
int fun(int bb[],int y)
{
/*********Begin**********/
/********** End **********/
}
main()
{
int aa[M],n,y,k;
printf("\nEnter number:\n");
for(k=0;k<M;k++) scanf("%d",&aa[k]);
printf("The original data is:\n");
for(k=0;k<M;k++) printf("%5d",aa[k]);
printf("\nEnter a number to deletede:");
scanf("%d",&y);
n=fun(aa,y);
printf("The data after deleted %d:\n",y);
for(k=0;k<n;k++) printf("%4d",aa[k]);
printf("\n");
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int n,j;
int i[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(j=0;j<10;j++)
{
fscanf(IN,"%d",&i[j]);
}
n=fun(i,3);
for(o=0;o<n;o++)
{
fprintf(OUT,"%d\n",i[o]);
}
fclose(IN);
fclose(OUT);
}
示例代码:
int i=0,j=0;
for(i=0;i<M;i++)
if(bb[i]!=y) bb[j++]=bb[i];
return j;
题号:6078
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:对任意输入的 x,用下式计算并输出 y 的值。
-1 x<0
y= 0 x=0
1 x>0
------------------------------------------------*/
#include<stdio.h>
void TestFunc();
int fun(int n)
{
/*********Begin**********/
/********** End **********/
}
void main ()
{
int x,y;
printf("enter x:");
scanf("%d",&x);
y=fun(x);
printf("x=%d,y=%d\n",x,y);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int i;
int iIN;
long int iOUT;
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");
}
for(i=0;i<5;i++)
{
fscanf(IN,"%d",&
展开阅读全文