C语言程序简单例子Word文档格式.docx

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

C语言程序简单例子Word文档格式.docx

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

C语言程序简单例子Word文档格式.docx

b=t;

c)

a=c;

c=t;

if(b>

t=b;

b=c;

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

2.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不

能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。

(1)

floata,b,c,t;

{t=a;

if(a>

{t=b;

if(a+b>

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)

if(a+b<

=c)printf(“不构成三角形”);

elseif(a==b&

&

b==c&

a==c)printf(“等边三角型”);

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

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

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

3.编程实现下列函数

x(x<

1)

y=2x-1(

|3x-11|(

 

intx,y;

printf("

inputx=:

"

);

scanf("

%d"

&

x);

if(x<

1)y=x;

elseif(x<

10)y=2*x-1;

elsey=abs(3*x-11);

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语句

{

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'

=60)grade='

D'

elsegrade='

E'

thestudentgrade=%c\n"

grade);

}

方法二:

用switch语句。

注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。

所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。

则由此可得把score除十取整,化为相应的常数。

floatscore,

ints;

chargrade;

scanf("

s=score/10;

if(s<

0||s>

10)printf("

else

{

switch(s)

{

case10:

case9:

grade='

break;

case8:

case7:

case6:

default:

thestudentgrade=%c\n"

ch);

}

实验四参考答案

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

voidmain()

inti,n;

floats=1.0,sum=1.0,x;

scanf(“%d,%f”,&

n,&

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("

"

2*i;

j++)printf("

*"

\n"

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

(图中n=5)

1

121

12321

1234321

123454321

1

#include<

inti,j,n;

n);

n;

for(j=1;

j<

i;

%d"

j);

for(j=i;

j>

0;

j--)printf("

for(i=n;

i>

i--)

j++)printf("

j>

4.输出Fibonacci数列第n项。

其数列通项公式为Fn=Fn-1+Fn-2,F1=1,F2=1。

floatf,f1=1,f2=1;

inti,n;

for(i=3;

f=f1+f2;

f1=f2;

f2=f;

printf("

%10.0f\n"

f);

#defineNUM20

inti;

floatf[NUM]={1,1};

for(i=2;

i<

NUM;

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

for(i=0;

i++)

f[i]);

实验五参考答案

1.编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c

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("

c[i]);

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

#defineNUM10

voidmain()

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

printf("

input%dnumbers:

\n"

NUM);

for(i=0;

NUM;

scanf("

a[i]);

for(i=1;

for(j=0;

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:

printf("

%d"

a[i]);

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

{inta[NUM];

inti,max,index;

for(i=0;

max=a[0];

if(max<

a[i])

max=a[i];

index=i;

max=%d,index=%d"

max,index);

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

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

#defineNUM80

{chara[NUM],temp;

inti,j,index;

%c"

if(a[i]=='

\n'

)break;

a[i]='

\0'

index=i;

for(i=0,j=index-1;

=index/2;

i++,j--)

temp=a[i];

a[i]=a[j];

a[j]=temp;

)break;

1.编写函数,求表达式

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

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

有返回值

floatfun(floatx)

floatm 

m=x*x-5*x+4;

returnm 

floata,f;

a);

f=fun(a);

%f\n"

f);

无返回值

voidfun(floatx)

%f\n"

m);

floata;

fun(a);

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

1(n=0)

fun(n)=

(n>

0)

intfun(intn)

intm;

if(n==0)m=1;

else

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

returnm;

inta,f;

%d\n"

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

intprime(intm)

intj;

if(m==1)return0;

elseif(m==2)return1;

elseif(m%2==0)return0;

for(j=3;

=sqrt(m);

j+=2)

if(m%j==0)return0;

return1;

inti,n,flag;

for(i=1;

if(n%i==0)flag=prime(i);

elseflag=0;

if(flag==1)printf("

i);

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

编写程序验证这一论断。

inta,b,c,n;

for(a=6;

a<

a+=2)

for(b=3;

b<

=a/2;

b+=2)

if(prime(b)==1)

c=a-b;

if(prime(c)==1)

%d=%d+%d\n"

a,b,c);

5.二维数组score中存放5个学生的3门课成绩,由主函数输入一个数,将所有总成绩大于该数的学生输出。

voidmax(floata[5][3],floatscore)

inti,j;

floats;

5;

s=0;

for(j=0;

j++)

s=s+a[i][j];

if(s>

score)

stu%d:

%.2f\n"

i+1,s);

}

inti,j;

floata[5][3];

floatscore;

pleaseinputnumber:

printf("

i+1);

a[i][j]);

pleaseinputscore:

max(a,score);

实验七参考答案

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

#include"

stdio.h"

inti,a[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};

int*p=a;

4*4;

%3d"

*(p+i));

if((i+1)%4==0)

inta[4][4]={{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4}};

int(*p)[4]=a;

4;

j<

j++)

*(*(p+i)+j));

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

inta[4][4]={{1,34,35,26},{7,12,92,24},{55,33,53,6},{7,41,34,64}};

inti,j,x,y,max;

max=a[0][0];

*(*(p+i)+j))

max=*(*(p+i)+j);

x=i;

y=j;

\nmax=%d\nx=%d\ny=%d\n"

max,x,y);

3.从键盘输入一字符串,求此字符串的长度并输出

intstr_len(char*p)

intn=0;

while(*p!

='

n++;

p++;

returnn;

intmain()

chara[100];

intn;

Inputastring:

gets(a);

n=str_len(a);

Thelenth:

%d\n"

n);

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

voidfun(char*p)

*(p+i)!

if(*(p+i)>

a'

*(p+i)<

z'

*(p+i)=*(p+i)-32;

charstr[50];

char*p=NULL;

Pleaseinputstring:

gets(str);

p=str;

fun(p);

puts(str);

实验八参考答案

1.编写程序:

定义一个职工结构体类型,定义职工结构体变量,从键盘输入一名职工信息,然后输出。

(假设职工信息包括:

姓名、身份证号、工龄、工资)

structemployee

charname[20];

charid[20];

intgl;

intsalary;

};

structemployeeem;

Name:

%s"

em.name);

HM:

em.id);

GL:

em.gl);

GZ:

em.salary);

prin

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

当前位置:首页 > 解决方案 > 其它

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

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