402com永利平台|402com永利1站|55.402com永利网址

您的位置:402com永利平台 > 科学研究 > 近似运算,计算机二级C语言上机题库100题

近似运算,计算机二级C语言上机题库100题

2019-08-25 10:03

importmathfromnumpyimport*defGaussPoints(Npts,a,b,x,w,eps):m=0;i=0;j=0;t=0.;t1=0.;pp=0.p1=0.;p2=0.;p3=0.m=int/2)foriinrange:t=math.cos(math.pi*-0.25)/(float 0.5))t1=1while()>=eps):p1=1.;p2=0.forjinrange:p3=p2;p2=p1p1=((2.*float*t*p2--1.)*p3)/pp=Npts*/t1=tt=t1-p1/ppx[i-1]=-tx[Npts-i]=tw[i-1]=2./*pp*pp)w[Npts-i]=w[i-1]forjinrange:#Scale[-1, 1]to[a,b]x[j]=x[j]*/2. /2.w[j]=w[j]*/2.

计算机二级C语言上机题库

Description

直 线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用。请计算每颗行星的受力,只要结果的相对误差不超过5%即可.

C语言是面向过程的,而C++是面向对象的

图片 1

图片 2

Input

第一行两个整数N和A. 1<=N<=10^5.0.01< a < =0.35
接下来N行输入N个行星的质量Mi,保证0<=Mi<=10^7

C和C 的区别:

fromnumpyimport*;fromGaussPointsimportGaussPointsNpts=10;Ans=0;a=0.;b=1.;eps=3.E-14w=zeros(2001,float);x=zeros(2001,float)#Arraysdeff:returnexp#IntegrandGaussPoints(Npts,a,b,x,w,eps)#eps:precisonofptsforiinrange:Ans =f*w[i]#Sumintegrandsprint('nNpts=',Npts,',Ans=',Ans)print('eps=',eps,',Error=',Ans-)

1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。

Output

N行,依次输出各行星的受力情况

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理得到输出控制)。

图片 3

2.请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

Sample Input

5 0.3
3
5
6
2
4

C ,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程控制。 所以C与C 的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C 比C更先进,是因为“ 设计这个概念已经被融入到C 之中 ”。

Npts = 10 , Ans = 1.7182818284590295

3.请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

Sample Output

0.000000
0.000000
0.000000
1.968750
2.976000

C与C 的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C 比C更先进,是因为“ 设计这个概念已经被融入到C 之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

eps = 3e-14 , Error = -1.554312234475219e-14

4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。

HINT

精确结果应该为0 0 0 2 3,但样例输出的结果误差不超过5%,也算对。

图片 4

5.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。

分析

    乍一看这似乎是一道不可做题…… $O(alpha N^2)$的复杂度,大概再怎么卡常数也是过不了吧?别急……我们看一下这句话……“答案误差不超过5%即可”。瞬间变水题啊好吗……

    考虑到j-i足够大时相邻一定范围内的$frac{1}{j-i}$相差很小,我们可以随便选一个i来计算j-i,把它作为分母计算一定范围内的i星球对j产生的合力。

    具体地,我们可以随便计算出一个需要精确计算的范围$delta$,对距离大于这个范围的星球统一计算合力即可。

 

图片 5图片 6

 1 /**************************************************************
 2     Problem: 1011
 3     User: AsmDef
 4     Language: C
 5     Result: Accepted
 6     Time:1656 ms
 7     Memory:2308 kb
 8 ****************************************************************/
 9  
10 #include <cctype>
11 #include <cstdio>
12 #include <cmath>
13 #include <cstdlib>
14 using namespace std;
15 template<typename T>inline void getd(T &x){
16     char c = getchar(); bool minus = 0;
17     while(!isdigit(c) && c != '-')c = getchar();
18     if(c == '-')minus = 1, c = getchar();
19     x = c - '0';
20     while(isdigit(c = getchar()))x = x * 10   c - '0';
21     if(minus)x = -x;
22 }
23 /*========================================================*/
24 const int maxn = 100002;
25 const double eps = 1e-12;
26 int N;
27 int main(){
28      
29     //#undef DEBUG
30      
31     double A, M[maxn], S[maxn];
32     #if defined DEBUG
33     freopen("test", "r", stdin);
34     freopen("out.txt", "w", stdout);
35     #else
36     //freopen("bzoj_1011_planet.in", "r", stdin);
37     //freopen("bzoj_1011_planet.out", "w", stdout);
38     #endif
39     getd(N);
40     int i, j, t, s;
41     double Ans, mid;
42     scanf("%lf", &A);
43     double lim = 1 / A;
44     S[0] = 0;
45     for(i = 1;i <= N; i)
46         scanf("%lf", M   i), S[i] = S[i-1]   M[i];
47     printf("%.6lfn", (double)0);
48     for(i = 2;i <= N; i){
49         Ans = 0;
50         t = (int)(i * A   eps);
51         s = (int)(t - lim);
52         if(s > 1){
53             mid = (int)sqrt((double)(i-1) * (i-s 1));
54             Ans  = M[i] * S[s-1] / mid;
55         }
56         else s = 1;
57         for(j = s;j <= t; j)
58             Ans  = M[i] * M[j] / (i - j);
59         printf("%.6lfn", Ans   eps);
60     }
61      
62     return 0;
63 }

