C语言程序简单例子_第1页
C语言程序简单例子_第2页
C语言程序简单例子_第3页
C语言程序简单例子_第4页
C语言程序简单例子_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

实验二参考答案输入两个整型数字,输出他们的和。#include<>main(){inta,b,sum;scanf("%d%d”,&a,&b);sum=a+b;printf("a+b=%d”,sum);}输入两个实型数,输出他们的和与乘积。#include<>main(){floata,b,sum,product;scanf("%f%f”,&a,&b);sum=a+b;product二a*b;printf("a+b=%,a*b=%”,sum,product);}2求方程的根(设b24ac0)(其中a,b,c的值由键盘输入)。#include<>#include<>main(){floata,b,c,dt,x1,x2;scanf("%f%f%f”,&a,&b,&c);dt二sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf("x1=%,x2二%”,x1,x2);}鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只(h和f的值由键盘输入,输出鸡和兔的头数)#include<>main(){inth,f,x,y;scanf("%d%d”,&h,&f);x=2*h-f/2;y=f/2-h;printf("x=%d,y=%d”,x,y);实验三参考答案输入三个数a、b、c,要求按由小到大的顺序输出。#include<>main(){floata,b,c,t;scanf("%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;} b=t;if(a>c){t=a;}if(b>c)a=c;c=t;{t=b;}printf(}b=c;c=t;%f,%f,%f”,a,b,c);编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。(1)#include<>main(){floata,b,c,t;scanf("%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}

