C语言程序设计》(苏小红) 课后习题答案 高等教育出版社
- 格式:doc
- 大小:70.50 KB
- 文档页数:5
main()">
c语言程序设计课后习题答案C语言程序设计课后习题答案C语言是一门广泛应用于计算机科学和软件开发领域的编程语言。
学习C语言的过程中,课后习题是非常重要的一部分,通过解答习题可以加深对所学知识的理解和掌握。
本文将为大家提供一些C语言程序设计课后习题的答案,希望能对大家的学习有所帮助。
1. 编写一个程序,输入一个整数,判断该整数是否为奇数。
答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该整数是偶数\n");} else {printf("该整数是奇数\n");}return 0;}```2. 编写一个程序,输入一个字符,判断该字符是否为字母。
答案:```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) { printf("该字符是字母\n");} else {printf("该字符不是字母\n");}return 0;}```3. 编写一个程序,输入一个年份,判断该年份是否为闰年。
答案:```c#include <stdio.h>int main() {int year;printf("请输入一个年份:");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {printf("该年份是闰年\n");} else {printf("该年份不是闰年\n");}return 0;}```4. 编写一个程序,输入一个正整数,计算并输出该正整数的阶乘。
2.2 #include<stdio.h>main(){float x=2.5,y=2.5,z=2.5;printf("x=%f\n",x);printf("y=%f\n",y);printf("z=%f\n",z);}3.1(1) #include<stdio.h>main(){int a=12,b=3;float x=18.5,y=4.6;printf("%d\n",(float)(a*b)/2);printf("%d\n",(int)x%(int)y);}3.2 #include<stdio.h>main(){int x,b0,b1,b2,s;printf("Inputx:");scanf("%d",&x);b2=x/100;b1=(x-b2*100)/10;b0=x%10;s=b0*100+b1*10+b2;printf("s=%d\n",s);}3.3 #include<stdio.h>#include<math.h>main(){float rate=0.0225;float n,capital,deposit;printf("Input n,capital:"); scanf("%f,%f",&n,&capital); deposit=capital*pow(1+rate,n); printf("deposit=%f\n",deposit); }3.4 #include<stdio.h>#include<math.h>main(){float a,b,c;double x,y;printf("Inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);x=(-b+sqrt(b*b-4*a*c))/(2*a);y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y);}4.1(1) #include<stdio.h>main(){char c1='a',c2='b',c3='c'; printf("a%cb%cc%c\n",c1,c2,c3); }4.1(2) #include<stdio.h>main(){int a=12,b=15;printf("a=%d%%,b=%d%%\n",a,b); }4.1(3) #include<stdio.h>main(){int a,b;scanf("%2d%*2s%2d",&a,&b); printf("%d,%d\n",a,b);}4.2 #include<stdio.h> main(){long a,b;float x,y;scanf("%d,%d\n",&a,&b); scanf("%f,%f\n",&x,&y); printf("a=%d,b=%d\n",a,b); printf("x=%f,b=%f\n",x,y); }5.1 #include<stdio.h> main(){float a;printf("Innputa:");scanf("%f",&a);if(a>=0){a=a;printf("a=%f\n",a);}else{a=-a;printf("a=%f\n",a);}}5.2 #include<stdio.h> main(){int a;printf("Inputa:"); scanf("%d",&a);if(a%2==0){printf("a是偶数");}else{printf("a是奇数");}}5.3 #include<stdio.h>#include<math.h>main(){float a,b,c,s,area;printf("Inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){s=(a+b+c)/2;area=(float)sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%f\n",area);}else{printf("不是三角形");}}5.4 #include<stdio.h>#include<math.h>main(){float a,b,c,x,y;printf("Inputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);if(a==0){printf("该方程不是一元二次方程\n"); }if(b*b-4*a*c>0){x=(-b+sqrt(b*b-4*a*c))/(2*a);y=(-b-sqrt(b*b-4*a*c))/(2*a); printf("x=%f,y=%f\n",x,y);}else if(b*b-4*a*c==0){x=-b/(2*a);y=-b/(2*a);printf("x=%f,y=%f\n",x,y);}else{printf("该方程无实根\n");}}5.5 #include<stdio.h>main(){int year,flag;printf("Input a year:");scanf("%d",&year);if(year%4==0&&year%400!=0||year%400==0) {flag=1;}else{flag=0;}if(flag==1){printf("%d is a leap year !\n",year);}else{printf("%d is not a leap year !\n",year);}}5.6 #include<stdio.h>main(){int year,flag;printf("Input a year:");scanf("%d",&year);flag=year%400==0||year%4==0&&year%100!=0?1:0; if(flag==1&&flag!=0){printf("%d is a leap year !\n",year);}else{printf("%d is not a leap year !\n",year);}}5.7 #include<stdio.h>main(){char ch;printf("Inputch:");scanf("%c",&ch);if(ch>='a'&&ch<='z'){ch=getchar();ch=ch-32;printf("%c,%d\n",ch,ch);}else if(ch>='A'&&ch<='Z') {ch=getchar();ch=ch+32;printf("%c,%d\n",ch,ch);}else{printf("%c",ch);}}5.8 #include<stdio.h>main(){char ch;printf("Inputch:");scanf("%c",&ch);if(ch>=48&&ch<=57){printf("ch是数字字符\n");}else if(ch>=65&&ch<=90) {printf("ch是大写字母\n");}else if(ch>=97&&ch<=122) {printf("ch是小写字母\n");}else if(ch==32){printf("ch是空格\n");}else{printf("ch是其他字符\n");}}5.9 #include<stdio.h>main(){int score,grade;printf("Input score:");scanf("%d",&score);grade=score/10;if(score<0||score>100){printf("Input error\n");}if(score>=90&&score<=100) {printf("%d--A\n",score);}else if(score>=80&&score<90) {printf("%d--B\n",score);}else if(score>=70&&score<80){printf("%d--C\n",score);}else if(score>=60&&score<70){printf("%d--D\n",score);}else if(score>=0&&score<60){printf("%d- -E\n",score);}}5.10 #include<stdio.h>main(){int year,month;printf("Input year,month:");scanf("%d,%d",&year,&month); if(month>12||month<=0){printf("error month\n");}else{switch(year,month){case 12:case 10:case 8:case 7:case 5:case 3:case 1:printf("31天\n");break;case 11:case 9:case 6:case 4:printf("30天\n");break;case 2:if(year%4==0&&year!=0||year%400==0) {printf("29天\n");}else{printf("28天\n");}break;default:printf("Input error\n");}}}6.1(1) #include<stdio.h>main(){int i,j,k;char space=' ';for(i=1;i<=4;i++){for(j=1;j<=i;j++){printf("%c",space);}for(k=1;k<=6;k++){printf("*");}printf("\n");}}6.1(2) #include<stdio.h> main(){int k=4,n;for(n=0;n<k;n++){if(n%2==0) continue;k--;}printf("k=%d\n,n=%d\n",k,n); }6.1(3) #include<stdio.h> main(){int k=4,n;for(n=0;n<k;n++){if(n%2==0) break;k--;}printf("k=%d,n=%d\n",k,n); }6.2(1) #include<stdio.h> main(){int i,sum=0;for(i=1;i<=101;i++){sum=sum+i;}printf("sum=%d\n",sum);}6.2(2) #include<stdio.h>main(){long i;long term,sum=0;for(i=1;i<=101;i=i+2){term=i*(i+1)*(i+2);sum=sum+term;}printf("sum=%ld\n",sum);}6.2(4) #include<stdio.h>#include<math.h>main(){int n=1;float term=1.0,sign=1,sum=0; while(term<=-1e-4||term>=1e-4) {term=1.0/sign;sum=sum+term;sign=sign+n;n++;}printf("sum=%f\n",sum);}6.2(5) #include<stdio.h> #include<math.h>main(){int n=1,count=1;float x;double sum,term;printf("Input x:");scanf("%f",&x);sum=x;term=x;do{term=-term*x*x/((n+1)*(n+2)); sum=sum+term;n=n+2;count++;}while(fabs(term)>=1e-5);printf("sin(x)=%f,count=%d\n",sum,count); }6.3 #include<stdio.h>main(){int x=1,find=0;while(!find){if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0) {printf("x=%d\n",x);find=1;x++;}}}/*int x,find=0;for (x=1;!find;x++){if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0) {printf("x=%d\n",x);find=1;}}}*/6.4 #include<stdio.h>main(){int i,n;long p=1,m=1;printf("Input n:");scanf("%d",&n);for(i=1;i<=n;i++){p=i*i;m=i*i*i;printf("p=%d,m=%d\n",i,p,i,m); }}6.5 #include<stdio.h>main(){float c,f;for(c=-40;c<=110;c=c+10) {f=9/5*c+32;printf("f=%f\n",f);}}6.6 #include<stdio.h> #include<math.h>main(){int n;double c=0.01875,x;do{x=x*pow(1+c,12)-1000;n++;}while(x>0);printf("x=%d\n",x);}6.7 #include<stdio.h> main(){int n=0;float a=100.0,c;printf("Inputc:");scanf("%f",&c);do{a=a*(1+c);n++;}while(a<=200);printf("n=%d\n",n);}6.8 #include<stdio.h>#include<math.h>main(){int n=1,count=1;double sum=1,term=1;while(fabs(term)>=1e-5){term=pow(-1,count)*(1.0/(n+2)); sum=sum+term;n=n+2;count++;}sum=4*sum;printf("sum=%f,count=%d\n",sum,count); }6.9 #include<stdio.h>#include<math.h>main(){int n=1,count=1;double sum=1,term=1;while(fabs(term)>=1e-5){term=term*(1.0/n);sum=sum+term;n++;count++;}printf("sum=%f,count=%d\n",sum,count); }6.10 #include<stdio.h>#include<math.h>main(){int x;for(x=100;x<=999;x++){if(x==pow(x/100,3)+pow(x/10%10,3)+pow(x%10,3)) printf("x=%d\n",x);}}6.11 #include<stdio.h>main(){int i=0,n;long sum=0,term=1;printf("Inputn:");scanf("%d",&n);do{i++;term=term*i;sum=sum+term;}while(sum<n);printf("%d\n",i-1);6.12 #include<stdio.h>main(){int i,n,m,count=0,sum=0;printf("Input n:");scanf("%d",&n);for(i=1;i<=n;i++){printf("Inputm:");scanf("%d",&m);if(m>0){sum=sum+m;count++;}else{break;}printf("sum=%d,count=%d\n",sum,count); }6.13 #include<stdio.h>main(){int i,n,m,count=0,sum=0;printf("Inputn:");scanf("%d",&n);for(i=1;i<=n;i++){printf("Inputm:");scanf("%d",&m);if(m>0||m<0){sum=sum+m;count++;}else{break;}printf("sum=%d,count=%d\n",sum,count); }6.14 #include<stdio.h>main(){int x,y,z;for(x=0;x<=17;x++){for(y=0;y<=25;y++){3*x+2*y+z==50;z=30-x-y;if(3*x+2*y+z==50&&x+y+z==30) printf("x=%d,y=%d,z=%d\n",x,y,z); }}}6.15 #include<stdio.h>main(){int x,y;for(x=0;x<=98;x++){y=98-x;2*x+4*y==386;if(x+y==98&&2*x+4*y==386){printf("x=%d,y=%d\n",x,y);}}}6.16 #include<stdio.h>main(){int x,y,z;for(x=0;x<=20;x++){for(y=0;y<=33;y++){3*y+5*x+z/3.0==100;z=100-x-y;if (5*x+3*y+z/3.0==100&&z+x+y==100){printf("x=%d,y=%d,z=%d\n",x,y,z); }}}}6.17 #include<stdio.h>main(){int x,y,z;for(x=1;x<=9;x++){for(y=1;y<=17;y++){10*x+5*y+z==100;z=50-x-y;if(10*x+5*y+z==100&&x+y+z==50&&z>0) {printf("x=%d,y=%d,z=%d\n",x,y,z); }}}}7.1 #include<stdio.h>int Square(int i)return i*i;}int main(){int i=0;i=Square(i);for( ;i<3;i++){static int i=1;i+=Square(i);printf("%d,",i);}printf("%d\n",i); return 0;}7.2 #include<stdio.h> int hour,minute,second; void update(){second++;if(second==60)second=0;minute++;}if(minute==60){minute=0;hour++;}if(hour==24)hour=0;}void display(){printf("%d,%d,%d\n",hour,minute,second); }void delay(){int t;for(t=0;t<100000000;t++);}int main()int i;void updaye(),display(),delay(); for(i=0;i<1000000;i++){update();display();delay();}return 0;}7.3 #include<stdio.h>int GetMax(int a,int b);int main(){int x,y,max;printf("Inputx,y:");scanf("%d,%d",&x,&y);max=GetMax(x,y);printf("max=%d\n",max);return 0;}int GetMax(int m,int n) {if(m>=n)return m;elsereturn n;}7.4 #include<stdio.h> int LCM(int n,int m);int main(){int a,b;printf("Inputa,b:"); scanf("%d,%d",&a,&b); printf("%d\n",LCM(a,b)); return 0;}int LCM(int n,int m){int x;int find=0;for(x=1;!find;x++)if(x%n==0&&x%m==0){find=1;}}return x-1;}7.5 #include<stdio.h>long Fact(int n);int main(){int m,a;printf("Inputm:");scanf("%d",&m);for(a=1;a<=m;a++){printf("%d!=%ld\n",a,Fact(a)); }return 0;}long Fact(int n)int i;long result=1;for(i=2;i<=n;i++)result*=i;return result;}7.6 #include<stdio.h> long Fact(int n);int main(){int m;long ret;printf("Inputm:"); scanf("%d",&m);ret=Fact(m);printf("ret=%d\n",ret); return 0;}long Fact(int n){int i;long result=1,sum=0;for(i=2;i<=n;i++){result*=i;sum=sum+result;}return sum;}7.7(1) #include<stdio.h> int Gcd(int a,int b);int main(){int m,n;printf("Inputm,n:"); scanf("%d,%d",&m,&n); printf("%d\n",Gcd(m,n)); return 0;}int Gcd(int a,int b){int t,min,find=0;min=a<b?a:b;t=min;for(t=min;!find;t--){a%t==0;b%t==0;if(a%t==0&&b%t==0)return t;}find=1;}7.7(2) #include<stdio.h> int Gcd(int a,int b);int main(){int m,n;printf("Inputm,n:");scanf("%d,%d",&m,&n); printf("%d\n",Gcd(m,n)); return 0;}int Gcd(int a,int b){int r,temp;r=a%b;if(r==0)return b;elsedo{temp=b;b=r;a=temp;r=a%b;}while(r!=0);return b;}8.1(1) #include<stdio.h> void Func(int x){x=2;}int main(){int x=10;Func(x);printf("%d",x);return 0;}8.1(2) #include<stdio.h> void Func(int b[]){int j;for(j=0;j<4;j++){b[j]=j;}}int main(){static int a[]={5,6,7,8},i; Func(a);for(i=0;i<4;i++){printf("%d",a[i]);}return 0;}8.2(1) int PositiveNum(int a[],int n) {int i,count=0;for(i=0;i<n;i++){if(a[i]>0)count++;}return 0;}8.2(2) void Fib(long f[],long n){int i;f[0]=0;f[1]=1;for(i=2;i<n;i++){f[i]=f[i-1]+f[i-2];}}8.2(3) #include<stdio.h>int main(){int a[10],n,max,min,maxPos,minPos;for(n=0;n<10;n++){scanf("%d",&a[n]);}max=min=a[0];maxPos=minPos=0;for(n=0;n<10;n++){if(a[n]>max){max=a[n];maxPos=n;}else if(a[n]<min){min=a[n];minPos=n;}}printf("max=%d,pos=%d\n",max,maxPos); printf("min=%d,pos=%d\n",min,minPos);}8.3 void DivArray(int *pArray,int n){int i;for(i=0;i<n;i++){pArray[i]/=pAttay[0];}}8.4 #include<stdio.h>#define N 40int FailNum(int score[],int n);void ReadScore(int score[],int n);int main(){int score[N],n;printf("Input n:");scanf("%d",&n);ReadScore(score,n);FailNum(score,n);printf("FailNum students are %d\n",FailNum(score,n));}int FailNum(int score[],int n){int i,count=0;for(i=0;i<n;i++){if(score[i]<60)count++;}return count;}void ReadScore(int score[],int n) {int i;printf("Input score:");for(i=0;i<n;i++){scanf("%d",&score[i]);}}8.5 #include<stdio.h>#define N 40int HighAver(int score[],int n);int ReadScore(int score[]);int main(){int score[N],n;n=ReadScore(score);printf("HighAver students are %d\n",HighAver(score,n));return 0;}int HighAver(int score[],int n){int i,count=0,sum=0,aver;for(i=0;i<n;i++){sum=sum+score[i];aver=sum/n;}for(i=0;i<n;i++){if(score[i]>aver)count++;}return count;}int ReadScore(int score[]){int i=-1;do{i++;printf("Input score:");scanf("%d",&score[i]);}while(score[i]>=0);return i;}8.6 #include<stdio.h>#define N 40int ReadScore(int score[],long num[]);int FindMax(int score[],long num[],int n); int main(){int score[N],n,max,num,t;long num[N];t=FindMax(score,n);max=score[t];num=num[t];printf("max=%d,num=%d\n",max,num);return 0;}int ReadScore(int score[],long num[]){int i=-1;do{i++;printf("Input student's ID and score:"); scanf("%ld%d",&num[i],&score[i]);}while(num[i]>0&&score[i]>=0);return i;}int FindMax(int score[],long num[],int n) {int max,i;max=score[0];for(i=1;i<n;i++){if(score[i]>max)max=score[i];}return i;}8.7 #include<stdio.h>#define N 40int Read(int a[]);int ChangeArry(int a[],int n); int main(){int a[N],n;printf("%d\n",ChangeArry(a,n)); return 0;}int Read(int a[]){int i;for(i=0;i<9;i++){printf("Input a:");scanf("%d",&a[i]);return i;}int ChangeArry(int a[],int n){int max,min,i,maxpos,minpos,term; max=min=score[0];for(i=1;i<n;i++){if(a[i]>max)max=score[i];maxpos=n;else(a[i]<min)min=a[i];minpos=n;temp=maxpos;maxpos=minpos;minpos=temp;}return a[i];}8.10 #include<stdio.h>#define N 5void main(){int a[N][N];int sum = 0;int i, j;printf("请输入一个%d*%d的矩阵\n",N,N); for(i = 0; i < N; i++){for(j = 0; j < N; j++){scanf("%d",&a[i][j]);}}for(i = 0; i < N; i++){for(j = 0; j < N; j++){if(i == j || i + j == N - 1)sum=sum+a[i][j];}}printf("对角线元素之和为:%d\n",sum);。
c语⾔程序设计第三版苏⼩红_C语⾔学习⽇志(三)参考资料:C语⾔程序设计(第三版)练习⽹站:PTA第三章:分⽀结构任何程序都可以使⽤三种基本的控制结构来实现,即顺序结构,分⽀结构和循环结构。
⼆分⽀结构与多分⽀结构(if型)例3-1//简单的猜数游戏3-2://判断整数的奇偶性例3-3//输⼊⼀批学⽣的成绩,计算平均分,并统计不及格的学⽣⼈数例3-4//计算多分段函数以上是多种分⽀结构在实际程序中的使⽤。
字符型数据及其输⼊与输出3-5://求解简单的四则运算表达式1:字符型常量每个字符都有唯⼀的次序之,即ASCII码2:字符型变量字符型变量在定义时⽤类型名char,例如:char = op;定义了⼀个字符型变量op,它的值是字符型数据。
op='+'将字符型常量‘+’赋给字符型变量op。
3:字符型数据的输⼊与输出字符型数据的输⼊输出可以调⽤函数scanf(),printf(),getchar(),putchar().注:在上述函数调⽤的过程中,格式控制字符串中相应的格式控制说明为%cgetchar()可以从键盘输⼊⼀个字符,putchar()可以从键盘输出⼀个字符逻辑运算C语⾔提供了三种逻辑运算符:单⽬:! 逻辑⾮双⽬:&& 逻辑与 和 || 逻辑或!a:如果a为真,则结果为假;如果a为假,则结果为真。
a&&b:当a和b都为真时,结果为真;否则结果为假。
a||b:当a和b都为假时,结果为假;否则结果为真。
例3-6://统计字符,包括英⽂字母,数字字符和其他字符switch语句3-8://查询⾃动售货机中商品的价格switch语句可以处理多分⽀选择问题,根据其中break语句的使⽤⽅法,⼀般分为三种情况1:在switch语句的每个语句段中都使⽤break语句switch注:switch语句中的default可以省略,如果省略了default,当表达式的值与任何⼀个常量表达式的值都不相等时,就什么都不执⾏。
第1章(P18)一.单项选择题1.B2.B3.B4.C5.A6.C7.D8.C二. 填空题1. main2. 反斜杠3. 常量、变量、运算符、函数调用、表达式、保留字4. 一 , main , main5. 326. 由字母或下划线开头的字母、数字、下划线组成的一串符号第2章(P39)一.选择题1. D2.B3.B4.B5.D6.A7.B8.D9.A 10.B 11.C 12.C 13.B 14.B15.A 16.D二.填空题1. 控制代码、ASCII码字符集中的任意字符、特殊字符、换行符、Tab符号、左退一格符号、换页符号、响玲符号2. 其值可以发生变化的量 , 变量名 , 变量值 , 存储单元 , short int , -32768~32767 ,long int , -231~(231-1) , unsigned short , 0~65535 , unsigned long , 0~(232-1)3. 自增、自减 , 加和减 , +、-、×、/、% , 自增、自减4. 不同类型混合运算时,由编译系统自动完成5. (1)7 (2)6 (3)7 (4)1 (5)10 (6)0 (7)1 (8)0 (9)0 (10)0三. 运行程序题1. 27.0000002.13.700000第3章(P55)一.选择题1.A2.A3.C4.B5.C6.B二. 填空题1. 回车 , 输入的字符 , 从标准设备(键盘)读入一个字符2. 按用户指定的格式从键盘上把数据输入到指定的变量中 , 格式字符串开头标志 , 控制输入数据的格式 , 输入八进制整数 , 输入单个字符 , 输入字符串3. 一个字符 , #include<stdio.h>4. 按用户指定的格式 , 把指定的数据输出到屏幕上显示 , 格式字符串开头的标志 , 指定输出格式 , 以八进制形式输出无符号整数 , 以小数形式输出单、双精度数 , 输出单个字符 , 输出字符串 , 以%f、%e中较短的宽度输出单、双精度实数.5. (1) -200 , 2500 (2)i=-200 , j=2500 (3)i=-200j=25006. 12 , 0 , 07. 分号8. 100(回车) 100(空格)25.8(空格)1.89234 100(TAB)25.8(TAB)1.8923425.81(回车)1.892349. x=127 , x= 127 , x= 177 , x= 12710. a=513.789215 , a= 513.79 , a= 153.78921500 , a= 513.78921500三. 运行程序题1. a=27; b=15; c=32. p=73. 5 105,34.73125134.73, 34.7312A,65computer, computer4. 575, 767.856400,-789.12402367.86, -789.12,67.856400,-789.124023,67.856400,-789.1240236.78564e+01, -7.9e+02A,65,101,411234567,1234567,d68765529,177771,fff9,-7COMPUTER, COM第四章(P76)一.选择题1.D2.C3.D4.C5.B6.D7.B8.A9.B 10.A 11.C 12.D 13.A 14.A 15.D 16.A 17.A 18.B 二.填空题1.结构化控制、结构、程序的性能、运行2.执行循环体一次、再判断表达式的值、判断、执行3.switch语句、循环语句、循环体三.运行程序题1.(1)0 (2)1 (3)1 (4)0 (5)12.#$#$#$&3.3667784. *************************四.完善程序题1.fabs(t)、t、-s2.=’*’、’\n’、YES第五章(P100)一.选择题1.B2.A3.B4.C5.C6.A7.B8.A9.C二.填空题1.20、0、192.数组名3.越界三.运行程序题1.3572.*************************3.18104.输出一个3×3矩阵的转置矩阵四.完善程序题1.k、-12.&a[i][j]、a[i][i]+a[i][2-i]3.ndigit[10]、ndigit[ch-‘0’]++第六章(P130)一.选择题1.D2.D3.B4.A5.D6.A7.A8.B9.B 10.A 11.B 12.D 13.A 14.A 二.填空题1.函数内部2.函数内部、局部3.return、void4.fun()、extern三.运行程序题1.122.93.10214.215.a=5,b=3a*b=15a+b=86.11101121011310114101151017.238.2226四.修改程序题1.在主函数前加上:float mul(float a,float b);把float mul(float a,b)改为float mul(float a,float b) 2.把z=fabs(x-y);改为z=abs(x-y);3.把输入的整数转换为字符串逆序输出第七章(P160)一、选择题A D D C DB D B A C二、填空题1、取内容、取地址2、3、+33、xyz、x4、1002、1004、1008、1001、10065、286、4、a[2][0]7、6、a[3]三、运行程序题1、porm2、ga3、88884、307四、完善程序题1、++i、i2、0、z第八章(P194)一、选择题D BCBCBDBC二、运行程序题1、36、40、412、133、zhao4、1,1二、填空题1、成员、用指针访问成员2、343、12、6.0000004、34、125、2、36、struct node *next7、num!=p1->info && p1->link=NULL、head=p1->link、p2->link=p1->link第九章(P209)一、选择题1-8 CC A DCDC ( 3错. 32->64)二、填空题1、72、PR(x); PR(y);三、运行程序题1、932、2 123、a=14,b=15,c=04、Hid Ted5、R=2.5 circ=15.707963 area=19.634954第10章(P219)一、B A A A DB AC A C二、1. ~ << >> & ^ |2. 0x22 0xbbbb 0x bb99 001101100 最高补0 最高补101011011 11011011三、1. 12342.15765375765四、 1. 12 <<2. 15 -1第11章一、 B C D B BC C B D二、 1. “w”“rb”“ab+”“rt”“wt+”2. 缓冲文件系统非缓冲文件系统三、完善程序题1、rewind(fp);fp2、"a+";"r";fp1四、编写程序题1、从键盘输入一个字符串(以“#”作为结束符),把文本输出到磁盘文件e.dat中。
c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的一门基础课程,通过学习该课程,我们可以掌握C语言的基本语法和编程技巧,培养我们的编程思维和解决问题的能力。
在课程学习过程中,老师会布置一些课后习题,以巩固我们的知识和提高我们的编程水平。
下面我将分享一些C语言程序设计课后习题及其答案,希望对大家有所帮助。
1. 习题一:编写一个程序,输入一个整数,判断该数是否为素数。
```c#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个整数:");scanf("%d", &num);for (i = 2; i <= num / 2; i++) {if (num % i == 0) {flag = 1;break;}}if (flag == 0)printf("%d是素数。
\n", num);elseprintf("%d不是素数。
\n", num);return 0;}```2. 习题二:编写一个程序,输入一个正整数n,计算并输出1到n之间所有偶数的和。
```c#include <stdio.h>int main() {int n, i, sum = 0;printf("请输入一个正整数:");scanf("%d", &n);for (i = 2; i <= n; i += 2) {sum += i;}printf("1到%d之间所有偶数的和为:%d\n", n, sum);return 0;}```3. 习题三:编写一个程序,输入一个正整数n,计算并输出n的阶乘。
```c#include <stdio.h>int main() {int n, i;long long factorial = 1;printf("请输入一个正整数:");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%lld\n", n, factorial);return 0;```4. 习题四:编写一个程序,输入一个正整数n,判断并输出n是否为完数。
C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息:**************************Very good!**************************解:#include<stdio.h>void main(){printf(“**************************”);printf(“\n”);printf(“Very good!\n”);printf(“\n”);printf(“**************************”);}2.编写一个C程序,输入a、b、c三个值,输出其中最大值。
解:#include<stdio.h>void main(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf(“最大数为: %d”,max);}第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。
计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。
解:#include<stdio.h>#include<math.h>void main(){double P, r=0.1, n=10;P=pow((1+r), n);printf(“%lf\n”, P);}3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。
例如,字母“A”后面第4个字母是“E”,“E”代替“A”。
因此,“China”应译为“Glmre”。
请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。
高等教育出版社出版社 C 语言实践教程习题参考答案练习题p58-59 一、选择题1~5.DBADC 6~10. AB二、填空题1./* */ 或n1=%d\nn2=%d\n 10.(1)a+b>c&&a+c>b&&b+c>a(2)ch>='a'&&ch<='z'||ch>='A'&&ch<='Z' 0000 ,4练习题p76-84 一、选择题1~5.ACDCA 6~10.BADBC11~15.AACBC二、填空题1.10 2.y=1 x%i= =03.* * * * * * * * * * * * * * * ** * * * ** * **4.1 5.136.. (cx=getchar( ))!=-1 front=cx;7.m%n 8. 49.(1)*p (2)px=&x (3)py=&y三、读程序,写结果1.-12.3,1,-13.a=16,y=604.x=12,y=4 5.59四、程序设计题1.#include <> void main() {float a,b,c,min;scanf("%f,%f,%f",&a,&b,&c); min=a;if (min>b) min=b; if (min>c) min=c;printf("%f",min); }2.方法1: #include <> void main() {int a,b,c; for (a=1;a<=9;a++) for (b=0;b<=9;b++) for (c=0;c<=9;c++)if ((a*a*a+b*b*b+c*c*c)==1099) printf("%d%d%d\n",a,b,c); } 方法2: #include <> void main() {int a,b,c,sum; for (a=100;a<=999;a++) {sum=0;b=a; while(b!=0) {c=b%10; sum+=c*c*c; b=b/10;}if(sum==1099)printf("%5d",a);}}3.#include <> void main() {int i,j,k;for (i=1;i<=6;i++) {for (j=1;j<=20-3*i;j++)printf(" ");for(k=1;k<=i;k++) printf("%3d",k);for(k=i-1;k>0;k--) printf("%3d",k);printf("\n"); } }4.#include <> void main() {float x,fmax,fmin; scanf("%f",&x); fmax=fmin=x; while (x>=0) {if (x>fmax)fmax=x; elseif (x<fmin) fmin=x; scanf("%f",&x); }printf("\nmax=%f,min=%f",fmax,fmin ); }练习题p89-96 一、选择题1~5.BCCAD 6~10.CDDCD 11~15.DDABC 16~17.BBAAD 21~26.BDCDDC二、填空题1.(1)’a ’ (2)’\o ’2.(1)a[k] (2)a[k] (3)a[k] 3.6 4.A B C D E A 5.1,6 6.k=p; 7.i<j 8.18 ,some string *test 10. you&me三、读程序,写结果1.5 4 8 2 0 2.10 24 15 6 china! H w l 66 555v. Front四、程序设计题1.#include <> void main() {int i,j,a[10],k; for(i=0;i<=9;i++) scanf("%d",&a[i]); for(i=0,j=9;i<=j;i++,j--) {k=a[i];a[i]=a[j];a[j]=k;} for(i=0;i<=9;i++) printf("%d",a[i]); }2.#include <> #include <> void main(){char i,a[80]; scanf("%s",a);for(i=0;i<strlen(a);i++) if (islower(a[i])) a[i]=a[i]-32; elseif (isupper(a[i])) a[i]=a[i]+32; printf("%s",a); }3.#include <> void main() {char a[80],i; gets(a);for(i=strlen(p)-1;i>=0;i--) putchar(a[i]); }4.#include <>void main(){int a[3][6],i,j;int d,d1=0,d2=0,x,x1=0,x2=0; for(i=0;i<3;i++)for(j=0;j<6;j++){scanf("%d",&a[i][j]); if (i= =0&&j= =0) x=d=a[i][j];if (d<a[i][j) {d=a[i][j];d1=i;d2=j;}else if (x>a[i][j]) {x=a[i][j];x1=i;x2=j;}p++; }printf("d=%d,d1=%d,d2=%d\n",d,d1,d2);printf("x=5d,x1=%d,x2=%d\n",x,x1,x2); }5.#include <> void main(){int a[10],i,d,d1=0,x,x1=0; for(i=0;i<10;i++,p++) {scanf("%d",&a[i]);if (i= =0) {d=a[i];x=a[i];} if (d<a[i]) {d=a[i];d1=i;}else if (x>a[i]) {x=a[i];x1=i;} }a[d1]=a[0];a[0]=d; a[x1]=a[9];a[9]=x; for(i=9;i>=0;i--,p--) printf("%d,",*p); }练习题p106-114 一、选择题1~5.AABBB6~10.ADCAA11~15.ABBAB 16~17.BC二、填空题1.122.(1)Itis3.(1)n*fun(n-1) (2)fun(k)4.s[i]-t[i]5.(1)n%m (2)i-1 (3)x[d];6.(1)x=n; (2)n%10 (3) x7.m= f(a,4)+f(b,4)-f(a+b,3)8.a=1,b=1;三、读程序,写结果1.s=7 2.s=37四、程序设计题1.int nian(int y){if((y%4==0)&&(y%100!=0)||(y%400==0)) return 1;else return 0; }2.void fun(float a[],float b[]){int i; float s=0;b[0]=b[1]=a[0]; for(i=0;i<n;i++) {s=s+a[i];if (b[0]<a[i]) b[0=a[i];else if (b[1]>a[i]) b[1]=a[i]; }b[2]=s/n; }3.int cout(char str[],char sub[]){int i,j,k; int count=0; for(i=0;str[i];i++) for(j=i,k=0;sub[k]= =str[j];k++,j++) if(sub[k+1]=='\0') {count++; break; }return count; }4.#include ""void pp(int m){int j;if(j=m/10) pp(j);putchar(n%10+'0');}void main(){int n;scanf("%d",&n);if(n<0) {putchar('-');n=-n;}pp(n);}5.#include ""int add(int n){int r,s=0;do{r=n%10;s+=r;n=n/10;}while(n>0);return s;}void main(){int a;scanf("%d",&a);printf("%d", add(a));}6.#include <>#include ""void prime(int n){int i,f=1;for(i=2;i<=sqrt(n);i++)if(n%i= =0){f=0;break;}}void main(){int m;scanf("%d",&m);if(prime(m)) printf("%d", m); else printf("不是素数");}7.参考程序int total(char s[ ],char ch){int i=0,n=0;while(s[i])if(s[i++]==ch) n++;return(n);}#include ""void main(){char s[20],ch;gets(s);ch=getchar();printf("%d", total(s,ch));}8.void move(char *x,int n,int m) {int i,j;for(j=0;j<m;j++){char w=*(x+n-1);for(i=0;i<n-1;i++)*(x+n-1-i)=*(x+n-2-i);*x=w;}}9.void print(char *string){char *str=string;if(*str=='\0')return;while(*str)str++;putchar(*--str);*str='\0';print(string);}。
2020年C语言程序设计苏小红版第五六单元答案精编版第五章5.1#include<stdio.h>void main(){double x;printf("请输入一个实数:\n");scanf("%lf",&x);if(x>0){printf("%f\n",x);}else{printf("%f\n",-x);}}5.2#include <stdio.h>main(){int a,b;printf("请输入一个整数:");scanf("%d",&a);b=a%2;if(b==0){printf("%d为偶数\n",a);}else{printf("%d为奇数\n",a);}}5.3#include<stdio.h>#include<math.h>main(){float a,b,c,s,area;printf("请输入三边长:");scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=(float)sqrt(s*(s-a)*(s-b)*(s-c));if((a+b>c)&&(a+c>b)&&(b+c>a)){printf("这个三角形的面积为%f\n",area);}else{printf("这三条边不能组成三角形\n");}}5.4#include<stdio.h>#include<math.h>void main(){double a,b,c,d,e,x1,x2;printf("请输入a,b,c:");scanf("%lf,%lf,%lf",&a,&b,&c);if(a==0){printf("该方程不是一元二次方程.\n");else if(b*b-4*a*c>0){d=sqrt(b*b-4*a*c);x1=(-b+d)/(2*a);x2=(-b-d)/(2*a);printf("x1=%f,x2=%f\n",x1,x2);}else if(b*b-4*a*c==0){x1=(-b)/(2*a);printf("x1=x2=%f\n",x1);}else if(b*b-4*a*c<0){printf("该方程没有实数解.\n");}}5.5#include<stdio.h>main(){int year,flag;printf("输入年份:");scanf("%d",&year);if(((year%4==0)&&(year%100!==0))||(year%400==0)){flag=1;}else{flag=0;}if(flag==1){printf("%d是闰年\n",year);else{printf("%d不是闰年\n",year);}}5.6#include<stdio.h>void main(){int year,flag;printf("输入年份:");scanf("%d",&year);flag=(((year%4==0)&&(year%100!=0))||(year%400==0))?1:2; if(flag==1){printf("%d年是闰年\n",year);}else{printf("%d年不是闰年\n",year);}}5.7#include<stdio.h>main(){char ch;printf("请输入一个字母:");ch=getchar();if((ch>=65)&&(ch<=90))ch=ch+32;printf("%c,%d\n",ch,ch);}else if((ch>=97)&&(ch<=122)){ch=ch-32;printf("%c,%d\n",ch,ch);}else{printf("%c\n",ch);}}5.8#include<stdio.h>main(){char ch;printf("请输入一个字符:");ch=getchar();if((ch>=48)&&(ch<=57)){printf("这是一个数字字符.\n");}else if((ch>=65)&&(ch<=90)){printf("这是一个大写字母.\n");}else if((ch>=97)&&(ch<=122)){printf("这是一个小写字母.\n");}else if(ch==32){printf("这是一个空格字符.\n");}else{printf("这是一个其它字符.\n");}}5.9#include<stdio.h>main(){int score,mark;printf("Please enter score:");scanf("%d",&score);if(score<0||score>100){printf("Input error!\n");}else if(score>=90&&score<=100){printf("%d--A\n",score);}else if(score>=80&&score<90){printf("%d--B\n",score);}else if(score>=70&&score<80){printf("%d--C\n",score);}else if(score>=60&&score<70){printf("%d--D\n",score);}else{printf("%d--E\n",score);}}5.10#include <stdio.h>#include <stdlib.h>main(){int flag, year,month,day,day1=31,day2=30,day3=29,day4=28;printf("请以2012,03这种形式输入某年某月 :");scanf("%d,%d",&year,&month);if (month>12||month<1){printf("你输入的年份不在合法范围内\n");exit(0);}else{flag=(year%4==0 && year%100 !=0||year% 400 ==0)?1:0;switch (flag){case 1:printf("闰年");break;case 0:printf("平年");break;}if (month==2&&flag==1)day=day3;else if (month==2&&flag==0)day=day4;switch (month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("%d年,%d月拥有的天数是31. \n",year,month);break;case 4:case 6:case 9:case 11:printf("%d年,%d月拥有的天数是30. \n",year,month);break;default:printf("%d年,%d月拥有的天数是%d: \n",year,month,day);}}}本章实验题1#include<stdio.h>main(){double faheight,maheight;char sex,sports,diet,F,M,Y,N;printf("请输入父母的身高:\n");scanf("%lf,%lf",&faheight,&maheight);printf("请输入孩子是男孩还是女孩(F/M):\n");scanf(" %c",&sex);printf("请输入孩子是否喜欢锻炼身体(Y/N):\n");scanf(" %c",&sports);printf("请输入孩子是否有良好的饮食习惯(Y/N):\n");scanf(" %c",&diet);if(sex==77&&sports==89&&diet==89){printf("该孩子成人时身高约为:%.2f.\n",(faheight+maheight)*0.54*1.02*1.015);}else if(sex==77&&sports==89&&diet==78){printf("该孩子成人时身高约为:%.2f.\n",(faheight+maheight)*0.54*1.02);}else if(sex==77&&sports==78&&diet==89){printf("该孩子成人时身高约为:%.2f.\n",(faheight+maheight)*0.54*1.015);}else if(sex==77&&sports==78&&diet==78){printf("该孩子成人时身高约为:%.2f.\n",(faheight+maheight)*0.54);}else if(sex==70&&sports==89&&diet==89){printf("该孩子成人时身高约为:%.2f.\n",(faheight*0.923+maheight)/2*1.02*1.015);}else if(sex==70&&sports==89&&diet==78){printf("该孩子成人时身高约为:%.2f.\n",(faheight*0.923+maheight)/2*1.02);}else if(sex==70&&sports==78&&diet==89){printf("该孩子成人时身高约为:%.2f.\n",(faheight*0.923+maheight)/2*1.015);}else if(sex==70&&sports==78&&diet==78){printf("该孩子成人时身高约为:%.2f.\n",(faheight*0.923+maheight)/2);}}本章实验题2#include<stdio.h>main(){double t,w,h;printf("请输入体重身高:\n");scanf("%lf,%lf",&w,&h);t=w/(h*h);if(t<18){printf("低体重.\n");}if(t>=18&&t<25){printf("正常体重.\n");}if(t>=25&&t<27){printf("超重体重.\n");}if(t>=27){printf("肥胖.\n");}}第六章6.1(1)#include <stdio.h>main(){int i,j,k;char space=' ';for (i=1;i<=4;i++){for (j=1;j<=i;j++){printf("%c",space);}for (k=1;k<=6;k++){printf("*");}printf("\n");}}6.1(2)#include <stdio.h>main(){int k=4,n;for (n=0;n<k;n++){if (n%2==0) continue;k--;}printf("k=%d\n,n=%d\n",k,n); }6.1(3)#include <stdio.h>main(){int k=4,n;for (n = 0;n < k;n++){if (n%2 ==0) break;k--;}printf("k=%d,n=%d\n",k,n); }6.2(1)#include <stdio.h>main(){int i,sum = 0;for (i=1;i<=101;i=i+2){sum=sum+i;}printf("sum = %d\n",sum);}6.2(2)#include <stdio.h>main(){long i;long term,sum = 0;for (i=1;i<=99;i=i+2){term=i*(i+1)*(i+2);sum=sum+term;}printf("sum =%ld\n",sum);}6.2(3)#include <stdio.h>main(){long term=0,sum=0;int a,i,n;printf("Input a,n:");scanf("%d,%d",&a,&n);for (i = 1;i<=n;i++){term = term * 10 + a;sum=sum+term;}printf("sum = %ld\n",sum);}6.2(4)#include<stdio.h>#include<math.h>main(){int n = 1;float term = 1.0,sign = 1,sum = 0;while (fabs(term) >= 1e-4){term = sign / n;sum = sum + term;sign = -sign;n++;}printf("sum = %f\n");}6.2(5)#include<stdio.h>#include<math.h>main(){int n = 1,count = 1;float x;double sum,term;printf("Input x:");scanf("%f",&x);sum = x;term = x;do{term = -term*x*x/((n+1)*(n+2));sum = sum + term;n = n + 2;count++;}while (fabs(term)>=1e-5);printf("sin(x) = %f,coumt = %d \n",sum,count);}6.3#include<stdio.h>main(){int x=1,find=0;while (!find){if (x%2==1 && x%3==2 && x%5==4 && x%6==5 && x%7==0){find=1;}x++;}printf("x=%d\n",x-1);}6.4#include<stdio.h>main(){int i,n;long p,j;printf("Please enter n:");scanf("%d",&n);for (i=1;i<=n;i++){p=i*i;j=i*i*i;printf("%d * %d = %ld\n",i,i,p);printf("%d * %d * %d= %ld\n",i,i,i,j);}}6.5#include<stdio.h>main(){double C,F,i;for (F = -40;F <= 110;F = F + 10){C = (F-32)*5/9;printf("F=%f C=%f\n",F,C);}}6.6#include<stdio.h>main(){double p = 1 + 0.01875*12,x4,x3,x2,benjin;x4 = 1000/p;x3 = (x4 + 1000)/p;x2 = (x3 + 1000)/p;benjin = (x2 + 1000)/p;printf("本金为:%f",benjin);}6.7#include<stdio.h>main(){double count = 0,c ,d , sum = 100;printf("Input c :");scanf("%lf",&c);d = c / 100.0;do{sum = sum * (1+d);count++;}while (sum <= 200);printf("count = %f\n",count);}6.8#include<stdio.h>#include<math.h>main(){int count = 1;double sum = 1.0 ,term,n = 3.0,i = 1.0;do {term = -i/n;sum = sum + term;n = n + 2;i = -i;count++;}while (fabs(term) >= 1e-5);printf("∏ = %lf,count = %d.\n",4 * sum,count); }6.9#include <stdio.h>#include <math.h>main(){int count = 1;double sum = 1.0 , term = 1.0, n = 1.0;while (fabs(term) >= 1e-5){term = term / n;sum = sum + term;n++;count++;}printf("e = %lf,count = %d.\n",sum,count); }6.10#include <stdio.h>main(){int i , a , b , c ,d;for (i = 100 ; i <= 999 ; i++){a = i /100;c = i % 10;b = (i - a * 100 - c) / 10;d = a * a * a + b * b * b + c * c * c;if (i == d){printf("i = %d\n",i);}}}6.11#include <stdio.h>main(){long m = 2 , n ,term = 1 ,sum = 1;printf("Input n:");scanf("%ld",&n);do {term = term * m;sum = sum + term ;m++;}while(sum <= n);printf("m = %d.\n",m - 2);6.12#include <stdio.h>main(){int num = 1,sum = 0 , count = 0;while (num > 0){printf("Input num :");scanf("%d",&num);sum = sum + num ;count++;}printf ("sum = %d,count = %d.\n",sum, count - 1); }6.13#include <stdio.h>main(){int term , sum = 0 , count = 0;do {begin:printf("Input term : ");scanf ("%d",&term);if (term > 0){sum = sum + term ;count++;}else if (term < 0)goto begin;elsegoto end ;}while (term != 0);end : printf ("sum = %d. count = %d.\n",sum,count );}6.14#include <stdio.h>main()int a,b,c;for (a = 0;a < 17;a++)for (b = 0;b <= 25 ;b++){c = 30 - a - b ;if (a * 3 + b * 2 + c == 50)printf ("男 = %d,女 = %d,孩子 = %d.\n",a,b,c);}}6.15#include<stdio.h>main(){int a,b;for (a = 0; a <=98 ; a++){b = 98 - a;if (a * 2 + b * 4 == 386){printf ("鸡有%d只,免有%d只.\n",a,b);}}}6.16#include <stdio.h>main(){int x,y,z;for (x = 0;x <= 20;x++){for (y = 0;y <= 33;y++){z = 100 - x - y;if (5 * x + 3 *y + z / 3.0 == 100){printf ("x = %d,y = %d,z = %d\n",x, y, z);}}}}6.17不确定#include<stdio.h>main(){int x, y, z;for (x = 1; x < 10; x++){for (y = 1; y < 20; y++){z = 50 - x - y;if (x * 10 + y * 5 + z == 100)printf("x = %d, y = %d, z = %d\n",x ,y ,z);}}}6.18上:#include<stdio.h>main(){int i, j;for (i = 1; i <= 9; i++){for (j = 1; j <= 9; j++){printf("%-5d",i * j);}printf("\n");}}左:#include<stdio.h>main(){int i, j;for (i = 1; i <= 9; i++){for (j = 1; j <= i; j++){printf("%-5d",i * j);}printf("\n");}}右:#include <stdio.h>main(){int i, j, a = 1, k;char b = ' ';for (i = 1; i <= 9; i++){for (k = 1; k <= i; k++){printf("%5c",b);}for(j = i; j <= 9; j++){a=j * i;printf("%5d",a);}printf("\n");}}6.19#include<stdio.h>main(){long i,summo;double sumfu = 0,term = 0.01;summo = 100000 * 30;for (i = 1;i <= 30;i++){term = term * 2.0;sumfu = sumfu + term;}printf("陌生人付%ld,富翁付%lf.\n",summo,sumfu ); }本章实验题2.1#include<stdio.h>#include<stdlib.h>#include<time.h>main(){int x1, x2, c, answer;begin:srand(time(NULL));x1 = rand() % 10 + 1;x2 = rand() % 10 + 1;c = x1 * x2;do {printf ("%d * %d = \n",x1, x2);scanf("%d",&answer);if (c == answer){printf("Right !\n");goto begin;}else{printf("Wrrong !Please try again.\n");}}while(c != answer);}2.2#include<stdio.h>#include<stdlib.h>#include<time.h>main(){int x1, x2, c, answer, count = 0;begin:srand(time(NULL));x1 = rand() % 10 + 1;x2 = rand() % 10 + 1;c = x1 * x2;do {printf ("%d * %d = \n",x1, x2);scanf("%d",&answer);if (c == answer){printf("Right !\n");goto begin;}else{printf("Wrrong !Please try again.\n");count++;}}while((c != answer)&&(count <= 2));printf ("Wrong ! You have tried three times ! Test over !\n"); }2.3#include<stdio.h>#include<stdlib.h>#include<time.h>main(){int count1 = 0, count2 = 0;int x1, x2, c, answer ,i;for (i = 1;i <= 10; i++){srand(time(NULL));x1 = rand() % 10 + 1;x2 = rand() % 10 + 1;c = x1 * x2;printf ("%d * %d = \n",x1 , x2 );scanf("%d",&answer);if (c == answer){printf ("Right !\n");count1++;}else{printf ("Wrong !\n");count2++;}}printf ("你得了%d分.\n正确率为%d %%.\n",count1,count1 *10); }。
苏小红c语言程序设计苏小红是一名计算机科学专业的学生,她对C语言程序设计有着浓厚的兴趣。
C语言是一种通用的、过程式的编程语言,由丹尼斯·里奇在20世纪70年代初期开发,旨在为UNIX操作系统编写系统软件。
C语言以其高效、灵活和强大的功能而闻名,是许多现代编程语言的基础。
C语言程序设计基础苏小红首先学习了C语言的基本语法和结构。
她了解到C程序由函数组成,其中`main()`函数是程序的入口点。
程序的基本结构包括预处理指令、函数声明、变量声明和函数体。
数据类型与变量苏小红学习了C语言中的数据类型,包括整型(int)、字符型(char)、浮点型(float和double)等。
她学会了如何声明变量,并理解了变量的作用域和生命周期。
运算符与表达式苏小红掌握了C语言中的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符以及赋值运算符。
她学会了如何构建表达式,并理解了运算符的优先级。
控制结构控制结构是程序设计中的重要组成部分。
苏小红学习了条件语句(if、switch)、循环语句(for、while、do-while)以及跳转语句(break、continue、return、goto)。
她通过这些控制结构来实现程序的逻辑流程。
函数函数是C语言中实现代码复用的重要手段。
苏小红学习了如何定义函数、调用函数以及如何传递参数。
她还了解了函数的返回类型、参数列表和函数的递归调用。
数组数组是存储固定大小的同类型元素的集合。
苏小红掌握了一维数组和二维数组的使用,包括数组的声明、初始化和访问数组元素。
指针指针是C语言中一个强大的特性,它允许直接操作内存。
苏小红学习了指针的基本概念,包括指针的声明、指针与数组的关系、指针的算术以及指针函数。
结构体与联合体苏小红还学习了如何使用结构体(struct)和联合体(union)来创建复杂的数据类型。
她掌握了如何声明、初始化和使用这些用户定义的类型。
文件操作C语言提供了丰富的文件操作函数,允许对文件进行读写。
#include<>
main()
{
float x=,y=,z=;
printf("x=%f\n",x);
printf("y=%f\n",y);
printf("z=%f\n",z);
}
(1)
#include<>
main()
{
int a=12,b=3;
float x=,y=;
printf("%f\n",(float)(a*b)/2);
printf("%d\n",(int)x%(int)y);
}
(2)
#include<>
main()
{
int x=32,y=81,p,q;
p=x++;
q=--y;
printf("%d %d\n",p,q);
printf("%d %d\n",x,y);
}
#include<>
main()
{
int x,b0,b1,b2,s;
printf("Inputx:");
scanf("%d",&x);
b2=x/100;
b1=(x-b2*100)/10;f\n",p1);
printf("骰子出现 2 的概率:%.2f\n",p2);
printf("骰子出现 3 的概率:%.2f\n",p3);
printf("骰子出现 4 的概率:%.2f\n",p4);
printf("骰子出现 5 的概率:%.2f\n",p5);
printf("骰子出现 6 的概率:%.2f\n",p6);
}
(1) void Swap(int *x,int *y)
{
int *pTemp;.\n");
else if(strcmp(userInput,password)<0)
printf("Invalid password!user input
printf("Invalid password!user input>password...\n");
return 0;
}
#include<>
#define N 24
unsigned int CountLetter(char str[]);
int main()
{
char a[N];
printf("Input a letter:\n");
gets(a);
printf("The length of the letter is:%d\n",CountLetter(a));
return 0;
}
unsigned int CountLetter(char str[])
{
char *p=str;
int c=0,flag=0;
while(*p!='\0')
{
if(*p!=' ')
flag=1;
else if(flag==1)
{
c++;
flag=0;
}
p++;
}
return c+1;
}
#include<>
typedef struct data
{
int year;
int month;
int day;
}DATA;
typedef struct work
{
char a[14];
char b[10];
char c[6];
}WORK;
typedef struct student
{
char studentName[10];
char studentSex;
DATA birthday;
WORK profession;
}STUDENT;
int main()
{
STUDENT stu={"王刚",'M',{1991,5,19},{"信息工程系","学习人员","学生"}};
printf("stu:%2s%3c%6d/%02d/%02d%4s,%4s,%4s\n",,,
, 0;
}
#include<>
#include<>
#define N 10
typedef struct people
{
char peopleName[10];
}PEOPLE;
int main()
{
int sum1=0,sum2=0,sum3=0,sum4=0;
int i;
char name[N][N];
PEOPLE stu[5]={"zhang","li","wang"};
printf("Enter their name:\n");
for(i=0;i<10;i++)
{
gets(name[i]);
if(strcmp(name[i],stu[0].peopleName)==0)
sum1++;
else if(strcmp(name[i],stu[1].peopleName)==0)
sum2++;
else if(strcmp(name[i],stu[2].peopleName)==0)
sum3++;
else
sum4++;
}
printf("stu:%4s%2d\n",stu[i].peopleName,sum[j]);
printf("stu:%4s%2d\n",stu[1].peopleName,sum2);
printf("stu:%4s%2d\n",stu[2].peopleName,sum3);
printf("%2d\n",sum4);
return 0;
}