数值近似

 

小编推荐一个学C语言/C 的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

6.请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

1 、 /* 输出 9*9 口诀。

7.请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。

共 9 行 9 列, i 控制行, j 控制列。*/#include "stdio.h"

8.编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。s=1 1/ 1/ ....... 1/(1 2 3 4 ...... n)

main()

9.编写一个函数fun,它的功能是:根据以下公式求P的值,结果由函数值带回。m与n为两个正整数,且要求m>n。p=m!/n!!

{int i,j,result;

10.编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos-x=0的一个实根。

for (i=1;i<10;i )

迭代步骤如下:取x1初值为0.0;x0=x1,把x1的值赋各x0;

{ for(j=1;j<10;j )

x1=cos,求出一个新的x1;

{result=i*j;

若x0-x1的绝对值小于0.000001,则执行步骤,否则执行步骤;

printf("%d*%d=%-3d",i,j,result);

所求x1就是方程cos-x=0的一个实根,作为函数值返回。

/*-3d 表示左对齐,占 3 位 */}

程序将输出Root=0.739085。

printf;/* 每一行后换行 */}}

11.下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N]),该函数的功能是:使数组左下半三角元素中的值全部置成0。

2 、 /* 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列 1,1,2,3,5,8,13,21....*/

12.下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。

main()

13.请编写一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。

{long f1,f2;

14.请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

int i;

15.请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w使n位的整数,则函数求出w后n-1位的数作为函数值返回。

f1=f2=1;

16.请编写一个函数float fun,函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入(规定h中的值位正数)。

for(i=1;i<=20;i )

17.请编写一个函数fun,该函数的功能使把字符串中的内容拟置。

{ printf("ld ld",f1,f2);

18.编写程序,实现矩阵的转置。

if

19.编写函数fun,该函数的功能是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。

printf;/* 控制输出,每行四个 */f1=f1 f2; /* 前两个月加起来赋值给第三个月 */f2=f1 f2; /* 前两个月加起来赋值给第三个月 */}}

20.编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。

3 、 /* 判断 101-200 之间有多少个素数,并输出所有素数及素数的个数。程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt ,如果能被整除,则表明此数不是素数,反之是素数。 */

21.请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ASCII码降序排列。

#include "math.h"main()

22.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数值返回。

{int m,i,k,h=0,leap=1;

23.请编写函数fun,该函数的功能是:判断字符串是否为回文?若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都是一样的字符串。

printf;

24.请编写一个函数fun,它的功能是:将一个字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

for(m=101;m<=200;m )

25.请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

{ k=sqrt;

26.请编写一个函数fun,它的功能是:根据以下公式求X的值(要求满足精度0.0005,即某项小于0.0005时停止迭代):

for(i=2;i<=k;i )

X/2=1 1/3 1×2/3×5 1×2×3/3×5×7 1×2×3×4/3×5×7×9 ... 1×2×3×...×n/3×5×7×

if

程序运行后,如果输入精度0.0005,则程序输出为3.14...。

{leap=0;

27.请编写一个函数fun,它的功能是:求除1到m之内能北7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

break;}

28.请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

if /* 内循环结束后, leap 依然为 1 ,则 m 是素数 */{printf;h ;ifprintf;}leap=1;}printf(" The total is %d",h);}

29.请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

4 、 /* 一个数如果恰好等于它的因子之和,这个数就称为 “ 完数 ” 。例如 6=1 + 2 + 3. 编程。找出 1000 以内的所有完数。 */

30.请编写一个函数fun,它的功能是:求除一个2×M整型二维数组中最大元素的值,并将此值返回调用函数。

main()

31.请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。