if(a+b>c){if(a==b||b==c){if(a==c)pnntf( “等边三角型”);elseif(c*c==a*a+b*b)pelnf( “等腰直角三角形”);PrintK "一般等腰三角形”);}elseif(c*c==a*a+b*b)printf(elsepnntf( “一般三角形”}elseprintf( “不构成三角形”);}⑵#include<>main(){floata,b,c,t;scanf("%f,%f,%f”,&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}if(a+b<=c)printf(“不构成三角形”elseif(a==b&&b==c&&a==c)pnntf(elseif(a==b&&“一般直角三角)形”“一般直角三角)形”);;);“等边三角型”);“等腰直角三角形”);(a==b)printf(“一般等腰三角形”);“一般直角三角形”“一般直角三角形”);elseif(c*c==a*a+b*b)pnntf(elsepnntf(编程实现下列函数xXx<1)y=2x-1(1x10)x10)|3x-11x10)(#include<>#include<>main(){intx,y;printf("inputx=:");scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=abs(3*x-11);printf("x=%dy=%d\n",x,y);}编写程序,输入一百分制成绩,对应输出等级 A、B、C、D、E,90分以上为A,80分一89分为B,70分一79分为C,60分一69分为D,60分以下为E。方法一:用if语句#include<>main(){floatscore;chargrade;scanf(〃%f〃,&score);if(score>100||score<0)else(if(score>=90)grade='A';elseif(score>=80) printf("\ninputerror!");grade='B';elseif(score>=70)grade='C';elseif(score>=60)grade='D';elsegrade='E';}printf("thestudentgrade=%c\n",grade);}方法二:用switch语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。#include<>main(){floatscore,ints;chargrade;scanf("%f",&score);s=score/10;if(s<0||s>10)printf("\ninputerror!");elseswitch(s)case10:case9:grade=,A,;casebreak;case8:grade='B';casebreak;default:grade='E';}printf("thestudentgrade=%c\n",ch);编写程序,计算以下级数前n项之和。sum1xX2/2!xs/3!X4/4!...xn/n!#include<>voidmain(){inti,n;floats=,sum=,x;scanf("%d,%f”,&n,&x);for(i=1;i<=n;i++){s=s*x/i;sum=sum+s;}printf("sum=%”,sum);}编程打印如下图案(书后习题第3题):******个个个个个个个个mummmm**#include<>main(){inti,j,n;for(i=1;i<=7;i++){for(j=0;j<14-2*i;j++)printf(〃〃);for(j=0;j<2*i;j++)printf(〃*〃);printf(〃\n〃);(图中n=5)1编写程序实现输入整数n(图中n=5)1121TOC\o"1-5"\h\z1 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3211 2 3 4 3 2 11 2 3 2 11211#include<>main(){inti,j,n;scanf(〃%d〃,&n);for(i=1;i<n;i++){for(j=1;j<i; printf("%d〃,j++)for(j=i; j);j>0;j--)for(i=n;i>0;i--)for(j=1;j<i; printf("%d〃,j++)for(j=i; j);j>0;j--)4.方法输出Fibonacci数列第n项。其数列通项公式为Fn=Fn-1+Fn-2,F1=1,F2=1。—.•#include<>main(){floatf,f1=1,f2=1;inti,n;scanf(〃%d〃,&n);for(i=3;i<=n;i++)(f=f1+f2;f1=f2;f2=f;printf("%\n”,f);方法二:#include<>#defineNUM20voidmain(){inti;floatf[NUM]={1,1};for(i=2;i<NUM;i++)f[i]=f[i-2]+f[i-1];for(i=0;i<NUM;i++)printf("%\n”,f[i]);实验五参考答案编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组C,输出数组c#include<>voidmain(){inta[3]={1,2,3},b[3]={4,5,6},c[3];inti;for(i=0;i<3;i++){c[i]=a[i]+b[i];printf("%d",c[i]);输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序)#include<>#defineNUM10voidmain(){inta[NUM],i,j,temp,flag;printf("input%dnumbers:\n",NUM);for(i=0;i<NUM;i++)scanf(〃%d〃,&a[i]);for(i=1;i<NUM;i++)for(j=0;j<NUM-i;j++){flag=0;if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;flag=1;}if(flag=二0)break;}printf("thesortednumbers:\n");for(i=0;i<NUM;i++)printf("%d",a[i]);输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标#include<>#defineNUM10voidmain(){inta[NUM];inti,max,index;for(i=0;i<NUM;i++)scanf("%d",&a[i]);max=a[0];for(i=0;i<NUM;i++){if(max<a[i]){max=a[i];index=i;}}printf("max=%d,index=%d",max,index);}将从键盘输入的字符串进行逆序输出,逆序后的字符串仍然保留在原来字符数组中。(不得调用任何字符串处理函数包括strlen)#include<>#defineNUM80voidmain(){chara[NUM],temp;inti,j,index;for(i=0;i<NUM;i++){scanf("%c",&a[i]);if(a[i]=='\n')break;}a[i]='\0';index=i;for(i=0,j=index-1;i<=index/2;i++,j—)temp=a[i];a[i]=a[j];a[j]=temp;}for(i=0;i<NUM;i++){if(a[i]=='\0')break;printf("%c",a[i]);}printf("\n");实验五参考答案1.编写函数,求表达式无返回值两种方式去做,实验五参考答案1.编写函数,求表达式无返回值两种方式去做,2X25x4的值,x有由主函数输入。(请同学们用有返回值和练习简单的函定义、声明、及调用方法)有返回值#include<>floatfun(floatx){floatmm=x*x-5*x+4;returnm}voidmain(){floata,f;scanf("%f",&a);f=fun(a);printf("%f\n",f);无返回值#include<>voidfun(floatx){floatm;m=x*x-5*x+4;printf("%f\n",m);}voidmain(){floata;scanf("%f",&a);fun(a);编写函数,按如下递归公式求函数值。(n=0)fun(n)=Jfun(n1) 1(n>0)#inelude<>intfun(intn){intm;if(n==0)m=1;elsem=2*fun(n-1)+1;returnm;}voidmain(){inta,f;scanf("%d",&a);f=fun(a);printf("%d\n",m);}编写函数求数n所有质因子(所有为素数的因子)并输出, n由主函数输入。#include<>#inelude<>intprime(intm){intj;if(m==1)return0;elseif(m==2)return1;elseif(m%2==0)return0;elsefor(j=3;jv=sqrt(m);j+=2)if(m%j==O)return0;return1;}voidmain(){inti,n,flag;scanf("%d",&n);for(i=1;i<=n;i++)if(n%i==0)flag=prime(i);elseflag=0;if(flag==1)printf("%d\n",i);}}哥德巴赫猜想之一是,任何一个大于5的偶数都可以表示为两个素数之和。编写程序验证这一论断。#include<>intprime(intm){intj;if(m==1)return0;elseif(m==2)return1;elseif(m%2==0)return0;elsefor(j=3;j<=sqrt(m);j+=2)if(m%j==0)return0;return1;}main(){inta,b,c,n;scanf("%d",&n);for(a=6;a<=n;a+=2)for(b=3;b<=a/2;b+=2)if(prime(b)==1){c=a-b;if(prime(c)==1){printf("%d=%d+%d\n",a,b,c);break;}二维数组score中存放5个学生的3门课成绩,由主函数输入一个数,将所有总成绩大于该数的学生输出。#include<>voidmax(floata[5][3],floatscore)inti,j;floats;for(i=0;i<5;i++){s=0;for(j=0;j<3;j++)s=s+a[i][j];if(s>score)printf("stu%d:%.2f\n",i+1,s);}}voidmain(){inti,j;floata[5][3];floatscore;printf("pleaseinputnumber:\n");for(i=0;i<5;i++){printf("stu%d:",i+1);for(j=0;j<3;j++)scanf("%f",&a[i][j]);printf("\n");}printf("pleaseinputscore:");scanf("%f",&score);max(a,score);}实验七参考答案用指针变量输出任意4*4矩阵各元素的值⑴#include""voidmain(){inti,a[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};int*p=a;for(i=0;i<4*4;i++){printf("%3d",*(p+i));if((i+1)%4==0)printf("\n");}}(2)#include""voidmain(){inta[4][4]={{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4}};int(*p)[4]=a;inti,j;for(i=0;i<4;i++){for(j=0;j<4;j++)printf("%3d",*(*(p+i)+j));printf("\n");}printf("\n");有一个整型二维数组a[m][n],找出最大值所在的行和列,以及该最大值#include""voidmain(){inta[4][4]={{1,34,35,26},{7,12,92,24},{55,33,53,6},{7,41,34,64}};int(*p)[4]=a;inti,j,x,y,max;max=a[0][0];for(i=0;i<4;i++){for(j=0;j<4;j++){printf("%3d",*(*(p+i)+j));if(max<*(*(p+i)+j)){max=*(*(p+i)+j);x=i;y=j;}}printf("\n");}printf("\nmax=%d\nx=%d\ny=%d\n",max,x,y);}3.从键盘输入一字符串,求此字符串的长度并输出#include<>intstr_len(char*p){intn=0;while(*p!='\0'){n++;p++;}returnn;}intmain(){chara[100];intn;printf("Inputastring:\n〃);gets(a);n=str_len(a);printf("Thelenth:%d\n〃,n);}将字符串str中的小写字母全部改为大写字母,并输出该字符串#include〃〃voidfun(char*p){inti;for(i=0;*(p+i)!='\0';i++)if(*(p+i)>='a'&&*(p+i)〈='z')*(p+i)=*(p+i)-32;}voidmain(){charstr[50];char*p=NULL;printf("Pleaseinputstring:\n〃);gets(str);p=str;fun(p);puts(str);}实验八参考答案1.编写程序:定义一个职工结构体类型,定义职工结构体变量,从键盘输入一名职工信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、工资)#include<>structemployee{charname[20];charid[20];intgl;intsalary;};intmain(){structemployeeem;printf(〃Name:\n〃);scanf(〃%s〃,;printf(〃HM:\n〃);scanf(〃%s〃,;prin

温馨提示

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

评论

0/150

提交评论