C语言

第一章

例1.1 要求在屏幕上输出以下一行信息。

#include<stdio.h>
int main()
{
	printf("This is a C program.\n");
	return 0;
}

运行结果如下:在这里插入图片描述

例1.2 求两个整数之和。

#include<stdio.h>
int main()
{
	int a,b, sum;
	a=123;
	b=456;
	sum=a+b;
	printf("sum is %d\n",sum);
	return 0;
}

运行结果如下:
在这里插入图片描述

例1.3 求两个整数中的较大者。

#include<stdio.h>
//主函数
int main()
{
	int max(int x,int y);
	int a, b, c;
	scanf("%d,%d",&a,&b);
	c=max(a,b);
	printf("max=%d\n",c);
	return 0;
}
//求两个整数中的较大者的max函数
int max(int x,int y)
{
	int z;
	if(x>y)z=x;
	else z=y;
	return (z);
}

运行结果如下:
在这里插入图片描述

第二章

例2.18

#include<stdio.h>
int main()
{
	int i,t;
	t=1;
	i=2;
	while(i<=5)
	{
		t=t*i;
		i=i+1;
	}
	printf("%d\n",t);
	return 0;
	
}

运行结果如下:
在这里插入图片描述

第三章

第三章)

例3.1 把以华氏法表示的温度转换为以摄氏法表示的温度。

#include<stdio.h>
int main()
{
	float f,c;
	f=64.0;
	c=(5.0/9)*(f-32);
	printf("f=%f\nc=%f\n",f,c);
	return 0;
	
}

运行结果如下:
在这里插入图片描述

例3.2 计算存款利息。有1000元,想存一年。有三种方法可选:1.活期,年利率为r1;2.一年期定期,年利率为r2;3.存两次半年定期,年利率为r3。请分别计算出一年后按3种方法所得到的本息和。

#include<stdio.h>
int main()
{
	float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;
	p1=p0*(1+r1);
	p2=p0*(1+r2);
	p3=p0*(1+r3/2)*(1+r3/2);
	printf("p1=%f\np2=%f\np3=%f\n",p1,p2,p3);
	return 0;
	
}

运行结果如下:

在这里插入图片描述

例3.3 给定一个大写字母,要求用小写字母输出。

#include<stdio.h>
int main()
{
	char c1,c2;
	c1='A';
	c2=c1+32;
	printf("%c\n",c2);
	printf("%d\n",c2);
	return 0;
	
}

运行结果如下:
在这里插入图片描述

例3.4 给出三角形的三边长,求三角形面积。

#include<stdio.h>
#include<math.h>
int main()
{
	double a,b,c,s,area;
	a=3.67;
	b=5.43;
	c=6.21;
	s=(a+b+c)/2;
	area=sqrt(s*(s-a)*(s-b)*(s-c));
	printf("a=%f\tb=%f\t%f\n",a,b,c);
	printf("area=%f\n",area);
	return 0;
	
}

运行结果如下:
在这里插入图片描述

例3.6 用%f输出实数,只能得到六位小数。

#include<stdio.h>
int main()
{
	double a=1.0;
	printf("%f\n",a/3);
	return 0;
	
}

运行结果如下:
在这里插入图片描述

例3.7 float型数据的有效位数。

#include<stdio.h>
int main()
{
	float a;
	a=10000/3.0;
	printf("%f\n",a);
	return 0;
	
}

运行结果如下:
在这里插入图片描述

例3.8 先后输出BOY三个字符。

#include<stdio.h>
int main()
{
	int a=66,b=79,c=89;
	putchar(a);
	putchar(b);
	putchar(c);
	putchar('\n');
	return 0;	
}

运行结果如下:在这里插入图片描述

例3.9 从键盘输入BOY三个字符,然后把它们输到屏幕。

#include<stdio.h>
int main()
{
	char a,b,c;
	a=getchar();
	b=getchar();
	c=getchar();
	putchar(a);
	putchar(b);
	putchar(c);
	putchar('\n');
	return 0;	
}

运行结果如下:
在这里插入图片描述

例3.10 改写例3.3程序,使之可以适用于任何大写字母。从键盘输入一个大写字母,在显示屏上显示对应的小写字母。

#include<stdio.h>
int main()
{   char c1,c2;
	c1=getchar();
	c2=c1+32;
	putchar(c2);
	putchar('\n');
	return 0;	
}

运行结果如下:
在这里插入图片描述

第四章

第四章)

例4.2 输入两个实数,按由小到大的顺序输出这两个数。

#include<stdio.h>
int main()
{   float a,b,t;
	scanf("%f,%f",&a,&b);
	if(a>b)
	{
		//将a和b的值互换
		t=a;
		a=b;
		b=t;
	}
	printf("%5.2f,%5.2f\n",a,b);
	return 0;	
}

运行结果如下:
在这里插入图片描述

例4.3 输入三个数a,b,c,要求按由小到大的顺序输出。

#include<stdio.h>
int main()
{   
	float a,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("%5.2f,%5.2f,%5.2f\n",a,b,c);
	return 0;	
}

运行结果如下:
在这里插入图片描述

例4.4 输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include<stdio.h>
int main()
{  
	char ch;
	scanf("%c",&ch);
	ch=(ch>='A'&&ch<='Z')?(ch+32) : ch;
	printf("%c\n",ch);
	return 0;	
}

