C语言程序设计作业二
C语言程序设计作业二
C语言程序设计作业二12. 该程序的输出结果是什么?(单选)#include <stdio.h>void main(){int n;n=0;while(n<8){switch(n%3){case 2:putchar('2');case 1:putchar('i');break;case 0:putchar('H');}n++;}}A. Hi2Hi2HiB. Hi2C. Hi2iHi2iD. Hi2iHi2iHi13. 该程序的输出结果是多少?(单选)#include <stdio.h>main(){int i,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}}printf("x=%d\n",x);}A. x=4B. x=8C. x=6D. x=1214. 若k为整型,以下while循环执行___次.(单选)k=2;while(k=0)printf("%d",k),k--;printf("\n");A. 无限次B. 0次C. 1次D. 2次15. 下面这个程序的输出是什么?(单选)#include <stdio.h>main(){int y=10;while(y--);printf("y=%d\n",y);}A. y=0B. while构成死循环C. y=1D. y=-116. 以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空.#include <stdio.h>main(){___ n,i,j;printf("输入非零的整数(输入零结束程序)");i=j=0;scanf("%d",&n);while___{if(n>0)i=___;if(n<0)j=___;___;}printf("i=%4d j=%4d\n",i,j);}17. 圆周率pi的近似率可用下面的公式求得:pi*pi/6 约等于1/(1*1) +1/(2*2) +...+1/(n*n)由以上公式可知,若n取值10000,则最后一项的值为1E-4,认为可达到精度要求。
C语言程序设计作业(二)
C语言程序设计习题(二)学号:________ 姓名:________ 成绩________一、选择题1.()是C语言提供的合法的数据类型关键字。
A)Float B)signed C)integer D)Char2.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。
A)3.500000 B)3 C)2.000000 D)3.0000003.设以下变量均为int类型,则值不等于7的表达式是()。
A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)4.16位系统执行下列程序片段时输出结果是()。
unsigned int a=65535;printf(“%d”,a);A)65535 B)-1 C)-32767 D)15.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按()方式输入数据。
int k1,k2,k3,k4;scanf(“%d%d”,&k1,&k2);scanf(“%d,%d”,&k3,&k4);A)1020↙B)10 20↙C)10,20↙D)10 20↙1020↙10 20↙10,20↙10,20↙6.执行下列程序片段时输出结果是()。
int x=13,y=5;printf(“%d”,x%=(y/=2));A)3 B)2 C)1 D)07.下列程序的输出结果是()。
main ( ){ int x=023;printf(“%d”,--x);}A)17 B)18 C)23 D)248.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是()。
int a1,a2; char c1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A)1020AB↙B)10 20↙AB↙C)10 20 AB↙D)10 20AB↙9.执行下列程序片段时输出结果是()。
C语言编程Test 2作业
[
(1)学会调试程序的基本步骤。
(2)掌握switch语句的使用和break的作用。
(3)熟练掌握分支结构程序设计。
[
第一题,调试程序(实验教材P15实验2.2),按照书中介绍的方法进行调试。
改正下列程序中的错误,输入x计算并输出下列分段函数f(x)的值(保留1位小数)。
y=f(x)=1/x (x≠0)
printf("Enter salary:");
scanf("%d",&salary);
printf("Enter rate:");
scanf("%lf",&rate);
switch(salary)
{
case 1:rate=0;
case 2: 850<salary<=1350,rate=0.05;
case 3:1350<salary<=2850,rate=0.10;
return 0;
}
正确解题过程如下
#include <stdio.h>
int main(voiห้องสมุดไป่ตู้)
{
double x, y;
printf("Enter x: ");
scanf("%lf", x);
if(x != 0){
y = 1 / x
}
else{
y = 0;
}
printf("f(%.2f) = %.1f\n", x, y);
解题程序如下:
#include <stdio.h>
#include <math.h>
C语言程序设计形成性考核作业2解答
《C语言程序设计》作业2解答一、选择题1. 在下面的一维数组定义中,( C )语句有语法错误。
A. int a[ ]={1,2,3};B. int a[10]={0};C. int a[ ];D. int a[5];2. 在下面的二维数组定义中,( C )语句是正确的。
A. int a[5][ ];B. int a[ ][5];C. int a[ ][3]={{1,3,5},{2}};D. int a[ ](10);3. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为( C )。
A. 2B. 4C. 6D. 84. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( A )。
A. 0B. 4C. 8D. 65. 将两个字符串连接起来组成一个字符串时,选用( C )函数。
A. strlen( )B. strcap( )C. strcat( )D. strcmp( )二、填空题1. 假定一维数组的定义为“char * a[8];”,则该数组所含元素的个数为8 。
2. 假定一维数组的定义为“char * a[8];”,则该数组所占存储空间的字节数为32 。
3. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为60 。
4. 假定二维数组的定义为“double a[M][N];”,则该数组所含元素的个数为M*N 。
5. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0 ~M-1 之间。
6. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N-1 之间。
7. 使用“typedef char BB[10][50];”语句定义BB 为含有10行50列的二维字符数组类型。
C语言程序设计(第二版)答案
参考答案习题二(P33)一.单选题1.C2.B3.D4.C5.A6.D7.D8.B9.B 10.D 11.D 12.C 13.C . 15. A 14题最后一句应为printf("%f\n",d*y);结果为2.2二.填空题1. 182. int float double3. 10 114. 八十六十5. %三.阅读程序题1.10,10,9,102.j=1,i=2k=3,i=3j=3,i=2k=1,i=1习题三(P52)一.单选题1.D2.C3.D4.B5.A6.B7.C8.A9.C 10.B 11. -1,37777777777,4294967295 二.填空题5. L6. -1三.阅读程序题1. 6 6 6.00 6.002. x=127,x= 127,x=177,x=7fY=123.4567 , y= 123.46 , y=123.456703. 2,14. 12345. 4,36. -6,-6四.程序设计题1.#include "stdio.h"#include "math.h"main(){float a,b,c,d,x1,x2;a=2;b=-3;c=-5;d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}2.#include <stdio.h>main(){ float a,v,s;scanf("%f",&a);v=a*a*a;s=6*a*a;printf("v=%.2f,s=%.2f\n",v,s);}3.#include <stdio.h>main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);t=c;c=b;b=a;a=t;printf("a=%d,b=%d,c=%d\n",a,b,c);}4.#include <stdio.h>main(){ char s1,s2;s1=getchar();s2=s1-32;printf("%c\n",s2);}习题四(P70)一.单选题1.C2.D3.D4.B5.A6.D7.D8.B9.C 10.A 11.B 12.D 13.passwarnerror .14.C 15. C 16.B 17. B 18. C二.填空题1. 非0 02. k==03. n%7==0 && n%8==0 else三.阅读程序题1. a=1,b=02. c=1四.程序设计题1.#include <stdio.h>main(){ int a,b;char c;printf("INPUT A+(-*/)B\n");scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':printf("%d/%d=%d\n",a,b,a/b);break;default:printf("INPUT ERROR!");}}2.#include <stdio.h>main(){ float x,y;scanf("%f",&x);if(x==0||x==2)y=0;else if(x>0) y=(x+1)/(x-2);else y=(x-1)/(x-2);printf("y=%f\n",y);}3.#include <stdio.h>main(){ int g;printf("请输入学生成绩:");scanf("%d",&g);printf("g=%d:",g);switch(g/10){case 10:printf("A\n");break;case 9:printf("B\n");break;case 8:printf("C\n");break;case 7:printf("D\n");break;case 6:printf("E\n");break;default:printf("F\n");}}4.#include <stdio.h>main(){ int x,n=0;scanf("%d",&x);if(x<=0||x>=10000)printf("Data Error!\n");else{if(x<10)n=1;else if(x<100)n=2;else if(x<1000)n=3;else n=4;}printf("n=%d\n",n);}习题五(P87)一.单选题1.B2.D3.C4.C5.B6.C7.D8.C9.A 10.D 11.B 12.B 13.B 14.D 15. C 二.填空题1. for语句while语句do-while语句2. a=14,y=263. k=14,n= -14. 395. s=196. 222227. 108. 79. 810. 5,5三.改错题应改为for(i=0;i<5;i++)j++;应改为int j=0;while(j<10){j++;i=j;} 注while(j<10)后不应有分号应改为while(j<10); 注while(j<10)后分号不能少s*=i;i++;应改为{s*=i;i++;}continue 应改为break四.程序设计题1.#include <stdio.h>main(){ int i,j,s=0;for(i=1,j=1;i<=100;i++,j=j*(-1))s=s+i*j;printf("s=%d\n",s);}1.(另一做法)#include<stdio.h>main(){int i,s;for(i=1,s=0;i<=100;i++)if(i%2==0)s=s-i;else s=s+i;printf ("%d\n",s);}2.#include <stdio.h>main(){ int i,j,s1=0,s2=0;for(i=0;i<10;i++){scanf("%d",&j);if(j>0)s1=s1+j;else s2=s2+j;}printf("s1=%d,s2=%d\n",s1,s2);}3.#include<stdio.h>main(){int i,s;for(i=6,s=0;i<=96;i=i+1)if(i%10==6||i/10==6)s=s+i;printf ("%d\n",s);}4.#include<stdio.h>main(){int i,a,b,c;for(i=100;i<=999;i++){a=(i%10);b=(i/10%10);c=(i/100);if(i==a*a*a+b*b*b+c*c*c)printf ("%d\n",i);}}5.#include <stdio.h>main( ){int i,j,k=0;for (i=1;i<=4;i++){for (j=1;j<=i;j++){k++;printf("%d",k%10);}printf("\n");}}6.#include <stdio.h>main( ){int i,j,k=0;for (i=-3;i<=3;i++){if(i<0)k=-i;else k=i;for(j=1;j<=k;j++)printf(" ");for(j=1;j<=7-2*k;j++)printf("*");printf("\n");}}习题六(P111)一.单选题1.D2.B3.C4.C5.C6.D7.A8.B二.填空题1. 20 0 192. 数组名3. 越界4. 65. j==k a[j][k]=1; a[j][k]=0;三.阅读程序题1. 6 5 43 2 12.aaabbbccc ddd3.2,2,1四.程序设计题1.#include<stdio.h>main(){ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s+=a[i][j];printf("%d",s);}2.#include <stdio.h>{ char a[80];int i,j=5; /*假设删除位置为5*/gets(a);for(i=j-1;a[i]!='\0';i++)a[i]=a[i+1];a[i]='\0';puts(a);}3.#include <stdio.h>#include <string.h>main(){ char a[80];int i,j=5; /*假设插入位置为5*/char s='t'; /*假设插入字符为t*/gets(a);for(i=strlen(a);i>j;i--)a[i+1]=a[i];a[j]='t';puts(a);}4.#include<stdio.h>main(){ int a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6}; int i,j,s1[3]={0},s2[5]={0};for(i=0;i<3;i++)for(j=0;j<5;j++)s1[i]+=a[i][ j];for(i=0;i<5;i++)for(j=0;j<3;j++)s2[i]+=a[ j][i];for(i=0;i<3;i++){for(j=0;j<5;j++)printf("%6d",a[i][j]);printf (" |%6d\n",s1[i]);}for(i=0;i<33;i++) printf("-");printf("\n");for(i=0;i<5;i++) printf("%6d",s2[i]);printf("\n");}5.#include<stdio.h>{ char s[3][80];int a=0,b=0,c=0,d=0,e=0,i,j;for(i=0;i<3;i++) gets(s[i]);for(i=0;i<3;i++)for(j=0;s[i][j]!='\0';j++)if(s[i][j]>='A'&&s[i][j]<='Z')a++;else if(s[i][j]>='a'&&s[i][j]<='z')b++;else if(s[i][j]>='0'&&s[i][j]<='9')c++;else if(s[i][j]==32)d++;else e++;printf("%3d%3d%3d%3d%3d",a,b,c,d,e);}习题七(P145)一.单选题1.A2.B3.C4.A5.C6.D7.C8.B9.B 10.C 11.D 二.填空题1. 该函数内局部2. 整型3. k<=breturn y;4. x[i]return (ave);fun(a,20)5. 1;add(n-1);add(n);6. n*f(n-1)0;f(i)三.阅读程序,写出运行结果1.10,20,302.643.84. hlo5. sum=55四.程序设计题1.#include <stdio.h>main(){float add(float, float), sub(float, float);float aver(float, float),a,b;scanf("%f,%f",&a,&b);printf("add=%f, sub=%f\n ", add(a,b), sub(a,b)); printf("aver =%f", aver(a,b));}float add(float x, float y) {return(x+y);}float sub(float x, float y) {return(x-y);}float aver(float x, float y) {return((x+y)/2);} 2.#include<stdio.h>main(){ int a,b,c,abmax(int,int);scanf("%d%d%d",&a,&b,&c);printf("max=%d\n",abmax(abmax(a,b),c)); }int abmax(int a,int b){if(a>b)return a;else return b;}3.#include <stdio.h>main(){float x,fun(float, int);int n;scanf("%f%d",&x,&n);printf("%f\n", fun(x,n));}float fun(float x, int n){float y;if(n==0)y=1;else y=x*fun(x,n-1);return y;}4.#include <stdio.h>main(){long f(int);int n,k;scanf("%d",&n);for(k=1;k<=n;k++)printf("%ld,",f(k));printf("\n");}long f(int n){long y;if(n<=2)y=1;else y=f(n-1)+f(n-2); return y;}5.#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k,s;for(k=0;k<n/2;k++) {s=a[k];a[k]=a[n-k-1];a[n-k-1]=s;}}5. (另一做法)#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k;char b[50];for(k=0;k<n;k++)b[n-1-k]=a[k];b[k]=a[k];strcpy(a,b);}6.#include <stdio.h>#define KK 100main(){char a[KK];long sjz(char a[]);int i=0,f1=0;printf("input a data:");gets(a);for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9'||a[i]>='A'&&a[i]<='F'||a[i]>='a'&&a[i]<='f') continue;else {f1=1;break;}}a[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(a));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}6.(另一做法)#include <stdio.h>#define KK 100main(){char str[KK],c;long sjz(char a[]);int i=0,f1=0;printf("input a data:");while((c=getchar())!='\n'&&i<KK){if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')str[i++]=c;else f1=1;}str[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(str));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}习题八(P181) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.C4.D5.C6.B7.C8.C9.C 13.D 14.B 15.A 16.C 17.A 二.填空题1. 指向取地址2. 2 +23. 286. *(p+5)7. ABCD A三.阅读程序题1.102.103.04. 3,65. 1 2 3 4四.程序填空题1.a,b,c或者&x,&y,&z max=*b或者max=y max=*c或者max=z2. ++ =*q ++ ++4. int *a,int *b b[j]=a[i] b[i++]5. *str+=3 *str>’z’&&*str<’a’||*str>’z’ a6. else 0 t[2*j+1]五.程序设计题1.#include <stdio.h>main(){int a[10],*p,*q,t;p=a;for(q=a;q<a+10;q++)scanf("%d",q);for(q=a;q<a+10;q++)printf("%5d",*q);printf("\n");q--;for(;p<q;p++,q--){t=*p;*p=*q;*q=t;}for(p=a;p<a+10;p++)printf("%5d",*p);printf("\n");}2.#include <stdio.h>#include <string.h>void main( ){ char a[50],*p1,*p2,t,n;gets(a);n=strlen(a);p1=a; p2=a+n-1;for(; p1<p2; p1++, p2--){t=*p1; *p1=*p2; *p2=t;}puts(a);}另一做法#include <stdio.h>main(){char str[20],*p=str;gets(str);while(*p)p++;p--;while(p>=str){printf("%c",*p);p--;}printf("\n");}3.#include <stdio.h>main(){int a[10],*p,*max,*min,t;for(p=a;p<a+10;p++)scanf("%d",p); for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");max=min=a;for(p=a+1;p<a+10;p++){if(*p>*max)max=p;if(*p<*min)min=p;}t=a[0];a[0]=*min;*min=t;t=a[9];a[9]=*max;*max=t;for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");}5.#include <stdio.h>int length(char *s){int n=0;while(*s){n++;s++;}return n;}main(){char str[20];int n;gets(str);n=length(str);printf("The string length is %d\n",n);}6.#include <stdio.h>main(){char str[81],*p=str,*q,t;gets(str);printf("The origenal string:\n");puts(str);for(p=str;*(p+1);p++)for(q=p+1;*q;q++)if(*q<*p){t=*p;*p=*q;*q=t;}printf("The result string:\n");puts(str);}习题九(P222) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.B4.D 8.B 9.B 10.C二.填空题1. 结构体成员结构体指针指向2. 343. 224.ex三.阅读程序题1.92.10,x3.134. 46 40 415. 06. 3839。
二级C语言程序设计-2
二级C语言程序设计-2(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:20,分数:40.00)1.下列运算符中优先级最高的算符是∙ A.!∙ B.%∙ C.-=∙ D.&&(分数:2.00)A. √B.C.D.解析:2.下列运算符中优先级最低的算符是∙ A.‖∙ B.!=∙ C.<=∙ D.+(分数:2.00)A. √B.C.D.解析:3.为表示关系:x≥y≥z,应使用的C语言表达式是∙ A.(x>=y)&&(y>=z)∙ B.(x>=y)AND(y>=x)∙ C.(x>=y>=z)∙ D.(x>=y)&(y>=z)(分数:2.00)A. √B.C.D.解析:4.设a、b和c都是int型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是∙ A.a&&b∙ B.a<=b∙ C.a‖b+c&&b-c∙ D.!((a<b)&&!c‖1)(分数:2.00)A.B.C.D. √解析:5.有以下程序:#include<stdio.h>main(){int a=2, b=-1, c=2;if(a<b)if(b<0) c=0;else c+=1;printf("%d/n", c);}程序的输出结果是∙ A.0∙ B.1∙ C.2∙ D.3(分数:2.00)A.B.C. √D.解析:6.有以下程序:#include<stdio.h>main(){int w=4, x=3, y=2, z=1;printf("%d/n", (w<X? w:z<y? z:x)); }程序的输出结果是∙ A.1∙ B.2∙ C.3∙ D.4(分数:2.00)A. √B.C.D.解析:7.有以下程序:#include<stdio.h>main(){int a, b, s;scanf("%d%d", &a, &b);s=a;if(a<b) s=b;s*=s;printf("%d/n", s);}若执行以上程序时从键盘上输入3和4,则输出结果是∙ A.14∙ B.16∙ C.18∙ D.20(分数:2.00)A.B. √C.D.解析:8.有以下程序片段:y=-1; if(x!=0) if(x>0) y=1; else y=0; 其能正确表示的数学函数关系是A.B. C. D(分数:2.00)A.B.C. √D.解析:9.有以下程序:#include<stdio.h>main(){int k=-3;if(k<=0) printf("****/n")else printf("&&&&/n");}程序的输出结果是∙ A.输出####∙ B.输出&&&&∙ C.输出####&&&&∙ D.有语法错不能通过编译(分数:2.00)A.B.C.D. √解析:10.若a和b均是正整型变量,正确的switch语句是∙ A.switch(pow(a, 2)+pow(b, 2)) (注:调用求幂的数学函数) {case 1:case 3:y=a+b; break; case 0:case 5:y=a-b; }∙ B.switch(a*a+b*b); {case 3; case 1:y=a+b; break; case 0:y=b-a; break; }∙ C.switch a {default:x=a+b; case 10:y=a-b;break; case 11:x=a*d; break; }∙ D.switch(a+b) {case10:x=a+b; break; case11:y=a-b; break; }(分数:2.00)A. √B.C.D.解析:11.有以下程序段:int k, j, s;for(k=2; k<6; k++,k++){s=1;for(j=k; j<6; j++) s+=j;}printf("%d/n", s);程序段的输出结果是∙ A. 9∙ B.1∙ C.11∙ D.10(分数:2.00)A.B.C.D. √解析:12.有以下程序段:int i, j, m=0;for(i=1; i<=15; i+=4)for(j=3; j<=19; j+=4) m++; printf("%d/n", m);程序段的输出结果是∙ A.12∙ B.15∙ C.20∙ D.25(分数:2.00)A.B.C. √D.解析:13.有以下程序段:int n=10;while(n>7){n--;printf("%d/n", n);}程序段的输出结果是∙ A.10 9 8∙ B.9 8 7∙ C.10 9 8 7∙ D.9 8 7 6(分数:2.00)A.B. √C.D.解析:14.有以下程序段:int x=3;do{printf("%3d", x-=2);}while(!(--x));程序段的输出结果是∙ A.1∙ B.3 0∙ C.1 -2∙ D.死循环(分数:2.00)A.B.C. √D.解析:15.有以下程序:#include<stdio.h>main(){int i, sum;for(i=1; i<6; i++) sum+=sum; printf("%d/n", sum);}程序的输出结果是∙ A.15∙ B.14∙ C.不确定∙ D.0(分数:2.00)A.B.C. √D.解析:16.有以下程序:#include<stdio.h>main(){int y=10;for(; y>0; y--)if(y%3==0){printf("%d", --y); continue; }}程序的输出结果是∙ A.741∙ B.852∙ C.963∙ D.875421(分数:2.00)A.B. √C.D.解析:17.有以下程序段:int x;for(x=3; x<6; x++)printf((x%2)?("**%d"): ("##%d/n"), x); 程序段的输出结果是∙ A.**3 ##4 **5∙ B.##3 **4 ##5∙ C.##3 **4##5 .∙ D.**3##4 **5(分数:2.00)A.B.C.D. √解析:18.有以下程序:#include<stdio.h>main(){int i;for(i=1; i<=5; i++){if(i%2) printf("*");else continue;printf("#");}printf("$/n");}程序的输出结果是∙ A.*#*#*#$∙ B.#*#*#*$∙ C.*#*#$∙ D.#*#*$(分数:2.00)A. √B.C.D.解析:19.以下叙述中正确的是∙ A.do-while语句构成的循环不能用其他语句构成的循环来代替∙ B.do-while语句构成的循环只能用break语句退出∙ C.用do-while语句构成循环时,只有在while后的表达式为非零时结束循环∙ D.用do-while语句构成循环时,只有在while后的表达式为零时结束循环(分数:2.00)A.B.C.D. √解析:20.有以下程序:#include<stdio.h>main(){int x, i;for(i=1; i<=100; i++){x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d", x);}printf("/n");}程序的输出结果是∙ A.28 70∙ B.42 84∙ C.26 68∙ D.39 81(分数:2.00)A. √B.C.D.解析:二、{{B}}填空题{{/B}}(总题数:16,分数:32.00)21.C语言中用______表示逻辑值“真”,用______表示逻辑值“假”。
2020年中国石油大学北京网络学院 C语言程序设计-第二次在线作业 参考答案
中国石油大学北京网络学院
C语言程序设计-第二次在线作业
参考答案
1.(
2.5分)以下关于数组的描述正确的是()。
A、A. 数组的大小是固定的,但可以有不同的类型的数组元素。
B、B. 数组的大小是可变的,但所有数组元素的类型必须相同。
C、C. 数组的大小是固定的,但所有数组元素的类型必须相同。
D、D. 数组的大小是可变的,但可以有不同的类型的数组元素。
我的答案:C 此题得分:2.5分
2.(2.5分)在定义int a[10];之后,对a的引用正确的是()。
A、A.a[10]
B、B.a[6.3]
C、C.a(6)
D、D.a[10-10]
我的答案:D 此题得分:2.5分
3.(2.5分)以下能正确定义数组并正确赋初值的语句是()。
A、A. int n=5,b[n][n];
B、B. int a[1][2]={{1},{3}};
C、C. int c[2][]={{1,2},{3,4}}
D、D. int a[3][2]={{1,2},{3,4}}。
2020年秋季C语言程序设计(本)网上作业2
2020年秋季C语言程序设计(本)网上作业2一、单选题1. (5分)以下程序的输出结果是( D )。
#include <stdio.h> main() { int z,y[3]={2,3,4};Z=y[y[2]]=10; printf("%d",z);}A. 10B. 2C. 3D. 运行时出错,得不到确定值2. (5分)能正确表示关系a≥10或a≤0的C逻辑表达式是( D )。
A. a>=10 or a<=0B. a>=0|a<=10C. a>=10 && a<=0D. a>=10‖a<=03. (5分)下列程序的运行结果是( B )。
#include <stdio.h> void fun(int *a, int *b){ int *k; k=a; a=b; b=k;} main() { int a=3, b=6, *x=&a, *y=&b;fun(x,y); printf("%d %d", a, b);}A. 6 3B. 3 6C. 编译出错D. 0 04. (5分)以下叙述中,( D )不正确。
A. C语言中,文本文件以ASCⅡ码形式存储数据B. C语言中,访问二进制文件的速度比文本文件快C. C语言中,随机读写方式不适用于文本文件D. C语言中,顺序读写方式不适用于二进制文件5. (5分)若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是( A )。
A. p=2*(int*)malloc(sizeof(int));B. p=(int*)malloc(2*sizeof(int));C. p=(int*)malloc(2*2);D. p=(int*)calloc(2,sizeof(int));6. (5分)该程序的执行结果是( C )。
东大20秋学期《C语言及程序设计》在线平时作业2【标准答案】
B.2.75
C.3.5
D.0
答案:A
12.下面四个选项中,均是C语言关键字的选项是()。
A.autoenuminclude
B.switchtypedefcontinue
C.signedunionscanf
D.ifstructtype
答案:B
13.复制题干,如有插入图片点击第二个“插入多图按钮”插入图片并上传图片
就是名字是20秋学期《C语言及程序设计》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 13 道试题,共 65 分)
1.若使用下述程序段将整数12和浮点数13.6分别赋给变量a和b,那么输入应该式()。inta;floatb;scanf(“a=%d,b=%f”,a,b);
A.1213.6
答案:错误
A.16
B.32
C.96
D.144
答案:D
8.执行下列语句后,第一个输出的值为()#includestdio.h;#defineM;#defineN;M+1;main(){printf(“%d\n”,N);}
A.3
B.4
C.6
D.8
答案:A
9.若运行以下程序时,从键盘输入25,13,10回车,则输出结果为()。main(){inta1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("a1+a2+a3=%d\n",a1+a2+a3);}
A.6.5
B.7CΒιβλιοθήκη 6D.8答案:C4.标有/**/语句的输出结果为()intx=20;printf(“%d,%o,%x”,x,x,x);/**/
c语言程序设计形考任务二答案
c语言程序设计形考任务二答案一、选择题(共20分,每小题2分)当处理特定问题时的循环次数已知时,通常采用的语句是()。
a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是()。
a. forb. ifc. dod. while题目3for语句能够被改写成的语句是()。
a. 复合b. ifc. switchd. while题目4下面循环语句执行结束后输出的i值为()。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5d. int a[](10);题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为()。
a. 2b. 4c. 6d. 8题目10假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
a. 0b. 4c. 8d. 6二、判断题(共20分,每小题1分。
叙述正确则回答“是”,否则回答“否”)题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。
对题目12在switch语句中,每个case和冒号之间的表达式只能是常量。
对题目13为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。
对题目14在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
错题目15在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C 语言集成开发环境界面窗口。
国开C语言程序设计形考任务2
国开C语言程序设计形考任务2二、简答题(共30分,每小题10分)题目1请简述for循环语句的语法和用法。
答:for循环语句的语法为:for (初始化表达式。
条件表达式。
更新表达式) 循环体语句。
其中,初始化表达式在循环开始前执行一次,用于初始化循环变量;条件表达式在每次循环开始前进行判断,若为真则执行循环体语句,否则循环结束;更新表达式在每次循环结束后执行,用于更新循环变量。
for循环语句通常用于已知循环次数的情况下进行循环操作。
题目2请简述switch语句的语法和用法。
答:switch语句的语法为:switch (表达式) { case 常量1:语句1.break。
case 常量2: 语句2.break。
default: 语句n。
}。
其中,表达式的值会依次与各个常量进行比较,若匹配则执行对应的语句,并在语句末尾加上break语句跳出switch语句;若都不匹配则执行default语句。
switch语句通常用于多分支的情况下进行选择操作。
题目3请简述数组的定义和使用方法。
答:数组是一种存储多个同类型数据的数据结构。
数组的定义方式为:类型名数组名[元素个数] = {元素1.元素2.}。
其中,元素个数可以省略,但初始化时必须指定元素个数或者用{}进行初始化。
数组的使用方法为通过下标访问数组元素,下标从0开始,即数组名[0]表示第一个元素。
可以使用循环结构对数组进行遍历和操作。
C语言中,变量名可以以数字开头。
选择一项:错对错题目29在C语言中,可以使用“++”运算符对一个常量进行自增运算。
选择一项:错对错题目30在C语言中,可以使用“&”运算符获取一个变量的地址。
选择一项:对对错改写后的文章:第一部分:阅读理解(共40分,每小题2分)1.C语言中,下列哪个不是C语言的关键字?A.whileB.intC.doubleD.else答案:C2.下列哪个不是C语言的数据类型?A.charB.stringC.intD.float答案:B3.下列哪个符号不是C语言中的运算符?A.+B.-C.%D.&答案:C4.下列哪个不是C语言中的流程控制语句?A.whileB.switchC.XXXD.try答案:D第二部分:文章改错(共40分,每小题2分)已删除明显有问题的段落,剩下的段落已进行小幅度改写)C语言中,关键字是指在C语言中具有特定含义和作用的单词。
电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析
第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d ",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d ",n);}printf("\n");}7. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5);}8. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,s;for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue;printf("%d ",i);s+=i;}printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
C语言课程习题
一、C语言程序设计(1)1.以下不能定义为用户标识符的是()。
A. ScanfB. voidC. _3com_D. int2.以下选项中可作为C语言合法整数的是()。
A. 10110BB. 0386C. 0XffaD. x2a23.十进制数127转换成二进制数是()。
A. 11111111B. 01111111C. 10000000D. 11111110【作业1】取一个整数a从右端开始的4~7位,并把值打印到屏幕。
【作业2】在程序中声明若干个整数变量、浮点数,并将它们以二进制,十进制的格式打印在屏幕上。
二、C语言程序设计(2)1.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。
A. 3.500000B. 3C. 2.000000D. 3.0000002.以下合法的赋值语句是()。
A. x=y=100B. d--;C. x+y;D. c=int(a+b);3.设正x、y均为整型变量,且x=10 y=3,则以下哪个是语句的输出结果?(d )pprintf("%d,%d\n",x--,--y);A. 10,3B. 9.3C. 9.2D.10.2【作业1】根据某个抛物线的点的x值计算y值参考公式:y=x2+2x+1【作业2】a是一个浮点数,它可能取任意值,书写表达式,求X,如果A在0~10范围内,结果X的值就为A,如果A>10,X取10,如果A<0,X就取0。
三、流程控制语句1.选择题(单选题)1.在下面的语句中,不属于循环语句的是()A.if语句B.while语句C.do-while语句D.for语句2.执行下面的程序片段,变量a的值为()int a=3 ; if(a=5) a=4;A.3 B.4C.5 D.出现编译错误2.关于for语句,以下说法正确的是()for(表达式1;表达式2;表达式3)A.表达式1不能省略B.表达式2不能省略C.表达式3不能省略D.所有表达式都可以省略【作业1】计算1到100内所有偶数的和思路分析:偶数即能够被2整除的数,利用循环语句,进行相加【作业2】使用循环语句打印“*”组成一个菱形思路分析:可以用一个等差数列来计算每一行的“*”的数量四、数组1.选择题(单选题)1.以下定义语句中,错误的是()A.int a[]={1,2}; B.char a[3];C.char s[10]="test"; D.int n=5,a[n];2.以下数组定义中不正确的是()。
程序设计(C)作业二(有答案)
第2次作业指南1. 在C 语言中,复合语句要用一对()括起来。
A. 方括号B. 圆括号C. 大括号D. 尖括号[提示]参考讲稿3.1.1-42. C 语言中,下面哪项是不合法的标识符?()A. userB. switchC. _345D. Abc[提示]参考讲稿2.1.13. 以下说法中正确的是()A. C 语言比其他语言高级B. C 语言不用编译就能被计算机执行C. C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C 语言出现的最晚,具有其他语言的一切优点[提示]这个留给自己发挥吧,你觉得不用翻书考证就能看出来的就是答案啦4. 若变量x、y 已正确定义并赋值,以下符合C 语言语法规则的语句是()A. ++x, y = x--;B. x + 1 = y;C. x = x + 10 = x + y;D. double(x)/10[提示]自己编个小程序,包含上述语句,然后编译一下,编译器报错的地方就是不对的。
以后涉及程序、程序段、语句、表达式的题目都可以这样做。
5. 下列程序的输出结果为()void main(){int x, y, z;x = y = 1;z = x++, y++, ++y;printf(“%d, %d, %d\n”, x, y, z);}A.2, 3, 3B. 2, 3, 2C. 2, 3, 1D. 2, 2, 1[提示]这个不用提示吧,上机运行一下就知道了。
程序设计课要动手,干看是学不会的哟。
6. 数值029 是一个()A. 八进制数B. 十六进制C. 十进制D. 非法数[提示]参考讲稿2.2.27. 逻辑运算符两侧运算对象的数据类型()A. 只能是0 或1B. 只能是0 或非0 正数C. 可以是整型或字符型数据D. 可以是任何类型的数据[提示]自己编个小程序,写几个逻辑表达式,将C语言中所有的数据类型都放到逻辑表达式中试一试。
8. 对于int a, 表达式1 <= a <= 5 的值是()A. 0B. 1C. 不定D. 表达式语法有误[提示]自己编个小程序,……9. 执行下列语句段后x 的值为()int a = 14, b = 15, x;char c = …A‟;x = (a && b) && (c < …a‟)A.TRUEB. FALSEC. 0D. 1[提示]自己编个小程序,包含上述程序段,然后在debug中观察一下x的值。
吉大《C语言程序设计》在线作业二
C. q没有指向具体的存储单元,所以*q没有实际意义
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
答案:D
满分:4分得分:4
5.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A. k%11
B. k
C. k/11==0
D. k==0
答案:B
满分:4分得分:4
7.在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
A. 错误
B. 正确
答案:A
满分:4分得分:4
7.使用getchar函数可以不添加#include <stdio.h>命令。( )
A. 错误
B. 正确
答案:A
满分:4分得分:4
8.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
答案:ACD
满分:4分得分:4
三、判断题(共10道试题,共40分。)得分:40
1.switch语句中,各个case和default的出现次序不影响执行结果。( )
优课在线 - C程序设计(深圳大学继续教育学院引进课程)- 作业二答案
一、单选题(共 84.00 分)作业二[ 提交时间:2018-05-02 00:05:55 ]得分:90.00 分试卷结构满分:100 分一、单选题 (共28题,84.00分)12345678910111213141516171819202122232425262728二、多选题 (共4题,16.00分)1234■绿色表示答对题目■橙色表示答错题目■灰色表示主观/未完成题目/未批改1.A.B.C.D.若有定义int a[10],*p ;则不能使p 指向数组元素a[5]的赋值语句是_____。
p = a+5;p = &a[5];p = *(a+5)p = a; p+=5;满分:3.00得分:3.00你的答案:C 正确答案:C 教师评语:--2.A.B.C.D.下列不正确的变量定义方法是_____。
int a ;b=a;float a,b=12.34;int a=1,b=a+1;int a=5;满分:3.00得分:3.00你的答案:A 正确答案:A 教师评语:--3.A.B.C.D.下面程序段的运行 结果是_____。
char a[] = "language",*p;p = a;while(*p != 'u') { printf("%c",*p-32); p++;}LANGUAGE language LANG langUAGE 满分:3.00得分:3.00你的答案:C 正确答案:C 教师评语:--4.A.B.C.D.对于条件表达式 (k) ? (i++) : (i--)来说,其中的表达式k 等价于_____。
k==0 k==1k!=0k!=1满分:3.00得分:3.00你的答案:C 正确答案:C 教师评语:--5.A.B.C.D.当a = 1, b = 3, c = 5, d = 4时,执行完下面一段程序后x 的值是_____。
if ( a < b) if(c < d) x = 1; else if (a < c)if(b < d) x = 2; else x = 3; else x = 6;else x = 7;1236满分:3.00得分:3.00你的答案:B 正确答案:B 教师评语:--6.A.B.C.D. 如果循环次数在执行循环体之前已确定,一般用(1)循环;如果循环次数是由循环体的执行情况确定的,一般用(2)循环和(3)循环 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1. 在下面的一维数组定义中,(C)语句有语法错误。
A.int a[]={1,2,3}; B.int a[10]={0}; C.int a[]; D.int a[5];n2.在下面的二维数组定义中,(C)语句是正确的。
A.int a[5][]; B.int a[][5]; C.int a[][3]={{1,3,5},{2}}; D.int a[](10)3.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(C)。
A.2 B.4 C.6 D.84.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。
A.0 B.4 C.8 D.65.将两个字符串连接起来组成一个字符串时,选用(C)函数。
A.strlen() B.strcap() C.strcat() D.strcmp()二、填空题1.假定一维数组的定义为“char * a[8];”,则该数组所含元素的个数为___8_______。
2.假定一维数组的定义为“char * a[8];”,则该数组所占存储空间的字节数为___32______。
3.假定二维数组的定义为“int a[3][5]”,则该数组所占存储空间的字节数为___60______。
4.假定二维数组的定义为“char a[M][N];”,则该数组所所含元素的个数为__M*N_____。
5.假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在__0~M-1___之间。
6.假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在__0~N-1___之间。
7.使用“typedef char BB[10][50];”语句定义__BB______为含有10行50列的二维字符数组类型。
8.存储字符’a’需要占用存储器的_1_____个字节空间。
9.空字符串的长度为__0_______。
10.存储一个空字符串需要占用__1___个字节。
11.字符串”a:\\xxk\\数据”的长度为___11______。
12.用于存储一个长度为n的字符串的字符数组的长度至少为__n+1______。
13.strcmp函数用于进行两个字符串之间的___大小比较___。
14.Strcpy函数用于把一个字符串___复制到___另一个字符数组空间中。
15.一个二维字符数组a[10][20]能够存储__ 10___个字符串。
16.一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为___19___.三、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int a[10]={12,39,26,41,55,63,72,40,83,95};int i,i1=0,i2=0;for(i=0;i<10;i++)if(a[i]%2==1)i1++;else i2++;printf("%d %d\n",i1,i2);}输出结果为:6 4Press any key to continue2. #include<stdio.h>#include<string.h>void main(){int i;char *a[5]={"student","worker","cadre","soldier","peasant"};char *p1,*p2;p1=p2=a[0];for(i=0;i<5;i++){if(strcmp(a[i],p1)>0)p1=a[i];if(strcmp(a[i],p2)<0)p2=a[i];}printf("%s %s\n",p1,p2);}输出结果为:worker cadrePress any key to continue3. #include<stdio.h>int a[10]={4,5,6,15,20,13,12,7,8,9};void main(){int i,s0,s1,s2;s0=s1=s2=0;for(i=0;i<10;i++){switch(a[i]%3){case 0:s0+=a[i];break;case 1:s1+=a[i];break;case 2:s2+=a[i];break;}}printf("%d %d %d\n",s0,s1,s2);}输出结果为:42 24 33Press any key to continue4. #include<stdio.h>void main(){char a[]="abcdbfbgacd";int i1=0,i2=0,i=0;while(a[i]){if(a[i]=='a')i1++;if(a[i]=='b')i2++;i++;}printf("%d %d %d\n",i1,i2,i);}输出结果为:2 3 11Press any key to continue5. #include<stdio.h>void main(){int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};int m=a[0][0];int ii=0,jj=0;int i,j;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>m){m=a[i][j];ii=i;jj=j;} printf("%d %d %d\n",ii,jj,a[ii][jj]);}输出结果为:2 1 12Press any key to continue6. #include<stdio.h>void main(){int a,b;for(a=1,b=2;b<50;){printf("%d %d ",a,b);a=a+b;b=a+b;}printf("\n");}输出结果为:1 2 3 5 8 13 21 34Press any key to continue四、写出下列每个函数的功能1. #include<stdio.h>int SA(int a,int b){if(a>b)return 1;else if(a==b)return 0;else return -1;}函数功能为:根据实参a大于、等于或小于实参b,返回1,0或-12. #include<stdio.h>int SC(int a,int b,int c){if(a>=b && a>=c)return a;if(b>=a && b>=c)return b;return c;}函数功能为:返回实参a、b、c中的最大数3.double SF(double x,int n){ //n为大于等于0的整数double p=1,s=1;for(i=1;i<=n;i++){p*=x;s+=p/(i+1);}return s;}函数功能为:计算x+x2/2+x3/3+……+xn/(n+1)的值4. #include<math.h>int SC(int x){int a=(int)sqrt(x);int i=2;while(i<=a){if(x%i==0)break;i++;}if(i<=0)return 0;else return 1;}函数功能为:判断一个整数是否是素数5. #include<stdio.h>void trans(int x){char a[10];int i=0,rem;do{rem=x%16;x=x/16;if(rem<10)a[i]=48+rem;//'0'字符的ASCII码为48else a[i]=65+rem; //'A'字符的ASCII码为55i++;}while(x!=0);while(i>0)printf("%c",a[--i]);printf("\n");}函数功能为:将一个整数化成十六进制数五、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
#include<stdio.h>void fun4(char* a,int b[]){do{if(*a>='0' && *a<='9')b[*a-48]++;}while(*a++);}/*void main(){char * a="122333444499888";int b[10]={0};fun4(a,b);for(int i=0;i<10;i++)printf("%d ",b[i]);}*/2. 编写一个函数,函数头格式为“double Mean(double a[M][N] , int m , int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程是采用变量v存放平均值。
#include<stdio.h>const int M=2,N=3;double Mean(double a[M][N], int m,int n ){double v=0;for(int i=0;i<m;i++)for(int j=0;j<n;j++)v+=a[i][j];return v/(m*n);}/*void main(){double a[2][3]={1,2,3,4,5,6};printf("%lf\n",Mean(a,2,3));}*/3. 编写一个递归函数“int FF(int a[] , int n)”,求出数组a中所有元素n个元素之积并返回。
#include<stdio.h>int FF(int a[] , int n){int mul=1;if(n==1)mul*=a[0];else mul=a[n-1]*FF(a,n-1);return mul;}/*void main(){int a[6]={1,2,3,4,5,6};printf("%d\n",FF(a,6));}*/4. 编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+1/n>5的最小n 值。