C语言程序简单例子.docx

上传人:b****8 文档编号:9778608 上传时间:2023-02-06 格式:DOCX 页数:27 大小:34.21KB
下载 相关 举报
C语言程序简单例子.docx_第1页
第1页 / 共27页
C语言程序简单例子.docx_第2页
第2页 / 共27页
C语言程序简单例子.docx_第3页
第3页 / 共27页
C语言程序简单例子.docx_第4页
第4页 / 共27页
C语言程序简单例子.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C语言程序简单例子.docx

《C语言程序简单例子.docx》由会员分享,可在线阅读,更多相关《C语言程序简单例子.docx(27页珍藏版)》请在冰豆网上搜索。

C语言程序简单例子.docx

C语言程序简单例子

实验二参考答案

1.输入两个整型数字,输出他们的和。

#include

main()

{

inta,b,sum;

scanf(“%d%d”,&a,&b);

sum=a+b;

printf(“a+b=%d”,sum);

}

2.输入两个实型数,输出他们的和与乘积。

#include

main()

{

floata,b,sum,product;

scanf(“%f%f”,&a,&b);

sum=a+b;

product=a*b;

printf(“a+b=%5.2f,a*b=%5.2f”,sum,product);

}

3.求方程

的根(设

)(其中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=%5.2f,x2=%5.2f”,x1,x2);

}

4.鸡兔同笼,已知鸡兔总头数为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);

}

实验三参考答案

1.输入三个数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;a=c;c=t;

}

if(b>c)

{

t=b;b=c;c=t;

}

printf(“%f,%f,%f”,a,b,c);

}

2.编写程序,输入三角形三边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)printf(“等边三角型”);

elseif(c*c==a*a+b*b)printf(“等腰直角三角形”);

elseprintf(“一般等腰三角形”);

}

elseif(c*c==a*a+b*b)printf(“一般直角三角形”);

elseprintf(“一般三角形”);

}

elseprintf(“不构成三角形”);

}

(2)

#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)printf(“等边三角型”);

elseif(a==b&&c*c==a*a+b*b)printf(“等腰直角三角形”);

elseif(a==b)printf(“一般等腰三角形”);

elseif(c*c==a*a+b*b)printf(“一般直角三角形”);

elseprintf(“一般三角形”);

}

3.编程实现下列函数

x(x<1)

y=2x-1(

|3x-11|(

 

#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);

}

4.编写程序,输入一百分制成绩,对应输出等级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)printf("\ninputerror!

");

else

{

if(score>=90)grade='A';

elseif(score>=80)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!

");

else

{

switch(s)

{

case10:

case9:

grade='A';break;

case8:

grade='B';break;

case7:

grade='C';break;

case6:

grade='D';break;

default:

grade='E';

}

printf("thestudentgrade=%c\n",ch);

}

}

 

实验四参考答案

1.编写程序,计算以下级数前n项之和。

#include

voidmain()

{

inti,n;

floats=1.0,sum=1.0,x;

scanf(“%d,%f”,&n,&x);

for(i=1;i<=n;i++)

{

s=s*x/i;

sum=sum+s;

}

printf(“sum=%5.2f”,sum);

}

 

2.编程打印如下图案(书后习题第3题):

**

****

******

********

**********

************

**************

#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");

}

}

3.编写程序实现输入整数n,输出如下所示由数字组成的菱形。

(图中n=5)

1

121

12321

1234321

123454321

1234321

12321

121

1

#include

main()

{

inti,j,n;

scanf("%d",&n);

for(i=1;i

{

for(j=1;j

for(j=i;j>0;j--)printf("%d",j);

printf("\n");

}

for(i=n;i>0;i--)

{

for(j=1;j

for(j=i;j>0;j--)printf("%d",j);

printf("\n");

}

}

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("%10.0f\n",f);

}

方法二:

#include

#defineNUM20

voidmain()

{

inti;

floatf[NUM]={1,1};

for(i=2;i

f[i]=f[i-2]+f[i-1];

for(i=0;i

printf("%10.0f\n",f[i]);

}

实验五参考答案

1.编写程序,将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]);

}

}

 

2.输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序)

#include

#defineNUM10

voidmain()

{

inta[NUM],i,j,temp,flag;

printf("input%dnumbers:

\n",NUM);

for(i=0;i

scanf("%d",&a[i]);

for(i=1;i

for(j=0;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

printf("%d",a[i]);

}

3.输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标

#include

#defineNUM10

voidmain()

{inta[NUM];

inti,max,index;

for(i=0;i

scanf("%d",&a[i]);

max=a[0];

for(i=0;i

{

if(max

{

max=a[i];

index=i;

}

}

printf("max=%d,index=%d",max,index);

}

 

4.将从键盘输入的字符串进行逆序输出,逆序后的字符串仍然保留在原来字符数组中。

(不得调用任何字符串处理函数包括strlen)

#include

#defineNUM80

voidmain()

{chara[NUM],temp;

inti,j,index;

for(i=0;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

{

if(a[i]=='\0')break;

printf("%c",a[i]);

}

printf("\n");

}

实验五参考答案

1.编写函数,求表达式

的值,x有由主函数输入。

(请同学们用有返回值和无返回值两种方式去做,练习简单的函定义、声明、及调用方法)

有返回值

#include

floatfun(floatx)

{

floatm ;

m=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);

}

 

2.编写函数,按如下递归公式求函数值。

1(n=0)

fun(n)=

(n>0)

#include

intfun(intn)

{

intm;

if(n==0)m=1;

else

m=2*fun(n-1)+1;

returnm;

}

voidmain()

{

inta,f;

scanf("%d",&a);

f=fun(a);

printf("%d\n",m);

}

3.编写函数求数n所有质因子(所有为素数的因子)并输出,n由主函数输入。

#include

#include

intprime(intm)

{

intj;

if(m==1)return0;

elseif(m==2)return1;

elseif(m%2==0)return0;

else

for(j=3;j<=sqrt(m);j+=2)

if(m%j==0)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);

}

}

 

4.哥德巴赫猜想之一是,任何一个大于5的偶数都可以表示为两个素数之和。

编写程序验证这一论断。

#include

intprime(intm)

{

intj;

if(m==1)return0;

elseif(m==2)return1;

elseif(m%2==0)return0;

else

for(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;

}

}

}

 

5.二维数组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);

}

实验七参考答案

1.用指针变量输出任意4*4矩阵各元素的值

(1)

#include"stdio.h"

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"stdio.h"

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");

}

2.有一个整型二维数组a[m][n],找出最大值所在的行和列,以及该最大值

#include"stdio.h"

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);

}

4.将字符串str中的小写字母全部改为大写字母,并输出该字符串

#include"stdio.h"

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",em.name);

printf("HM:

\n");

scanf("%s",em.id);

printf("GL:

\n");

scanf("%d",&em.gl);

printf("GZ:

\n");

scanf("%d",&em.salary);

prin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 化学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1