实验三3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出void main()
{
char c1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
putchar('\n');
printf("%c %c\n",c1,c2);
}
3.5把790分钟换成用小时和分钟表示,然后输出。
void main()
{
int s=790;
printf("%d小时",s/60);
printf("%d分钟",s%60);
}
3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b的值给c,把c的值给a.
main()
{
int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c);
t=a;
a=b;
b=c;
c=t;
printf("%d,%d,%d",a,b,c);
3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。
#include
void main()
{
float x,s,a;
int z;
scanf("%f",&x);
a=100*x+0.5;
z=(int)(a);
s=z/100.0;
printf("%.2f\n",s); }
main()
{
int a,b,t;
double c;
scanf("%lf",&c);
b=100*c;
t=1000*c;
a=t%10;
if (a>=5) b=b+1;
else b=b+0;
c=1.0*b/100;
printf("%7.2lf/n",c); return 0;
}
void main()
{
int x,y;
scanf("%d",&x);
if(x<0&&x>-5) y = x ; if(x==0) y = x-1;
if(x<10&&x>0) y = x+1; printf("%d",y);
}
实验四4.2
不嵌套if语句
void main()
{
int x,y;
scanf("%d",&x);
if(x<0&&x>-5) y = x ;
if(x==0) y = x-1;
if(x<10&&x>0) y = x+1;
printf("%d",y);
}
法二:嵌套if语句
void main()
{
int x,y;
scanf("%d",&x);
if((x>-5)&&(x<0)) y=x;
else if(x==0) y=x-1;
else if(x<10&&x>0) y=x+1;
printf("%d",y);
}
4.3如下程序运用条件运算符求变量的绝对值?
void main()
{
int a,M;
scanf("%d",&a);
M=a>0?a:-a;
printf("abs(a)=%d",M);
4.4某服装店经营套服,也可单件出售,若买的不少于50套,每套80元,不足50套的每套90元,只买上衣每件60元,只买裤子每条45元,(读入所买上衣C和裤子t的件数,计算应付款m。
void main()
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n");;
scanf("%d%d",&c,&t);
if(t==c)
if(c>=50)m=c*80;
else m=c*90;
else
if(c>t)
if(t>=50) m=t*80+(c-t)*60;
else m=t*90+(c-t)*60;
else
if(c>=50) m=c*80+(t-c)*45;
else m=c*90+(t-c)*45;
printf("%d",m );
}
4.5:从键盘中输入三个数,分别让他们代表三条线段的长度,请编写程序,判断由这三条线段组成的三角形将是什么三角形(不等边,等腰,等边或不构成三角形)?Include
main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
{
if((a==b)&&(b==c))
printf("等边三角形");
else if((a==b&&b!=c)||(b==c&&c!=a)) printf("等腰三角形");
else printf("不等边三角形");
}
else printf("不构成三角形");
}
4.6:判断输入的整数是否既是5又是7的倍数,若是,则输出yes,否则输出no
void main()
{
int x;
scanf("%d",&x);
if(x%5==0&&x%7==0)
printf("yes");
else
printf("no");
}
实验五
5.2输入一行字母,将字母加密输出(如“a’变成’c’,’b’变成’d’,......,’z’变成‘b’)
main()
{ int c;
while ( (c=getchar () ) !='\n')
{ if (c<='X'&&c>='A'||c<='x'&&c>='a')
c += 2;
else if (c== 'y'||c== 'Y'||c==
'z'||c== 'Z')
c=c-24;
printf("%c",c);
}
putchar ('\n') ;
}
5.3利用for循环编写程序
法一:
#include"stdio.h"
main()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=6;j++)
{
if(i==2||i==3)
{
if(j==1||j==6)
printf("* ");
else printf(" ");
else
printf("* ");
}
printf("\n");
}
}
法二:
#include"stdio.h"
main()
{
int i,j;
for(i=1;i<=4;i++) {
if(i==1||i==4)
{
for(j=1;j<=6;j++)
{
printf("* ");
printf("\n");
}
else
{
printf("* ");
for(j=1;j<=4;j++)
{
printf(" ");
}
printf("* ");
printf("\n");
}
}
}
5.4利用循环语句编程,输出三角形状的九九乘法表
#include"stdio.h"
main()
{
int i,j,k;
for(i=0;i<=9;i++) {
if(i==0)
printf("*"); else
{
printf("%4d",i); }
}
printf("\n");
for(i=1;i<=19;i++) {
printf("_ ");
}
printf("\n");
for(i=1;i<=9;i++) {
printf("%d",i);
for(j=1;j<=i;j++) {
k=i*j;
printf("%4d",k);
}
printf("\n");
}
}
5.5:用while语句或do-while语句编写程序,计算:e=1+1/1!+1/2!+...+1/n!. #include
#include "math.h"
main()
{
float s=1.0,e=1.0,t;
int i=1;
while(fabs(t)>=1e-5)
{
s=s*i;
t=1/s;
e=e+1.0/s;
i++;
}
printf("%f\n",e);
printf("%d",i);
}
5.6:如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”,例如:6的因子为1,2,3且6=1+2+3,所以6是完数,输出完数1+完数2+...=和值。void main()
{
int i,j,sum,k;
for(i=2;i<=1000;i++)
{
sum=0;
for(j=1;j
{if(i%j==0) sum+=j;}
if(sum==i)
{printf("%d的因子:\n",i);
k=0;
for(j=1;j
{
if(i%j==0&&k==0) printf("%d",j);
else if(i%j==0) printf("+%d",j);
k++;
}
printf("=%d",sum);
printf("\n");
}
}
}
实验六