赞
踩
第70题 (20.0分) 难度:中 第1章
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的
功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。
例如:若a 数组中的值为: 0 1 2 7 9
1 9 7 4 5
2 3 8 3 1
4 5 6 8 2
5 9 1 4 1
则返回主程序后s的值应为3.375。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入
所编写的若干语句。
-------------------------------------------------------*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 5
void wwjt();
double fun (int w[][N])
{
/**********Program**********/
/********** End **********/
}
void main()
{
int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;
double s;
system("CLS");
printf("*****The array*****\n ");
for (i=0; i<N; i++)
{
for (j=0;j<N;j++)
{
printf("%4d ",a[i][j]);
}
printf("\n ");
}
s=fun(a);
printf("*****THE RESULT*****\n ");
printf("The sum is : %lf\n ",s);
wwjt();
}
void wwjt()
{
FILE *in, *out;
int a[N][N];
int i, j;
double s;
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<N; i++)
{
for (j=0;j<N;j++)
{
fscanf(in,"%d",&a[i][j]);
}
}
s=fun(a);
fprintf (out,"%lf\n",s);
fclose(in);
fclose(out);
}
答案: int i,j,k=0;
double av=0.0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==0||i==N-1||j==0||j==N-1)
{
av=av+w[i][j];
k++;
}
return av/k;
第71题 (20.0分) 难度:中 第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶
数,则求x到y之间的偶数和。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
int fun(int x,int y)
{
/**********Program**********/
/********** End **********/
}
main()
{
int s;
s=fun(1,1999)-fun(2,1998);
printf("s=%d\n",s);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int n;
int i[2];
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<2;n++)
{
fscanf(IN,"%d",&i[n]);
}
o = fun(i[0],i[1]);
fprintf(OUT,"%d\n",o);
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,s=0;
for(i=x;i<=y;i+=2)
s=s+i;
return s;
----------------------
第72题 (20.0分) 难度:中 第1章
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:规定输入的字符串中只包含字母和*号。请编写函数fun,其功能
是:将字符串尾部的*号全部删除,前面和中间的*号不动。
例如:字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容
应当是:"****A*BC*DEF*G"。在编写函数时,不得使用C语言提供的字符串
函数。
注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入
你编写的若干语句。
-------------------------------------------------------*/
#include <stdio.h>
void wwjt ( );
void fun( char *a )
{
/**********Program**********/
/********** End **********/
}
main()
{
char s[81];
printf("Enter a string:\n");
gets(s);
fun( s );
printf("The string after deleted:\n");
puts(s);
wwjt( );
}
void wwjt ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in, *out ;
int i ; char s[81] ;
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 < 10 ; i++)
{
fscanf(in, "%s", s) ;
fun(s) ;
fprintf(out, "%s\n", s) ;
}
fclose(in) ;
fclose(out) ;
}
答案: while(*a!='\0')
a++;
a--;
while(*a=='*')
a--;
*(a+1)='\0';
第73题 (20.0分) 难度:易 第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:编写函数fun将一个数组中的值按逆序存放,并在
main()函数中输出。
例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。
------------------------------------------------*/
#include <stdio.h>
#define N 5
void wwjt();
void fun(int arr[],int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int a[N]={8,6,5,4,1},i;
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
fun(a,N);
for(i=0;i<N;i++)
printf("%4d",a[i]);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int n;
int i[10];
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,"%d",&i[n]);
}
fun(i,10);
for(n=0;n<10;n++)
{
fprintf(OUT,"%d\n",i[n]);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,t;
for(i=0;i<n/2;i++)
{ t=arr[i];
arr[i]=arr[n-1-i];
arr[n-1-i]=t;
}
----------------------
第74题 (20.0分) 难度:中 第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:找出一个大于给定整数且紧随这个整数的素数,并
作为函数值返回。
------------------------------------------------*/
#include <stdio.h>
#include"conio.h"
void wwjt();
int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int m;
printf("Enter m: ");
scanf("%d", &m);
printf("\nThe result is %d\n", fun(m));
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int s ;
int t;
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(s=1;s<=5;s++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,k;
for(i=n+1;;i++){
for(k=2;k<i;k++)
if(i%k==0)
break;
if(k==i)
return(i);
}
----------------------
第75题 (20.0分) 难度:中 第1章
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:编写函数fun,其功能是:利用如样张所示的简单迭代方法求方程cos(x)-x=0的
一个实根。
迭代步骤如下:
(1)取x1初值为0.0;
(2)x0=x1,将x1的值赋给x0;
(3)x1=cos(x0),求出一个新的x1;
(4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2);
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出结果Root=0.739086。
注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号填入
你编写的若干语句。
-------------------------------------------------------*/
#include <math.h>
#include <stdio.h>
void wwjt ( );
double fun()
{
/**********Program**********/
/********** End **********/
}
main()
{
printf("Root =%f\n", fun());
wwjt();
}
void wwjt ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *out ;
out = fopen("out.dat","w") ;
fprintf(out, "%f\n", fun()) ;
fclose(out) ;
}
答案: double x0,x1;
x1=0.0;
do
{
x0=x1;
x1=cos(x0);
}
while(fabs(x0-x1)>=1e-6);
return x1;
第76题 (20.0分) 难度:中 第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:判断m是否为素数。
------------------------------------------------*/
#include "stdio.h"
void wwjt();
int fun(int m)
{
/**********Program**********/
/********** End **********/
}
main()
{
int m,k=0;
for(m=100;m<200;m++)
if(fun(m))
{
printf("%4d",m);
k++;
if(k%5==0)
printf("\n");
}
printf("k=%d\n",k);
wwjt();
}
void wwjt()
{
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<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int i,k=1;
if(m<=1) k=0;
for(i=2;i<m;i++)
if(m%i==0) k=0;
return k;
----------------------
第77题 (20.0分) 难度:中 第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:调用函数fun判断一个三位数是否"水仙花数"。
在main函数中从键盘输入一个三位数,并输
出判断结果。请编写fun函数。
说明:所谓"水仙花数"是指一3位数,其各位数字立方和
等于该数本身。
例如:153是一个水仙花数,因为153=1+125+27。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
int fun(int n)
{
/**********Program**********/
/********** End **********/
}
main()
{
int n,flag;
scanf("%d",&n);
flag=fun(n);
if(flag)
printf("%d 是水仙花数\n",n);
else
printf("%d 不是水仙花数\n",n);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int iIN,i;
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<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%d\n",iOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
int bw,sw,gw;
bw=n/100;sw=(n-bw*100)/10;gw=n%10;
if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;
else return 0;
----------------------
第78题 (20.0分) 难度:中 第93章
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:编写一个C程序,定义一个日期结构变量date(由年year、月month、日day3个整型数据组成),
从键盘为该变量中的各成员输入数据,然后再将输入的日期显示出来。
-------------------------------------------------------*/
#include <stdio.h>
void main()
{
/**********Program**********/
/********** End **********/
}
答案: struct DATE
{
int year;
int month;
int day;
} ;
struct DATE date;
printf("please input:");
scanf("%d%d%d", &date.year, &date.month, &date.day);
printf("please output: ");
printf("%d-%d-%d\n", date.year, date.month, date.day);
第79题 (20.0分) 难度:易 第2章
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:求1到100之间的偶数之积。
------------------------------------------------*/
#include <stdio.h>
void wwjt();
double fun(int m)
{
/**********Program**********/
/********** End **********/
}
main()
{
printf("ji=%f\n",fun(100));
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int iIN,i;
double dOUT;
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);
dOUT=fun(iIN);
fprintf(OUT,"%f\n",dOUT);
}
fclose(IN);
fclose(OUT);
}
答案:----------------------
double y=1;
int i;
for(i=1;i<=m;i++)
if(i%2==0)y*=i;
return y;
----------------------
第80题 (20.0分) 难度:中 第92章
/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:编程序按如图片所示公式计算y的值(精度为1e-6,即最后一项的绝对值小于
1e-6时结束。)
-------------------------------------------------------*/
#include <stdio.h>
void main( )
{
/**********Program**********/
/********** End **********/
}
答案: int r=1;
double x, y=0 ;
while(x>=1e-6)
{
x=1.0/(r*r+1);
printf("x=%f\n", x);
y=y+x;
r++;
}
printf("y=%f\n",y);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。