C语言实验指导(请对C上机完全不懂的兄弟到这里仔细的来学习)

出处: 作者: 日期:2007年01月23日 13时12分


【例3】有一函数:

y=  x x<1
2x-1 1=<x<10
3x-11 x>=10


用scanf函数输入x的值(分别为x<1,1~10,>=10三种情况),求y值。

分析:y是一个分段表达式。要根据x的不同区间来计算y的值。所以应使用If语句。

main()

{

int x,y;

printf(“please input x :”);

scanf(“%d”,&x);

if (x<1)

{

y=x;

printf(“y=%d\n”,y);

}

else if (x<10)

       {

         y=2*x-1;

printf(“y=%d\n”,y);

}

else

{

y=3*x-11;

printf(“y=%d\n”,y);

}

  

【作业】

1.       c语言如何表示“真”与“假”?系统如何判断一个量的“真”与“假”?

2.       写出下面各逻辑表达式的值。设a=3,b=4,c=5

(1)    a+b>c&&b= =c

(2)    a||b+c&&b-c

(3)    !(a>b)&&!c||1

(4)    !(x=a)&&(y=b)&&0

(5)    !(a+b)+c-1&&b+c/2

3.       有3个整数a、b、c,由键盘输入,输出其中最大的数。

4.有一函数:

y=  x x<1
2x-1 1=<x<10
3x-11 x>=10


写一程序,输入x, 输出y。

5.给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89为B,  70~79分为C,60~69分为D,60分以下为E。

6. 给一个不多于5位的正整数,要求:

a.       求出它是几位数;

b.       分别打出每一位数字;

c.       按逆序打出各位数字,例如原数为321,应输出123。

7.输入4个整数,要求按由小到大的顺序输出。
实验五 循环结构程序设计
【目的与要求】

熟练掌握while、do—while和for三种循环语句的应用。

【上机内容】

【一般示例】

【例1】求5!

main()

{

int n,t;

n=1;

t=1;

while(t<=5)

{

n=n*t;

t=t+1;

}

printf(“%d”,n);

}

【例2】求和s=1!+2!+3!

main()

{

int n,s=0,t=1;

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

{

t=t*n;

s=s+t;

}

printf(“%d”,s);

}

【例3】求和s=1!+3!+5!

main()

{

int s=0,t,i,j;

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

{

t=1;

for(j=1;j<=2*i-1;j++)

t=t*j;

s=s+t;

}

printf(“%d”,s);

}


【例4】求和s= 3+33+333

main()

{

int s=0,t=3,i;

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

{

s=s+t;

t=10*t+3;

}

printf(“%d”,s);

}

【例5】有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。

main()

{

int n,t,;

float a=2,b=1,s=0;

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

{

s=s+a/b;

t=a;

a=a+b;

b=t;

}

printf(“%f”,s);

}

【例6】打印500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身。 main()

{

int i,j,k,n;

for(n=100;n<=500;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n= =i*i*i+j*j*j+k*k*k)

printf(“ %d”,n);

}

}

【例7】一个数如果恰好等于它的因子之和,这个数就称为完数。求100之内的所有完数。

main()

{

int n,s,j;

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

{

s=0;

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

if (n%j= =0)

s=s+j;

if (s= =n)

printf(“%d”,s);

}

}

【典型示例】

【例1】计算两个数的最大公约数; 分析:首先,随机输入两个数m,n(默认m>n);其次,算法:使k为m除以n的余数,如果m能被n整除,则k值为0,n为这两个数的最大公约数,否则,使k代替n,n代替m,重复以上过程,直到k值为0。

#include"stdio.h"

main()

{

int m,n,k,result;

printf("Enter two numbers:");

scanf("%d,%d",&m,&n);

if(m>0&&n>0) /*限定两个正整数*/

{

do

{

k=n%m;

if(k= =0)
最后更新时间:2008-11-04 18:30:17
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

考试全流程