c语言程序设计题目及答案

更新时间:2023-03-11 03:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、程序设计 共113题 第1题 题号:319 #include \void wwjt();

int fun(int m) {

int i,k=1;

if(m<=1) k=0; for(i=2;i

return k; }

第2题 题号:351 -----------

功能:请编一个函数void fun(int tt[M][N],int pp[N]),

tt指向一个M行N列的二维数组,求出二维数组每列

中最大元素,并依次放入pp所指一维数组中。二维

数组中的数已在主函数中赋予。

#include #include #define M 3 #define N 4 void wwjt();

void fun(int tt[M][N],int pp[N]) {

int i,j;

for(j=0;j

pp[j]=tt[0][j]; for(i=1;ipp[j]) pp[j]=tt[i][j]; }

第3题 题号:375

功能:从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include #include void wwjt();

double y(float x) {

double z;

if(x>10) z=exp(x);

else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); }

第4题 题号:334

功能:求给定正整数n以内的素数之积。(n<28)

#include #include\void wwjt();

long fun(int n) {

long i,k; long s=1;

for(i=2;i<=n;i++) {for(k=2;k

第5题 题号:333

功能:计算并输出给定整数的所有因子之积(包括自身)。

规定这个整数的值不大于50。

#include #include\void wwjt();

long int fun(int n) {

1

long s=1,i;

for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; }

第6题 题号:50

功能:求出菲波那契数列的前一项与后一项之比的极限的

近似值例如:当误差为0.0001时,函数值为0.618056。 #include #include \void wwjt();

float fun() {

float f1=1,f2=1,f3; float r1=2,r2; do

{r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3;

}while(fabs(r1-r2)>1e-4); return r1; }

第7题 题号:394

功能:产生20个[30,120]上的随机整数放入二维数组

a[5][4]中, 求其中的最小值。#include \#include void wwjt();

int amin(int a[5][4]) {

int i,j,s; s=a[0][0];

for(i=0;i<5;i++) for(j=0;j<4;j++)

if(s>a[i][j])s=a[i][j]; return(s);

}

第8题 题号:337

功能:将两个两位数的正整数a、b合并形成一个整数放在

c中。合并的方式是:将a数的十位和个位数依次放

在c数的百位和个位上, b数的十位和个位数依次放

在c数的十位和千位上。 例如:当a=45,b=12。调用该函数后,c=2415。

include void wwjt();

void fun(int a, int b, long *c) {

*c=a/10*100+a+b/10*10+b*1000; }

第9题 题号:388

功能:编写函数判断一个整数能否同时被3和5整除,若能

则返回值为1,否则为0。调用该函数求出15~300之

间能同时被3和5整除的数的个数。

#include void wwjt();

int sum(int n) {

if(n%3==0&&n%5==0) return(1); return(0);}

第10题 题号:16 功能:编写函数fun求1!+2!+3!+ ?? +n!的和,在main函

数中由键盘输入n值,并输出运算结果。请编写fun 函数。

例如:若n值为5,则结果为153。 #include void wwjt();

long int fun(int n) {

int i;

2

float f=1,s=0; for(i=1;i<=n;i++) {f=f*i; s=s+f;} return s;

第11题 题号:329

功能:对某一正数的值保留2位小数,int fun(int n) {

int sum,i; sum =0;

for(i=1;i<=n;i++) {sum=sum+i;} return(sum);

并对第三位进行四舍 五入。

#include #include\void wwjt();

double fun(float h) {

int i;

i=(int)(h*1000); if(i>=5)

return(int)(h*100+1)/100.0; else

return(int)(h*100)/100.0; 第12题 题号:410

功能:编写函数fun将一个数组中的值按逆序存放,并在

main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 #include #define N 5 void wwjt();

int fun(int arr[],int n) {

int i,t;

for(i=0;i

arr[i]=arr[n-1-i]; arr[n-1-i]=t; }

第13题 题号:327

功能:能计算从1开始到n的自然数的和,n由键盘输入,

并在main()函数中输出。 #include void wwjt();

第14题 题号:507

功能:编写函数fun求一个字符串的长度,在main函数中

输入字符串,并输出其长度。 #include void wwjt();

int fun(char *p1) {

char *p; int n=0; p=p1;

while(*p++) n++;

return n;

第15题 题号:44

功能:求出二维数组周边元素之和,作为函数值返回。二

维数组的值在主函数中赋予。 #define M 4 #define N 5

#include void wwjt();

int fun(int a[M][N]) {

int s=0; int i,j;

for(i=0;i

s=s+a[i][0]+a[i][N-1]; for(j=1;j

s=s+a[0][j]+a[M-1][j]; return s;

第16题 题号:364

功能:求一个四位数的各位数字的立方和。

#include

3

void wwjt(); int fun(int n) {

int d,s=0;

while (n>0) {d=n; s+=d*d*d; n/=10; }

return s; 第17题 题号:339

功能:判断整数x是否是同构数。若是同构数,函数返回1;

否则返回0。x的值由主函数从键盘读入,要求不大 于100。

说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。

例如:输入整数5,5的平方数是25,5是25中右侧的数,所 以5是同构数。 #include void wwjt();

int fun(int x) {

int k; k=x*x;

if((k==x)||(k0==x)) return 1; else

return 0;

第18题 题号:331

功能:找出一个大于给定整数且紧随这个整数的素数,并 作为函数值返回。 #include #include\void wwjt();

int fun(int n) {

int i,k;

for(i=n+1;;i++){ for(k=2;k

第19题 题号:317

功能:求出N×M整型数组的最大元素及其所在的行坐标及

列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为:

1 2 3 4 15 6 12 18 9 10 11 2

求出的最大数为18,行坐标为2,列坐标为1。 #define N 4 #define M 3

#include void wwjt();

int Row,Col;

int fun(int array[N][M]) {

int max,i,j;

max=array [0][0]; Row=0; Col=0;

for(i=0;ireturn(max);

第20题 题号:360 【程序设计】

4

功能:把20个随机数存入一个数组,然后输出该数组中的 最大值。 #include #define VSIZE 20 void wwjt();

int vector[VSIZE] ;

int fun(int list[],int size) void wwjt();

float fun(float x) {

float y;

if (x<0 && x!=-3.0) y=x*x+x+6;

else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)

{

int i,max=0;

for(i=1; i

第21题 题号:355

功能:对长度为8个字符的字符串,将8个字符按降序排列。 例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。 #include #include #include void wwjt();

void fun(char *s,int num) {

int i,j; char t;

for(i=0;i

for(j=i+1;j

{ t=s[i];s[i]=s[j];s[j]=t;} 第22题 题号:405

功能:编写函数fun计算下列分段函数的值:

x^2+x+6 x<0且x≠-3

f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3

x^2-x-1 其它 #include

y=x*x-5*x+6; else y=x*x-x-1; return y;

第23题 题号:338 功能:编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800

300 600 900 #include void wwjt();

int fun(int array[3][3]) {

int i,j,t;

for(i=0; i < 3; i++) for(j=0; j < i; j++) { t=array[i][j];

array[i][j]=array[j][i]; array[j][i]=t; } 第24题 题号:392

功能:求一批数中最大值和最小值的积。

#define N 30

#include \#include void wwjt();

int max_min(int a[],int n) {

5

int i,max,min; max=min=a[0]; for(i=1;i

if(a[i]>max) max=a[i];

else if(a[i]

sum=d+dd+ddd+??+dd...d(n个d), if(i==j||i+j==N-1) t=t*arr[i][j]; return(t); 第27题 题号:42 功能:从字符串s中删除指定的字符c。 #include void wwjt();

fun(char s[],char c) {

其中d为1-9的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函 数中输入。 #include void wwjt();

long int fun(int d,int n) {

long int s=0,t=0; int i;

for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; }

return s;

第26题 题号:395

-----------------------------------------------

功能:求n阶方阵主、副对角线上的元素之积。

------------------------------------------------*/

#define N 4

#include \#include void wwjt();

float mul(int arr[][N]) {

int i,j;

float t=1;

for(i=0;i

int i,k=0;

for(i=0;s[i]!='\\0';i++) if(s[i]!=c) s[k++]=s[i]; s[k]='\\0'; 第28题 题号:311

功能:计算n门课程的平均值,计算结果作为函数值返回。

例如:若有5门课程的成绩是:92,76,69,58,88,

则函数的值为76.600000。 #include void wwjt();

float fun(int a[],int n) {

int i;

float y=0;

for(i=0;i

功能:从低位开始取出长整型变量s中偶数位上的数,依次

构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:642。

#include void wwjt();

long fun (long s,long t) {

long sl=10;

s /= 10; t = s % 10;

while(s > 0)

6

{ s = s/100; t = s*sl + t; sl = sl * 10;

---------------------- 功能:编写函数求

3!+6!+9!+12!+15+18!+21!。 #include void wwjt();

float sum(int n) {

int i,j;

float t,s=0;

for(i=3;i<=n;i=i+3) {t=1;

for(j=1;j<=i;j++) t=t*j;

s=s+t;} return(s); 第31题 题号:397

功能:编写函数fun(str,i,n),从字符串str中删除第i个

字符开始的连续n个字符(注意:str[0]代表字符串 的第一个字符)。 #include void wwjt();

fun(char str[],int i,int n) {

while(str[i+n-1]) {

str[i-1]=str[i+n-1]; i++; }

str[i-1]='\\0'; 第32题 题号:29

功能:对任意输入的 x,用下式计算并输出 y 的值。

5 x<10 y= 0 x=10 -5 x>10 #include void wwjt();

int fun(int n) {

答案: int m; if(n<10) m=5; else

if(n==10) m=0; else m=-5; return m; 或

int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m;

第33题 题号:323

功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数) #include #include\void wwjt(); long fun(int w) {

long y=0; int i;

for(i=1;i<=w;i++) if(i%2==1)y+=i; return y; 第34题 题号:312

功能:调用函数fun判断一个三位数是否\水仙花数\。

在main函数中从键盘输入一个三位数,并输

出判断结果。请编写fun函数。说明:所谓\水仙花数\是指一3位数,其各位数字立方和 等于该数本身。

例如:153是一个水仙花数,因为153=1+125+27。 #include void wwjt();

7

int fun(int n) {

int bw,sw,gw;

bw=n/100;sw=(n-bw*100)/10;gw=n;

if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) {

答案: for(m=-i;m<=i;m++) {

for(n=0;n

for(n=0;n<7-2*abs(m);n++) printf(\

printf(\return 1;

else return 0; 第35题 题号:378

功能:编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。 #include #include void wwjt();

void sort(int a[],int n) {

int i,j,t;

for(i=0;ia[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t; }

第36题 题号:504

功能:编写程序打印如图1所示图形。 * *** *****

******* ***** *** *

要求:要求使用abs()。 #include #include \void wwjt();

void fun(int i)

}

第37题 题号:342

功能:在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出矩阵第一行与第三行元素之和,

并在fun()函数中输出。 #include void wwjt();

main() {

int i,j,s,a[3][3]; for(i=0;i<3;i++) {

for(j=0;j<3;j++)

scanf(\ }

s=fun(a);

printf(\ wwjt(); }

int fun(int a[3][3]) {

int sum; int i,j; sum=0;

for(i=0;i<3;i+=2) for(j=0;j<3;j++) sum=sum+a[i][j]; return sum;

第38题 题号:382

功能:给定n个数据, 求最小值出现的位置(如果最小值

出现多次,求出第一次出现的

8

位置即可)。

for(i=0;c[i]!='\\0';i++) #include void wwjt();

int station(int s[],int n) {

int i,k; k=0;

for(i=1;i

第39题 题号:62

功能:求5行5列矩阵的主、副对角线上元素之和。注意,

两条对角线相交的元素只加一次。

例如:主函数中给出的矩阵的两条对角线的和为45。 #include #define M 5 void wwjt();

int fun(int a[M][M]) {

int s=0; int i,j;

for(i=0;i

s=s+a[i][i]+a[i][M-1-i]; s=s-a[(M-1)/2][(M-1)/2]; return s;

第40题 题号:503

题目:分别统计字符串中字母、数字、空格和其他字符出现的

次数(字符长度小于80)。 #include void wwjt();

/*-全局变量,a用于保存字母个数、num用于保存数字个数

b用于保存空格个数、other用于保存其他字符字数*/

int a=0,num=0,b=0,other=0;

void count(char c[]) {

答案: int i;

if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) a=a+1; else if

(c[i]>='0'&&c[i]<='9')

num=num+1; else if (c[i]==' ')

b=b+1; else

other=other+1; 第41题 题号:387

功能:求一批数中最大值和最小值的差。

#define N 30

#include \#include void wwjt();

int max_min(int a[],int n) {

int i,max,min; max=min=a[0]; for(i=1;i

if(a[i]>max) max=a[i];

else if(a[i]

第42题 题号:347

功能:把20个随机数存入一个数组,然后输出该数组中的

最小值。其中确定最小值的下标的操作在fun函数中

实现,请给出该函数的定义。 #include #define VSIZE 20 void wwjt();

int vector[VSIZE] ;

int fun(int list[],int size) {

int i,min=0;

9

for(i=1; i list[i]) min=i; return min;

第43题 题号:365

功能:求1到100之间的偶数之积。 #include void wwjt();

int fun(int array[3][3]) {

int i,j;

for(i=0; i < 3; i++) #include void wwjt();

double fun(int m) {

double y=1; int i;

for(i=1;i<=m;i++) if(i%2==0)y*=i; return y; 第44题 题号:366

功能:求一组数中大于平均值的数的个数。

例如:给定的一组数为

1,3,6,9,4,23,35,67,12,88时,函 数值为3。 #include void wwjt();

int fun(int a[],int n) {

int i,k=0;

float s=0,ave; for(i=0;i

printf(\ for(i=0;iave)k++; return k;

第45题 题号:361 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出:

200 400 600 800 1000 1200 1400 1600 1800

for(j=0; j < 3; j++) array[i][j]=array[i][j]*2; 第46题 题号:373

功能:用函数求fibonacci数列前n项的和。 说明:fibonacci数列为数列的第一项值为1,第二项值也

为1,从第三项开始,每一项均为其前面相邻两项 的和。

例如:当n=28时,运行结果:832039 include void wwjt();

long sum(long f1,long f2) {

long f,k=f1+f2; int i;

for(i=3;i<=28;i++) {f=f1+f2; k=k+f; f1=f2; f2=f; }

return(k);

第47题 题号:340

功能:编写一个函数,该函数可以统计一个长度为2的字符

串在另一个字符串中出现的次数。

例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo, 字符串为:as,则应输出6。 #include #include #include void wwjt();

int fun(char *str,char *substr)

10

if (a[i]>amax) amax=a[i]; return amax; 第72题 题号:379

功能:给定n个数据, 求最大值出现的位置(如果最大值出

现多次,求出第一次出现的位置即可)。

#include void wwjt();

int station(int s[],int n) {

int i,k; k=0;

for(i=1;i<=n;i++) if(s[i]>s[k]) k=i; return(k+1); 第73题 题号:37

功能:输入2个学生3门课的成绩,计算学生成绩平均分,

课程平均分和最高分.

例如:输入2名学生3门课的成绩分别为92,87,68,56, 92,84 则

学生1平均分:82.33 学生2平均分:77.33 课程1平均分:74.00 课程2平均分:89.50 课程3平均分:76.00 最高分为:92 #include void wwjt();

/*定义全局变量*/ /*学生成绩平均分*/ float StuAgv[2]; /*课程平均分*/ float CouAgv[3];

/*所有学生的所有课程最高分*/ float Max=0;

/*说明:需要在下面函数中把题干要求中的结果赋值到上面定义一变量中*/

void fun(float score[2][3]) {

答案: int i,j; float sum;

for(i=0;i<2;i++) /*计算第i个学生平均分*/ {

sum=0;

for(j=0;j<3;j++)

sum=sum+score[i][j]; StuAgv[i]=sum/3; }

for(j=0;j<3;j++) /*计算第j门课的平均分*/ {

sum=0;

for(i=0;i<2;i++)

sum=sum+ score [i][j]; CouAgv[j]=sum/2; }

Max=score[0][0]; for(i=0;i<2;i++) for(j=0;j<3;j++)

if(Max<=score[i][j]) {

Max=score[i][j]; }

return ;

第74题 题号:33

功能:用do-while语句求1~100的累计和。

#include void wwjt();

long int fun(int n) {

答案: int i =1, sum =0; do

{ sum = sum + i; i++;

} while ( i <= n ); return sum;

第75题 题号:372

题目:用函数求一个N阶方阵右下三角元素的和(包括副

16

对角线上的元素)。 #include #include #define N 3 void wwjt();

int sum(int a[][N]) {

int i,j,k=0;

for(i=0;i

for(j=N-1-i;j

第76题 题号:326

功能:求一个大于10的n位整数的后n-1位的数,并作为函 数值返回。 #include #include\void wwjt(); int fun(int w) {

int n=0;int i=1; while(w>10) {n=n+i*(w); w/=10; i*=10;} return n;

第77题 题号:369

功能:编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出

100~200之间满足条件的所有数。

include void wwjt(); (int m) {

int k,s=0; do

{s=s+m; m=m/10;

}while(m!=0); if(s%7==0)k=1;

else k=0; return(k);

第78题 题号:332

功能:根据整型参数n,计算如图公式的值。

#include #include\void wwjt(); t n) {

double a=1;int i; for(i=1;i

第79题 题号:349

功能:从低位开始取出长整型变量s奇数位上的数,依次

构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:7531。 #include void wwjt();

long fun (long s,long t) {

long sl=10; t = s % 10;

while(s > 0) { s = s/100; t = s*sl + t; sl = sl * 10;

第80题 题号:401

若x、y为奇数,求x到y之间的奇数和;若x、y为偶

数,则求x到y之间的偶数和。#include void wwjt();

int fun(int x,int y) {

int i,s=0;

for(i=x;i<=y;i+=2) s=s+i; return s;

功能:用辗转相除法求两个整数的最大公约数。

17

#include void wwjt(); int (int n,int m) {

int r,t;

if(n

while(r!=0)

{ n=m;m=r;r=n%m;} return(m);

第83题 题号:362

功能:求给定正整数m以内的素数之和。

例如:当m=20时,函数值为77。 #include void wwjt();

int fun(int m) {

int i,k,s=0;

for(i=2;i<=m;i++) {for(k=2;k

第84题 题号:398 功能:编写函数fun求s=1^k+2^k +3^k + ......+N^k的值,

(1的K次方到N的K次方的累加和)。 #define K 4 #define N 5

#include void wwjt();

long fun(int n,int k) {

long power,sum=0; int i,j;

for(i=1;i<=n;i++) { power=i;

for(j=1;j

power *= i; sum += power; }

return sum;

第85题 题号:391

功能:将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 #include \#include void wwjt();

void change(char str[]) {

int i;

for(i=0;str[i]!='\\0';i++) if(str[i]>='a' && str[i]<='z')

str[i]=str[i]-32; 第86题 题号:316

功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。 例如:输入10名学生的成绩分别为92,87,68,56,92,

84,67,75,92,66,则输出平均成绩为77.9,

最高分为92,得最高分的人数为3人。

#include void wwjt(); float Max=0; int J=0;

float fun(float array[],int n) {

int i;float sum=0,ave; Max=array[0]; for(i=0;i

{ if(Max

sum=sum+array [i]; } ave=sum/n;

for(i=0;i

18

if(array [i]==Max) J++; return(ave);

第87题 题号:381

功能:求一批数中小于平均值的数的个数。

#include void wwjt();

int average_num(int a[],int n) {

int i,sum=0,k=0; double average; for(i=0;i

if(average>a[i]) k++; return(k);

第88题 题号:310

功能:计算并输出给定整数n的所有因子之和(不包括1与 自身)。

注意:n的值不大于1000。

例如:n的值为855时,应输出704。#include void wwjt(); int fun(int n) {

int s=0,i;

for(i=2;i

题目:从键盘输入一个大写字母,要求改用小写字母输出。 #include void wwjt(); char fun(char c) {

答案: c=c+32; return c;

第90题 题号:400

功能:编写main程序调用函数fact求解从m个元素选n个元

素的组合数的个数。计算公式是:

组合数=m!/(n!.(m-n)!)。要求:m不能小于n,否则 应有容错处理。

说明:函数fact(x)的功能是求x!。 #include void wwjt(); long fact(int x) {

long y; int i; y=1;

for(i=1;i<=x;i++) y=y*i; return y; }

main() {

int m,n; long zhsgs;

printf(\请输入m和n:\\n\scanf(\while(m

printf(\和n输入错!请重新输入:\\n\

scanf(\ }

zhsgs=fact(m)/(fact(n)*fact(m-n));

printf(\从%d个元素选%d个元素的组合数的个数是:%d\\n\ wwjt();

第91题 题号:54

功能:求1到100之间的偶数之积。 #include void wwjt();

double fun(int m) {

double y=1;

19

int i;

for(i=1;i<=m;i++) if(i%2==0)y*=i; return y; 第92题 题号:352

功能:根据整型形参m,计算如下公式的值:y=1/2+1/4+

1/6+...+1/2m 。

例如:若m=9,则应输出:1.414484 #include void wwjt();

double fun(int m) {

double y=0; int i;

for(i=1; i<=m; i++) {y+=1.0/(2*i); } return(y); 第93题 题号:383

功能:用函数实现字符串的复制, 不允许用strcpy()函数。 #include void wwjt();

void copy(char str1[],char str2[]) {

int i;

for(i=0;str1[i]!='\\0';i++) str2[i]=str1[i]; str2[i]='\\0';

从键盘为一维整型数组输入10个整数,调用fun函数

找出其中最小的数,并在main函数中输出。

#include void wwjt();

int fun(int x[],int n) {

int min,i; min=x[0];

for(i=1;i

{if(x[i]

第95题 题号:403

功能:编写函数fun,求任一整数m的

n次方。

include void wwjt();

long fun(int m,int n) {

long int x=1; int i;

for(i=1;i<=n;i++) x=x*m; return x;

第96题 题号:23

功能:从键盘输入一个大于3的整数,调用函数fun判断

其是否素数,然后在main函数中输出相应的结论 信息。

例如:7是素数,8不是素数。请编写fun函数。素数是

仅能被1和自身整除的数 #include void wwjt();

int fun(int n) {

int i; int j; j= 1;

for(i=2;i

return j;

第97题 题号:358

功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。

例如:若m=9,则应输出:4.121185 #include #include\void wwjt();

double fun(int m) {

double y=0; y=sin(m)*10; return(y);

20

---------------------- 第98题 题号:335

功能:求一个n位自然数的各位数字的积。(n 是小于10的 自然数) #include #include\void wwjt(); long fun(long n) {

long d,s=1; while (n>0) {d=n; s*=d; n/=10; }

return s;

---------------------- 第99题 题号:509

功能:编写函数fun其功能是:根据整型形参m,计算如下

公式的值:y=1+1/3+1/5+1/7+?+1/(2m+1)

例如:若m=9,则应输出:2.133256 #include void wwjt();

double fun(int m) {

double y=1; int i;

for(i=1; i<=m; i++) {y+=1.0/(2*i+1); } return(y);

---------------------- 第100题 题号:22

功能:从键盘为一维整型数组输入10个整数,调用fun

函数找出其中最小的数,并在main函数中输出。

请编写fun函数。 #include \void wwjt();

int fun(int x[],int n) {

int min,i; min=x[0];

for(i=1;i

{if(x[i]

---------------------- 第101题 题号:377

功能:编写函数用选择排序法对数组中的数据进行从小到 大的排序。 #include #include void wwjt();

void sort(int a[],int n) {

int i,j,k,t;

for(i=0;i

for(j=i+1;ja[j]) k=j; if(k!=i) {t=a[i]; a[i]=a[k]; a[k]=t; } }

---------------------- 第102题 题号:321

/功能:编写函数fun其功能是:根据整型形参m,计算如下 公式的值:

y=1/2!+1/4!+?+1/m!(m是偶数) #include void wwjt();

double fun(int m) {

答案:double y=0.0; int i,j; double s=1;

for (i=2;i<=m;i+=2) {

for(j=i-1;j<=i;j++) s=s*j;

21

y=y+1.0/s; }

return y;

第103题 题号:328

功能:求k!(k〈13),所求阶乘的值作为函数值返回。 (要求使用递归) include #include\void wwjt();

long fun(int k) {

if (k>0)

return(k*fun(k-1)); else if(k==0) return 1L;

---------------------- 第104题 题号:354

功能:求小于lim的所有素数并放在aa数组中,该函数返回 所求出素数的个数。 #include #include #define MAX 100 void wwjt();

int fun(int lim,int aa[MAX]) {

int n=0; int i,j;

for(i=2;i<=lim;i++) {for(j=2;j

return n;

第105题 题号:325

功能:在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出主对角线元素的平方和,并在

fun()函数中输出。 #include void wwjt();

main() {

int i,j,s,a[3][3];; for(i=0;i<3;i++) {

for(j=0;j<3;j++)

scanf(\ }

s=fun(a);

printf(\ wwjt(); }

int fun(int a[3][3]) {

int sum; int i; sum=0;

for(i=0;i<3;i++)

sum=sum+a[i][i]*a[i][i]; return sum;

第106题 题号:390

功能:编写函数求1~100中奇数的平方和。结果为166650。 #include void wwjt();

float sum(int n) {

float s=0; int i;

for(i=1;i<=n;i=i+2) s=s+i*i; return(s);

第107题 题号:396

功能:编写函数fun用比较法对主程序中用户输入的具有10

个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 #include void wwjt();

int fun(int array[], int n)

22

{

int k,j,t;

for (k=0;k

if (array[k]

t=array[k];

array[k]=array[j]; array[j]=t; }

第108题 题号:384

功能:产生20个[30,120]上的随机整数放入二维数组a[5][4]

中,求每行元素的和。 #include \#include void wwjt();

void row_sum(int a[5][4],int b[5]) {

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]; }

第109题 题号:368

功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13? 的前n项之和。

说明:每一分数的分母是前两项的分母之和,每一分数的

分子是前两项的分子之和 例如:求前20项之和的值为32.660259。

#include void wwjt(); float fun(int n) {

int i;

float f1=1,f2=1,f3,s=0; for(i=1;i<=n;i++) {f3=f1+f2; f1=f2; f2=f3;

s=s+f2/f1; }

return s;

第110题 题号:452

功能:有一个一维数组score,内放10个学生的成绩,用一

个函数来求平均成绩。

个学生的成绩分别为92,87,68,56,92,84,

70,65,90,60 则平均成绩为:76.400000

#include void wwjt();

float average (float array[10]) {

int i;

float aver,sum=array[0]; for(i=1;i<10;i++) sum=sum+array[i]; aver=sum/10; return aver; 第111题 题号:330

功能:计算出k以内最大的10个能被13或17整除的自然数之 和。(k〈3000)。 #include #include\void wwjt();

int fun(int k) {

int a=0,b=0;

while((k>=2)&&(b<10)) {if((k==0)||(k==0)) {a=a+k;b++;} k--; }

return a;

第112题 题号:363

功能:求一个给定字符串中的字母的个数。

#include void wwjt();

23

s[]) return 0; } {

int i,k=0;

for(i=0;s[i]!='\\0';i++)

if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z') k++;

return k;

----------------------

第113题 题号:315

功能:将主函数中输入的字符串反序存放。

例如:输入字符串“abcdefg”,则应输出“gfedcba”。 #include #include #include #define N 81 void wwjt();

void fun(char *str,int n) {

int i,j; char c;

for(i=0,j=n-1;i

for(i=0,j=n-1;i

*(str+i)=*(str+j); *(str+j)=c;}

第114题 编写一程序,实现两个字符串的连接(不用strcat()函数)。 #include #include main()

{int i,j; char a[10],b[10]; gets(a); gets(b);i=0,j=0; while(a[i]!='\\0')i++; while(b[j]!='\\0') a[i++]=b[j++]; a[i]='\\0'; b[j]='\\0';

printf(\

24

本文来源:https://www.bwwdw.com/article/r8ow.html

Top