运行结果如下:
在这里插入图片描述

例4.5 编一程序,输入一个x值,要求输出相应的y值。

#include<stdio.h>
int main()
{  
	int x,y;
	scanf("%d",&x);
	if(x<0)
		y=-1;
	else
		if(x==0)y=0;
		else y=1;
	printf("x=%d,y=%d\n\n",x,y);
	return 0;	
}

运行结果如下:
在这里插入图片描述

例4.6 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70 ~84 分,C等为60~69分,D等为60分以下。成绩的等级由键盘输入。

#include<stdio.h>
int main()
{  
	char grade;
	scanf("%c",&grade);
	printf("Your score:");
	switch(grade)
	{
	case 'A':printf("85~100\n");break;
    case 'B':printf("70~84\n");break;
    case 'C':printf("60~69\n");break;
    case 'D':printf("<60\n");break;
    default:printf("enter data error!\n");
	}
	return 0;
}

运行结果如下:
在这里插入图片描述

例4.8 写一程序,判断某一年是否为闰年。

#include<stdio.h>
int main()
{  
	int year,leap;
	printf("enter year:");
	scanf("%d",&year);
	if(year%4==0)
	{
		if(year%100==0)
		{
			if(year%400==0)
				leap=1;
			else
				leap=0;
		}
		else
			leap=1;
	}
	else
		leap=0;
	if(leap)
		printf("%d is ",year);
	else

	    printf("%d is not ",year);
	printf("a leap year.\n");
 	return 0;
}

运行结果(先后运行两次):
在这里插入图片描述
在这里插入图片描述

第五章

例5.1 求1+2+3+…+100,

#include<stdio.h>
int main()
{  
	int i=1,sum=0;
	while(i<=100)
	{
		sum=sum+i;
		i++;
	}
	printf("sum=%d\n",sum);  	
 	return 0;
}

运行结果如下:
在这里插入图片描述

例5.3 while和do while循环的比较。

#include<stdio.h>
int main()
{  
	int i,sum=0;
	printf("please enter i,i=?");
	scanf("%d",&i);
	while(i<=10)
	{
		sum=sum+i;
		i++;
	}
	printf("sum=%d\n",sum);  	
 	return 0;
}

运行结果如下:
在这里插入图片描述

#include<stdio.h>
int main()
{  
	int i,sum=0;
	printf("please enter i,i=?");
	scanf("%d",&i);
	do
	{
		sum=sum+i;
		i++;
	}while(i<=10);
	printf("sum=%d\n",sum);  	
 	return 0;
}

运行结果如下:
在这里插入图片描述

例5.5 要求输出100~200的不能被三整除的数。

#include<stdio.h>
int main()
{  
	int n;
	for (n=100;n<=200;n++)
	{
		if(n%3==0)
			continue;
		printf("%d ",n);
	}
	printf("\n");  	
 	return 0;
}

运行结果如下:
在这里插入图片描述

例5.6 输出以下4*5的矩阵。

#include<stdio.h>
int main()
{  
	int i,j,n=0;
	for (i=1;i<=4;i++)
		for(j=1;j<=5;j++,n++)
	{
		if(n%5==0)printf("\n");
		printf("%d\t",i*j);
	}
	printf("\n");  	
 	return 0;
}

运行结果如下:
在这里插入图片描述

例5.9 输入一个大于3的整数n,判定它是否为素数。

#include<stdio.h>
int main()
{  
	int n,i;
	printf("please enter a integer number,n=?");
	scanf("%d",&n);
	for (i=2;i<n;i++)
		if(n%i==0)break;
		if(i<n)printf("%d is not a prime number.\n",n);
		else printf("%d is a prime number.\n",n);   	
 	return 0;
}

运行结果如下:
在这里插入图片描述

例5.10 求100~200的全部素数。

#include<stdio.h>
#include<math.h>
int main()
{  
	int n,k,i,m=0;
	for (n=101;n<=200;n=n+2)
	{
		k=sqrt(n);
		for(i=2;i<=k;i++)
			if(n%i==0)break;
			if(i>=k+1)
			{
				printf("%d ",n);
				m=m+1;
			}
			if(m%10==0)printf("\n");
	}
	printf("\n");   	
 	return 0;
}

运行结果如下:
在这里插入图片描述

第六章

第六章)

例6.1 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。

#include<stdio.h>
#include<math.h>
int main()
{  
	int i,a[10];
	for(i=0;i<=9;i++)
		a[i]=i;
	for(i=9;i>=0;i--)
		printf("%d ",a[i]);
	printf("\n");   	
 	return 0;
}

运行结果如下:
在这里插入图片描述

例6.4 将一个二维数组行和列的元素互换,存到另一个二维数组中。

#include<stdio.h>
int main()
{  
	int a[2][3]={{1,2,3},{4,5,6}};
	int b[3][2],i,j;
	printf("array a:\n");
   	for(i=0;i<=1;i++)
	{
		for(j=0;j<=2;j++)
		{
			printf("%5d",a[i][j]);
			b[j][i]=a[i][j];
		}
		printf("\n");
	}
	printf("array b:\n");
    for(i=0;i<=2;i++)
	{
		for(j=0;j<=1;j++)
           printf("%5d",b[i][j]);
        printf("\n");
	}

 	return 0;
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值