{static int k[10];

32.请编写函数fun,其功能是:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。

int i,j,n,s;

33.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

for(j=2;j<1000;j )

34.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能使:把分数最高的学生数据放在h所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

{n=-1;s=j;

35.请编写一个函数,用来删除字符串中的所有空格。

for(i=1;i#include main()

36.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部移到字符串的尾部。

{ float a[4][5],sum1,sum2;int i,j;

37.某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。请自己定义正确的形参。

for(i=0;i<3;i )for(j=0;j<4;j )scanf("%f",&a[i][j]);

38.请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

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

39.请编写函数fun,该函数的功能是:移动一维数组中的内容,若数组中由n个整数,要求把下标从0到p的数组元素平移到数组的最后。

{ sum1=0;

40.请编写函数fun,该函数的功能是移动字符串中内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。

for(j=0;j<4;j )

41.请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。

sum1 =a[i][j];

42.下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int

a[i][4]=sum1/4;}

a[][N],int n),该函数的功能是:将数组右上半三角元素中的值乘以m。

for(j=0;j<5;j )

43.编写一个函数,从传入的num个字符串中找出一个最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。

{ sum2=0;

44.编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。

for(i=0;i<3;i )sum2 =a[i][j];

45.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中最后的*个数。在编写时不得使用C语言给提供得字符串函数。

a[3][j]=sum2/3;}

46.学生得记录由学号和成绩组称个,N名大学生得数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。

for(i=0;i<4;i )

47.请编写一个函数void fun,其功能时:将字符串ss中所有下标为奇数位置上的字母转换为大写(若位置上不是字母,则不转换)。

{ for(j=0;j<5;j )

48.请编写函数fun,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。

printf("%6.2f",a[i][j]);

49.请编写函数fun,其功能是:将s所指字符串中下标位偶数同时ASCII值为奇数的字符删除,s中剩余的字符形成的新串放在t所指的数组中。

printf;}}

50.已知学生的记录是由学号和学习成绩构成,N名学生的数据已存入a机构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。

5 、 /* 下面程序的功能是将一个 4 × 4 的数组进行逆时针旋转 90 度后输出,要求原始数组的数据随机输入,新数组以 4 行 4 列的方式输出,请在空白处完善程序。 */

51.请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。

main(){ int a[4][4],b[4][4],i,j; /*a 存放原始数组数据, b 存放旋转后数组数据 */

52.编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。

printf("input 16 numbers: ");/* 输入一组数据存放到数组 a 中,然后旋转存放到 b 数组中 */for(i=0;i<4;i )

53.请编写函数fun,该函数的功能是:实现B=A A',即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。

for(j=0;j<4;j )

54.学生的记录由学号和成绩组称个,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。

{ scanf("%d",&a[i][j]);

55.请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的储存单元中。

b[3-j][i]=a[i][j];}

56.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字母串中其他*号全部删除。形参p已指向字符串中最后的一个字母。不使用c的字符串函数。

printf("array b: ");

57.学生的记录是由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

for(i=0;i<4;i )

58.编写函数藏服那,它的功能是:求n以内同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回。

{ for(j=0;j<4;j )

59.请别写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。

printf("m",b[i][j]);

60.请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

printf;}}

61.请编写函数fun,该函数的功能使:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放在主函数的age数组中;要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁的人数放在d[2]中,其余以此类推,把100岁(含100以上年龄的人数都放在d[10]中。结果在主函数中输出。

6 、 /* 编程打印直角杨辉三角形 */

62.请编写函数fun,该函数的功能是:统一一含字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。

main()

63.请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子之和。规定n的值不大于1000。

{int i,j,a[6][6];

64.请编写函数fun,其功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

for(i=0;i<=5;i )

65.请编写函数fun,其功能是:将两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。

{a[i][i]=1;a[i][0]=1;}

66.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有*号。在编写函数时,不得使用C语言提供的字符串函数。

for(i=2;i<=5;i )

67.学生的记录时由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数时strcmp)。

for(j=1;j<=i-1;j )

68.请编写函数fun,其功能时:计算并输出下列多项式的值:

a[i][j]=a[i-1][j] a[i-1][j-1];

sn=1 1/1! 1/2! 1/3! 1/4! ... 1/n!

for(i=0;i<=5;i )

69.请编写一个函数fun,它的功能时:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F的定义为:

{for(j=0;j<=i;j )

F=1,F F

printf("M",a[i][j]);

70.编写函数fun,它的功能时:计算并输出下列级数和:

printf;}}

S=1/1*2 1/2*3 ... 1/n

7 、/* 通过键盘输入 3 名学生 4 门课程的成绩,分别求每个学生的平均成绩和每门课程的平均成绩。要求所有成绩均放入一个 4 行 5 列的数组中,输入时同一人数据间用空格 , 不同人用回车,其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。 */

71.请编写函数fun,其功能时:将两个两位数的正整数a、b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b的十位和个位整数依次放在c数的百位和个位上。

图片 7

72.请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。

小编推荐一个学C语言/C 的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

73.假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字符,形参p已指向字符串中最后一个字母。在编写程序时,不得使用C语言提供的字符串函数。

#include #include main()

74.学生的记录由学号和成绩组成N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能时:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。

{ float a[4][5],sum1,sum2;

75.请编写函数fun,该函数的功能:将M行N列的二维数组中的数据,按列的顺学依次放到一维数组中。

int i,j;

76.请编写函数fun,其功能时:计算并输出当x<0.97时下列多项式的值,直到|Sn-S|<0.000001为止。

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

Sn=1 0.5x 0.5/2!x ... 0.5...../n!x

for(j=0;j<4;j )

77.请编写一个函数fun,其功能是:将两个两位数的正整数ab合并形成一个整数放在c中。合并方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。

scanf("%f",&a[i][j]);

78.请编写函数fun,其功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

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

79.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。

{ sum1=0;

80.程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。

for(j=0;j<4;j )

81.请编写函数fun,其功能使:将两个两位正整数a b合并形成一个整数放在c中。合并的方式使:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

sum1 =a[i][j];

82.请编写一个函数fun,它的功能使:计算n门课程的平均分,计算结果作为函数值返回。

a[i][4]=sum1/4;}

83.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能使:将字符串尾部的*号全部删除,前面和中间的*号不删除。

for(j=0;j<5;j )

84.请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

{ sum2=0;

85.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回;

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

86.请编写函数fun,计算并输出给定10个数的方差:

sum2 =a[i][j];

87.请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

a[3][j]=sum2/3;}

88.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数亚时,不得使用C语言提供的字符串函数。

for(i=0;i<4;i )

89.学生的记录是由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。

{ for(j=0;j<5;j )

90.请编写函数fun,其功能是:计算并输出下列多项式值:Sn= ... 1/2n).

printf("%6.2f",a[i][j]);

91.请编写函数fun,其功能是:将两个两位数的正整数a b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。

printf;}}

92.请编写函数fun,它的功能是计算:s= ln ... ln,s作为函数值返回。

8 、 /* 完善程序,实现将输入的字符串反序输出,如输入 windows 输出 swodniw 。 */#include main()

93.请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。

{ char c[200],c1;int i,j,k;

s=1 x x/2! x/3! ...x/n!

printf("Enter a string: ");

94.规定输入字符串中只包含字母和*号。请编写函数fun,它的功能是:将函数字符串中的前导*号全部删除,中间和尾部的*号不删除。

scanf;

95.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做。字符串中间和尾部的*号不删除。

k=strlen;

96.请编写函数fun,其功能使:计算并输出给定数组中每相邻两个元素之平均值的平方根之和

for (i=0,j=k-1;imain()

97.请编写函数fun,其功能是:计算并输出下列多项式值:

{ char s[80],c;int j,k;

s=1 1/ 1/ ..1/(1 2 3... 50)

printf(" Enter a string: ");

98.请编写函数fun,它的功能是:计算并输出n以内能被5或9整除的所有自然数的倒数之和。

gets;

99.请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。

printf(" Enter a character: ");

100.请编写函数fun,其功能是:计算并输出s=1 3 ... 3 ... n

c=getchar;

答案

for(j=k=0;s[j]!= '';j )

1.intfun(int score[],int m,int below[])

ifs[k ]=s[j];

{int i,k=0,aver=0;

s[k]= '';

for(i-0;i

printf;}

aver =score[i];

9 、 /* 下面程序的功能是从字符数组 s 中删除存放在 c 中的字符。 */

aver/=m;

#include main()

for(i=0,i

{ char s[80],c;

if(score[i]

int j,k;

{below[k]=score[i];

printf(" Enter a string: ");

k ;}

gets;

return k;}

printf(" Enter a character: ");

2.void fun(int *a,int *n)

c=getchar;

{int i,j=0;

for(j=k=0;s[j]!= '';j )

for(i=2;i<1000;i )

if

if((i%7==0//i==0))&iw!=0)

s[k ]=s[j];

a[j ]=i;

s[k]= '';

*n=j;}

printf;}

  1. void fun(int x, int pp[],int *n)

10 、 /* 编写一个 void sort(int *x,int n) 实现将 x 数组中的 n 个数据从大到小排序。 n 及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件 p9_1.out 中 */

{int i=1,j=0,k=0,*t=pp;

#includevoid sort(int *x,int n)

for(i=0;i<=x;i )

{int i,j,k,t;

if

for(i=0;ix[k])

{t[j]=i;

k=j;

j ;}

if{t=x[i];x[i]=x[k];x[k]=t;}}}

for(i=0;i

void main(){FILE *fp;int *p,i,a[10];fp=fopen("p9_1.out","w");

if(x%t[i]==0)

p=a;printf("Input 10 numbers:");

{pp[k]=t[i];

for(i=0;i<10;i )scanf;

k ;}

p=a;sort;for{ a[i 1]=a[i]; i--; }

*n=k;}

/* 将比 x 大的数往后移动一个位置 */a[ i]=x;j ; /* 插入 x 后元素总个数增加 */for(i=1;i<=j;i ) printf("

本文由402com永利平台发布于科学研究,转载请注明出处:近似运算,计算机二级C语言上机题库100题

关键词: