C语言课后答案_第1页
C语言课后答案_第2页
C语言课后答案_第3页
C语言课后答案_第4页
C语言课后答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章之青柳念文创作三、编程题1.编写程序,输入一个非负数,输出以此数为半径的圆周长以及面积.#include"stdio.h"voidmain( ){floatr,area,circumference;scanf("%f",&r);area=PI*r*r;circumference=2*r*PI;printf("area=%6.2f\ncircumference=%6.2f\n",area,circumference);}2.编写程序,输出下边成就,注意,双引号也要输出:“I'mastudent!”#include<stdio.h>voidmain( ){printf("\"I\'mastudent!\"\n");}3.编写程序,输入一个小写字母,将其变换为大写字母输出.比如输入b,则输出B.提示:小写字母和对应的大写字母的ASCII码值相差32.voidmain( ){charch;ch=getchar( );ch-=32;putchar(ch);//printf("%c",ch);}4.编写程序,输入一个华氏温度f,输出其相应的摄氏温度c.华氏温度和摄氏温度的变换公式为:#include<stdio.h>voidmain( ){floatf,c;

c5(f32)9scanf(“%f”,&f);c=5.0*(f-32)/9;printf(“华氏温度%5.2f变换为摄氏温度为:%5.2f\n”,f,c);}第4章三、编程题1.输入一个整数,判定这个整数是奇数仍是偶数(提示:整数的奇偶性能够操控取余运算符%判定).#include<>voidmain( ){inta;scanf("%d",&a);if(a%2)printf("奇数\n");elseprintf("偶数\n");}2.编写程序,输入一个24小时制的时间,变换为12小时制时间后停止输出.以13点15分为例,输入:13:15,则输出:下午1:15.#include<stdio.h>voidmain( ){inthour,minute;scanf("%d:%d",&hour,&minute);if(hour>12)hour=hour-12;printf("%d:%d\n",hour,minute);}3.输入年号,判定它是不是闰年(假如年号能被400整除,或能被4整除,而不克不及被100整除,则是闰年,不然不是).voidmain( ){intyear;scanf("%d",&year);if(year%400==0||(year%4==0&&year%100==0))printf("%d是闰年\n",year);elseprintf("%d不是闰年\n",year);}4.输入一个字符,假如是大写字母则输出对应的小写字母,假如是小写字母则输出相应的大写字母,假如都不是则原样输出.#include<>voidmain( ){charch;scanf("%c",&ch);if(ch>='a'&&ch<='z')ch-=32;elseif(ch>='A'&&ch<='Z')ch+=32;printf("\n%c\n",ch);}5.设计一个简单的计算器程序,能输入整型运算数和基本运算符(+,,*,/),输出计算成就.比如:输入2+6,输出2+6=8.#include<stdio.h>main( ){floata,b,result;charop;scanf("%f%c%f",&a,&op,&b);switch(op){case'+':result=a+b;printf("=%f",result);break;case'-':result=a-b;printf("=%f",result);break;case'*':result=a*b;printf("%f",result);break;case'/':if(b==0.0)printf("error!\n");result=a/b;printf("=%f",result);default:printf("errorduetotheillegalinput!\n");}}第5章三、编程题1.编写程序,显示100~200之间能被7除余2的所有整数.#include"stdio.h"main( ){inti;for(i=100;i<=200;i++){if(i%7==2)printf("\t%d\t",i);}}2.输入n个整数,求这n个整数中的最大数、最小数和偶数均匀数,并输出.#include<stdio.h>voidmain( ){inti,n,data,max=0,min=0,even=0,evennumber=0;printf("Pleaseinputthenumberofdata:");scanf("%d",&n);printf("Pleaseinputthedata:\n");scanf("%d",&data);max=data;min=data;if(data%2==0){even=even+data;evennumber++;}for(i=1;i<n;i++){scanf("%d",&data);if(data>max)max=data;elseif(data<min)min=data;if(data%2==0){even=even+data;evennumber++;}}printf("Themaxis%d\nTheminis%d\nTheaverageofevenis%5.2f\n",max,min,(float)(even)/evennumber);}3.输入一串字符,以回车作为竣事标志.统计并输出这串字符中大写字母、小写字母和数字字符的个数.#include<stdio.h>voidmain( ){intupper=0,lower=0,number=0;charletter;while((letter=getchar( ))!='\n'){if(letter>='a'&&letter<='z')lower++;elseif(letter>='A'&&letter<='Z')upper++;elseif(letter>='0'&&letter<='9')number++;}printf("thenumberofuppercaseis:%d\n",upper);printf("thenumberoflowercaseis:%d\n",lower);printf("thenumberofnumberis:%d\n",number);}4.输出九九乘法表.#include<stdio.h>voidmain( ){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-3d",i,j,i*j);printf("\n");}}5.编写程序,输出3~1000之间所有素数.#include<stdio.h>#include"math.h"voidmain( ){intk,data,tag;for(data=3;data<=1000;data++)//

