C语言所有题目以及答案 下载本文

3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1

【1】 i == j || i + j == 6 【2】 a[i][j]=2【3】 i6 【4】 printf(\102功能:三角形的面积为:area=sqrt(s*(s-a)*(s-b)*(s-c)).其中,s=(a+b+c)/2,a、b、c为三角形三【1】 define 【2】 &b 【3】 S(a,b,c) 【4】 AREA(s,a,b,c)

103功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一【1】 &score 【2】 score>max【3】 score

104功能:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万【1】 i<=200000 【2】 i<=600000【3】 i<=1000000 【4】 printf 四.程序改错

1、以下程序的功能是求如下表达式:

1 1 1

S = 1 + —— + ——— + ...... + ——————— 1+2 1+2+3 1+2+3+......+n

1 scanf(\2、题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- —— - —— - ... - —— 2x2 3x3 mxm

『答案』:1 for(i=2;i<=m;i++) 2 y-=1.0/(i*i); 3 return y;

3、函数fun的功能是:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 π 1 1 1 — = 1 - — + — - — + ... 4 3 5 7

1 #include 2 float s=0,t=1,p=1; 3 while(fabs(t)>1e-4);4 printf(\4 );

4、功能:计算正整数num的各位上的数字之积。例如,输入252,则输出应该是20。 『答案』:1 long k=1; 2 num/=10; 3 scanf(\

5、功能:(与上题略有不同)计算正整数num的各位数字之积。例如,若输入:252,则输出应该是:20。『答案』:1{long k=1; 2 num/=10; 3 }while(num>0); 6、题目:判断m是否为素数,若是返回1,否则返回0。

『答案』:1 int fun( int m) 2 for(i=2;i

『答案』:1 for(k=2;k

8、功能:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的『答案』:1 while ( (k>=2) && (mc<10) ) 2 if(!(k!=0 && k!=0 )) 3 k--; 4 return m; 9、在一个一维整型数组中找出其中最大的数及其下标。程序中共有4条错误语句,请改正错误。 『答案』:1 int fun(int *a,int *b,int n) 2 *b=c-a;} 3 scanf(\max=fun(a,&p,N); 10、通过键盘输入10个整数为一维数组各个元素赋值;将其中最小的数与第一个数对换,将最大的数与『答案』:1 scanf(\11、用起泡法对10个整数从小到大排序。

1 for(j=0;j< n -1 -i ;j++) 2 if(x[j]>x[ j + 1 ]) 3 scanf(\sort(a,n); 12、在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。

『答案』:1 scanf(\13、将一个字符串中第m个字符开始的全部字符复制成为另一个字符串。

『答案』:1 { char *p1,*p2; 2 p1= str1 + m -1; 3 while(*p1) 4 strcopy(str1,str2,m); 14、将一个字符串中的大写字母转换成小写字母。例如:输入aSdFG输出为asdfg。

『答案』:1 char fun(char *c) 2 return *c; 3 { char s[81],*p=s; 4 putchar(*p); 15、题目:将若干学生的档案存放在一个文件中,并显示其内容。

『答案』:1 { struct student *p; 2 FILE *fp; 3 for(p=stu;p< stu + 3 ;p++) 4 printf(\16、题目:下列给定程序中,函数fun的功能是:求1到10的阶乘的和。

『答案』:1 for(i=1;i<=10;i++) 2 s= s + fac(i) ; 3 float y=1.0; 4 return y;

17、题目:函数fun的功能是:求1到20的阶乘的和。

『答案』:1 t=1; 2 t= t * j ; 3 s= s + t ; 4 printf(\

18、函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数『答案』:1 printf(\; 3 f1=f2; 4 f2=f3;

19、函数fun的功能是:实现交换两个整数的值。例如给a和b分别输入3和6 ,输出为a=6 b=3 『答案』:1 void fun (int *a,int *b) ;2 t=*a; 3 *a=*b; 4 *b=t;

20、已知一个数列从第0项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项的和。下列给1 double fun (int n); 2 sum=1.0; 3 s2=1.0; 4 for(k=4;k<=n;k++)

21、函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005π 1 1 2 1 2 3 1 2 3 4 — = 1 + — + — x — + — x — x — + — x — x — x — + ... 2 3 3 5 3 5 7 3 5 7 9 1 while(t>eps) 2 t=t*n/(2*n+1); 3 return (2*s);

22、题目:函数fun的功能是:求出两个非零正整数的最大公约数, 并作为函数值返回。例如,若给num1『答案』:1 a=b; 2 b=t; 3 r=a%b; 4 return b;

23、题目:在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定『答案』:1 double sum=0.0; 2 while(s[i]) 3 sum/=c; 4 return sum;

24、fun函数的功能是:给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。例『答案』:1 float xa=0; 2 for(j=0;j

『答案』:1 scanf(\

26、fun函数的功能是:求一个3行4列矩阵的外框的元素值之和,注意,矩阵四个角上的元素不能重复 答案:1 int i,j,s,s1=0,s2=0,s3=0,s4=0;

2 s2= s2 + a[m-1][j] ; 3 for(i=1;i

27、fun函数的功能是:实现两个字符串的连接。例如:输入dfdfqe和12345时,则输出dfdfqe12345. 『答案』: while(s1[i])i++; 2 while(s2[j]) 3 s1[i]=s2[j]; 4 s1[i]=0;

28、将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如:当s所指的字符串 『答案』:1 void fun (char s[],char t[]) 2 d = strlen(s); 3 for (i = 0; i

29、下面程序的功能是:从键盘输入十个学生的成绩,统计最高分,最低分和平均分。max代表最高分,『答案』:1 float a[10],min,max,avg; 2 scanf(\

30、以下程序输出前六行杨辉三角形。

『答案』:1 for(i=0;i<6;i++) 2 if(j == 0 || j == i)

3 a[i][j]=a[i-1][j]+a[i-1][j-1]; 4 print(\

31、有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对 『答案』:1 scanf(\32、输入10个数,要求输出这10个数的平均值

『答案』:1 for(i=1;i<10;i++) 2 float score[10],aver; 3 scanf(\ 4 aver=average(score);

33、用\起泡法\对输入的十个字符排序后按从小到大的次序输出. 『答案』:1 scanf(\

3 for(i=0;istr[i+1]) 34、以下程序利用指针把两个数按由大到小的顺序输出。

『答案』:1 swap( int *p1,int *p2) 2 scanf(\

3 p1=&a;p2=&b; 4 printf(\35、用指针作函数参数,编程序求一维数组中的最大和最小的元素值. 『答案』:1 void maxmin(int arr[ ],int *pt1,int *pt2,int n)

2 *pt1=*pt2=arr[0]; 3 {if(arr[i]>*pt1) *pt1=arr[i]; 4 p1=&a;p2=&b; 36、编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。例如,假定输『答案』:1 int i,n=0; 2 for(i=0;i<=strlen(str)-3;i++) 3 n++;

37、函数fun功能是:根据整型形参m,计算如下公式的值:y=1+1/3+1/5+1/7+...+1/(2m-3) 『答案』:1 double y=1; 2 for(i=1; i<=m; i++) 3 y+=1.0/(2*i-3);

38、下列程序中,函数fun的功能是:找出一个大于给定整数m的最小的素数,并作为函数值返回。 『答案』:1 { int i,k; 2 if(i%k==0) 3 if(k==i)

39、给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为偶数的数依次取出,构成一个新数『答案』:1 if( d%2 == 0 ) 2 { *t=d* sl+ *t; 3 s/=10;

40、给定程序MODI1.C中函数fun的功能是:求两数平方根之和,作为函数值返回。

1 double fun (double *a, double *b) 2 c = sqrt(*a)+sqrt(*b) ; 3 return c; 或 return(c); 41、给定程序MODI1.C中函数 fun 的功能是:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 『答案』:1 for (k=4; k<=n; k++) 2 a=b; b=c; c=d; 3 return d;

42、给定程序MODI1.C中函数 fun 的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数『答案』:1 float fun(float r) 2 s=1.0/2*3.14159*r*r; 3 return s; 四.程序设计

1 从键盘输入任意实数,求出其所对应的函数值 z=e的x次幂(x>10) 答案: 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);

2功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在答案:---------------------- int sum; int i,j; sum=1;

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

3功能:求1到100之间的偶数之积。 答案:---------------------- double y=1; int i;

for(i=1;i<=m;i++) if(i%2==0)y*=i; return y;

4功能:求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最答案:---------------------- int max,i,j; max=array [0][0]; Row=0; Col=0;

for(i=0;i

return(max);

5功能:编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小答案:---------------------- int k; k=*a; *a=*b; *b=k;

6功能:求一个给定字符串中的数字字母的个数。 答案:---------------------- int i,k=0;

for(i=0;s[i]!='\\0';i++) if(s[i]>='0'&&s[i]<='9'') k++; return k;

7功能:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。 答案:---------------------- int i,j; char t;

for(i=1;i