1.请编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,
并按照从小到大的顺序放在pp所指定的数组中,这些除数的个数通过形参n返回。
例如,若x中的值为: 35,则有4个数符合要求,他们是: 1,5,7,35。
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
编写范本1:
void fun (int x, int pp[], int *n)
{
int i,j=0;
for(i=1;i<=x;i=i+2) /*i的初始值为1,步长为2,确保i为奇数*/
if(x%i==0)        /*将能整除x的数存入数组pp中*/
pp[j++]=i;
*n=j;              /*传回满足条件的数的个数*/
}
编写原本1:#include <stdio.h>
void  fun ( int x, int  pp[], int *n )
{
}
main( )
{  int  x, aa[1000], n, i ;void NONO ();
printf( "\nPlease enter an integer number:\n" ) ; scanf("%d", &x) ;
fun(x, aa, &n ) ;
for( i = 0 ; i < n ; i++ )
printf("%d ", aa[i]) ;
printf("\n") ;
NONO( ) ;
}
void NONO ()
{/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int x, aa[1000], n, i, j ;
FILE *fp ;
fp = fopen("out.dat","w") ;
for(j = 0 ; j < 10 ; j++) {
x = 30 + j ;
fun(x, aa, &n) ;
for(i = 0 ; i < n ; i++) fprintf(fp, "%d ", aa[i]) ;
fprintf(fp, "\n") ;
}
fclose(fp) ;
2.编写函数fun,它的功能是:求小于形参n同时能被3和7整除的所有自然数之和的平
方根,并作为函数值返回。
例如若n为1000时,程序输出应为:s=153.909064。
注意:部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
编写范本1:
double  fun( int  n)
{
double sum=0.0;
int i;
for(i=21; i<=n; i++)
if((i % 3==0) && (i % 7==0)) sum+=i;
return sqrt(sum);
}
编写原本
#include <math.h>
#include <stdio.h>
double  fun( int  n)
{
}
main()  /* 主函数 */
{  void NONO ();
printf("s =%f\n", fun ( 1000) );
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, n ;
double s;
fp = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)
{
fscanf(fp, "%d", &n) ;
s = fun(n) ;
fprintf(wf, "%f\n", s) ;
printf怎么加两个条件}
fclose(fp) ;
fclose(wf) ;
}
3.请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有
整数放在数组a中,通过n返回这些数的个数。
例如,若传送给m的值为50,则函数输出:7 11 14 21 22 28 33 35 42 44 49
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编
写的若干语句
编写范本1(自
void  fun ( int  m, int *a , int *n )
{
int i,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0) /*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/
a[j++]=i;
*n=j;          /*返回这些数的个数*/
编程原本
#include <stdio.h>
#define M 100
void  fun ( int  m, int *a , int *n )
{
}
main( )
{  int aa[M], n, k;
void NONO (  );
fun ( 50, aa, &n );
for ( k = 0; k < n; k++ )
if((k+1)%20==0) printf("\n");
else printf( "%4d", aa[k] );
printf("\n") ;
NONO( );
}
void NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i, n, j, k, aa[M], sum ;
fp = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(fp, "%d,", &j) ;
fun(j, aa, &n) ;
sum = 0 ;
for(k = 0 ; k < n ; k++) sum+=aa[k] ;
fprintf(wf, "%d\n", sum) ;
}
fclose(fp) ;
fclose(wf) ;
}
4.请编一个函数fun(char *s),函数的功能是把s所指字符串中的内容逆置。
例如: 字符串中原有的字符串为:abcdefg,
则调用该函数后,串中的内容为:gfedcba。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你
编写的若干语句
编写范本1:
void fun(char*s)
{
char ch;
int i,m,n;
i=0;
m=n=strlen(s)-1;
while(i<(n+1)/2)
{
ch=s[i];
s[i]=s[m];
s[m]=ch;
i++; m--;
}
}
编程原本:
#include <string.h>
#include <stdio.h>
#define  N  81
void fun ( char  *s )
{
}
main( )
{
void NONO( );
char  a[N];
printf ( "Enter  a  string :  " ); gets ( a );
printf ( "The original string is :  " ); puts( a );
fun ( a );
printf("\n");
printf ( "The string after modified :  ");
puts ( a );
NONO( );
}
void NONO( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
int i ;
char a[N] ;
FILE *rf, *wf ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%s", a) ;
fun(a) ;
fprintf(wf, "%s\n", a) ;
}
fclose(rf) ;
fclose(wf) ;
}
5.请编写函数fun,对长度为7的字符的字符串,除首、尾字符外,将其余五个字
符按ASCII码降序排列。
例如,原本的字符串为CEAedca,排序后输出为CodcEAa。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你
编写的若干语句。
编写范本1:
void fun(char *s,int num)
{  char ch ;
int i, j ;
for(i = 1 ; i < 6 ; i++)
for(j = i + 1 ; j < 6 ; j++)
{
if(*(s + i) < *(s + j))
{
ch = *(s + j) ;
*(s + j) = *(s +i) ;
*(s + i) = ch ;
}
}
}
编程原本:
#include <stdio.h>
#
include <ctype.h>
#include <string.h>
void fun(char *s,int num)
{
}
main()
{
void NONO( );
char s[10];
printf(" 输入7 个字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
NONO();
}
void NONO()
{
/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
char s[10] ;
FILE *rf, *wf ;
int i = 0 ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
while(i < 10) {
fgets(s,10,rf) ;
s[7] = 0 ;
fun(s,7);
fprintf(wf, "%s\n", s) ;
i++ ;
}
fclose(rf) ;
fclose(wf) ;
}
6.请编写函数fun,它的功能是:求出1到1000之间能被7或11整除、但不能同时
被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你
编写的若干语句。
编程范本1:
void  fun (int *a, int *n)
{
int i,j=0;
for(i=1;i<=1000;i++) 
if((i%7==0||i%11==0)&&i%77!=0)
a[j++]=i;
*n=j; 
}
编程原本:
#include <stdio.h>
void  fun (int *a, int *n)
{
}
main( )
{  int aa[1000], n, k ;
void NONO (  );
fun ( aa, &n ) ;
for ( k = 0 ; k < n ; k++ )
if((k + 1) % 10 == 0) printf("\n") ;
else printf("%5d", aa[k]) ;
NONO( );
}
void NONO ( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
int aa[1000], n, k ;
FILE *fp ;
fp = fopen("out.dat","w") ;
fun ( aa, &n ) ;
for ( k = 0 ; k < n ; k++ )
if((k + 1) % 10 == 0) fprintf(fp, "\n") ;
else fprintf(fp, "%5d", aa[k]) ;
fclose(fp) ;
}
7.请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1
与n自身)之和。规定n的值不大于1000。
例如,在主函数中从键盘给n输入的值为856,则输出为:sum=763。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写
的若干语句。
编写范本1:
int fun(int n)
{
int s=0,i;
for(i=2;i<=n-1;i++)  /*将n减1累加*/
if(n%i==0)
s+=i;
return s;
}
编程原本:
#include <stdio.h>
int fun(int  n)
{
}
main()
{ int  n,sum;
void NONO( );
printf("Input n:  ");  scanf("%d",&n);
sum=fun(n);
printf("sum=%d\n",sum);
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ; int i, n, sum ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d", &n) ;
sum = fun(n) ;
fprintf(wf, "%d=%d\n", n, sum) ;
}
fclose(rf) ; fclose(wf) ;
}
8.请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除
的所有
自然数倒数之和。
例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。
注意:要求n的值不大于100。
部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编
写的若干语句。
编写范本1:
double fun(int n)
{
int i;
double sum=0.0;
for(i=1;i<=n;i++)
if(i%5==0||i%9==0)
sum+=1.0/i;
return sum;
}
编程原本:
#include <stdio.h>
double fun(int  n)
{
}
main()
{ int  n;    double  s;
void NONO( );
printf("\nInput n:  ");  scanf("%d",&n);
s=fun(n);
printf("\n\ns=%f\n",s);
NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ; int n, i ; double s ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d", &n) ;
s = fun(n) ;
fprintf(wf, "%lf\n", s) ;
}
fclose(rf) ; fclose(wf) ;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。