外层循环,用来发生

2~1000

之间的整数{tag=0;

//tag

用于示意数

i

是不是素数,没有判定前先假设是素数for(k=2;k<=sqrt(data)&&!tag;k++)//

内层循环用来判定

data

能否有约数{if(data%k==0)tag=1;if(tag==1)

}printf("%4d",data);

//

假如

i

是素数,则输出}}6.输入一个三位数,判定其是不是“水仙花数”中的各位数字的立方和等于这3位数自己

.

.如

水仙花数是指

3位数153=1*1*1+5*5*5+3*3*3.#include"stdio.h"voidmain( ){intS,a,b,c;printf("请输入一个3位数:");scanf("%d",&S);a=S/100;b=S%100/10;c=S%10;if(a*a*a+b*b*b+c*c*c==S)printf("%d是水仙花数.",S);elseprintf("%d不是水仙花数.\n",S);}7.编程求Fibonacci数列的前40个数.该数列的生成方法是:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3)(即从第三个数起,每一个数等于前2个数之和).#include"stdio.h"voidmain( ){intf[40],n;f[0]=1;f[1]=1;printf("Fibonacci数列的前40个数是:%d\t%d\t",f[0],f[1]);for(n=2;n<40;n++){f[n]=f[n-1]+f[n-2];printf("%d\t",f[n]);}}8.一个穷人找到一个百万富豪,给他商议一个换钱计划以下:我每日给你十万元,而你第一天只要给我一元钱,次日给我二元钱,第三天给我四元钱,,即我每日都给你十万元,你每日给我的钱都是前一天的两倍,直到满一个月(30天).百万富豪很快乐地承受了这个换钱计划.请编写程序计算满一个月时,穷人给了富豪多少钱,而富豪又给了穷人多少钱.#include<stdio.h>voidmain( ){longpoor=100000,rich=1,i;for(i=2;i<=30;i++){poor=poor+100000;}printf("Moneyofpoorgivingrichis%ld\nMoneyofrichgivingpooris%ld\n",poor,rich);}9.猴子吃桃问题.猴子第一天摘下若干桃子,立即吃了一半,可是瘾又多吃了一个.次日清晨又将剩下的桃子吃了一半,又多吃了一个此后的每日清晨都是吃了前一天剩下的一半加一个.到第10天早

.上时只剩下一个桃子了.编写程序,求猴子第一天共摘了多少桃子./************************************************************************//*有一群猴子摘了一堆桃子,他们每日都吃目前桃子的一半且再多吃一个*//*到了第10天就只余下一个桃子.(C语言实现)*//*用多种方法实现求出本来这群猴子共摘了多少个桃子.*//************************************************************************//*运转环境:VC++6.0*//************************************************************************/#include"stdio.h"main( ){inti,j,k;/*j是最后的桃子数,k是中间变量,也是桃子总数*/j=1;for(i=9;i>0;i--){k=(j+1)*2;j=k;}printf("%total=%d\n",k);}第6章三.1.#include<stdio.h>#definen10voidmain( ){inta[n],i,count1=0,count2=0,sum=0;floatave;for(i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];if(a[i]>80)count1+=1;elseif(a[i]<60)count2+=1;}ave=sum/n;printf("%d个优秀,%d个不及格,均匀分:%f.",count1,count2,ave);}2.#include<stdio.h>#definen10voidmain( ){inta[n],i,j,k,max,min;for(i=0;i<n;i++){scanf("%d",&a[i]);if(!i){max=min=a[i];j=k=i;}else{if(max<a[i]){max=a[i];j=i;}elseif(min>a[i]){min=a[i];k=i;}}}printf("最大值%d在第%d位,最小值%d在第%d位.",max,j+1,min,k+1);}3.#include<stdio.h>#include<string.h>voidmain( ){chars[20],ch;inti,n;printf("请输入字符串:");gets(s);n=strlen(s);for(i=0;i<n/2;i++){ch=s[i];s[i]=s[n-1-i];s[n-1-i]=ch;}printf("逆序寄存的字符串:");puts(s);}4.#include<stdio.h>#defineN10voidmain( ){inti,j,n,a[N+1];printf("请输入%d个由小到大排列的整数:",N);for(i=0;i<N;i++)scanf("%d",&a[i]);printf("请输入要拔出的数:");scanf("%d",&n);for(i=0;i<N;i++)if(a[i]>n){j=i;break;}if(i==N)j=i;for(i=N-1;i>=j;i--)a[i+1]=a[i];a[j]=n;printf("拔出后的排列:");for(i=0;i<=N;i++)printf("%d",a[i]);}5.#include<stdio.h>#defineN3voidmain( ){inti,j,a[N][N],sum=0;printf("请输入%d*%d矩阵的元素:",N,N);for(i=0;i<N;i++)for(j=0;j<N;j++){scanf("%d",&a[i][j]);if(i==j)sum+=a[i][j];}printf("主对角线元素之和:%d.",sum);}6.#include<stdio.h>#include<math.h>voidmain( ){inti,j,n,k=0,b[300];for(i=1;i<300;i++){n=int(sqrt(i));for(j=2;j<=n;j++){if(i%j==0)break;}if(j>n){b[k]=i;k++;}}for(i=0;i<k;i++)printf("%5d",b[i]);}7.#include<stdio.h>#defineN7voidmain( ){inti,j,k,a[N],temp;printf("请输入%d个整数:",N);for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++){k=i;temp=a[i];for(j=i+1;j<N;j++)if(temp>a[j]){k=j;temp=a[j];}if(k!=i){a[k]=a[i];a[i]=temp;}}printf("排序后的数列:");for(i=0;i<N;i++)printf("%3d",a[i]);}8.#include<stdio.h>voidmain( ){inti=0,count1=0,count2=0,count3=0;chars[20];printf("请输入字符串:");gets(s);while(s[i]!='\0'){if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')count1++;elseif(s[i]>='0'&&s[i]<='9')count2++;elsecount3++;i++;}printf("字符%d个,数字%d个,其他%d个.",count1,count2,count3);}9.#include<stdio.h>#include<string.h>voidmain( ){chars[20],ch;inti=0;printf("请输入字符串:");gets(s);while(s[i]!='\0'){s[i]+=3;if(s[i]>'z')s[i]-=26;i++;}printf("加密后:");puts(s);}10.#include<stdio.h>#include<string.h>voidmain( ){chars1[20],s2[20];inti=0,j=0;printf("请输入字符串1:");gets(s1);printf("请输入字符串2:");gets(s2);while(s1[i]!='\0')i++;s1[i]=s2[j];do{i++;j++;s1[i]=s2[j];}while(s2[j]!='\0');printf("毗邻后:");puts(s1);}11.#include<stdio.h>#include<string.h>voidmain( ){chars1[20],s2[20],s3[40];inti=0,j=0,k=0;printf("请输入按字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论