C语言程序设计经典例题(考研必背)(基础篇)第一周

一,求三个整数的最大值

#include <stdio.h>

int main(void)
{
	int a, b, c;
	int x=0;
	printf("请输入三个数:\n");
	scanf("%d %d %d",&a,&b,&c);

	if(a>b&&a>c)
		x=a;
	if(b>a&&b>c)
		x=b;
	if(c>a&&c>b)
		x=c;
	printf("max=%d\n",x);

	return 0;
}

二,输入10个数,输出最大的那个数

#include <stdio.h>

int main(void)
{
	int i, a[10], s=0;
	printf("请输入十个数:\n");
	for(i=0;i<=9;i++)
	scanf("%d",&a[i]);
	for(i=0;i<=9;i++)
	if(s<a[i])
	s=a[i];
	printf("最大的数是:%d\n",s);
	
	return 0;
}

三,判断2000-2500年的闰年,并输出

#include <stdio.h>

int main(void)
{
	int i, x=0;
	for(i=2000;i<=2500;i++){
		if((i%4==0&& i%100!=0)||i%400==0)
			printf("%d is a leap year!\n",i);
		else
			printf("%d is not a leap year!\n",i);
	}
}

四,1加到100

#include <stdio.h>

int main(void)
{
	int i, sum=0;
	
	for(i=1;i<=100;i++){
		sum=sum+i; 
	}
	printf("sum=%d\n",sum);
	
	return 0;
}

五,1-1/2+1/3…-1/100

#include <stdio.h>

int main(void)
{
	float i, sign=1, sum=0;
	for(i=1;i<=100;i++){
		sum=sum+sign/i;
		sign=(-1)*sign;
	}
	printf("%f\n",sum);

	return 0;
}

六,判断一个数能否同时被3和5整除

#include <stdio.h>

int main(void)
{
	int n;
	printf("输入一个数:")scanf("%d",&n);
	if(n%3==0&&n%5==0)
		printf("可以被整除\n",n);
	else
		printf("不可以被整除\n",n);

	return 0;

}

七,n个元素的数组a中,数从小到大排列,从大到小输出

#include <stdio.h>

int main(void)
{
	int i,j,a[100],s=0,n;
	printf("n:\n");
	scanf("%d",&n);
	printf(":\n"); 
	for(i=0;i<n;i++)
	scanf("%d",&a[i]);
	for(i=0;i<n-1;i++){
		for(j=i+1;j<n;j++){
			if(a[i]>a[j]){
				s=a[i];
				a[i]=a[j];
				a[j]=s;
			}
		}
	}
	for(i=0;i<n;i++)
	printf("%d ",a[i]);
	printf("\n");
	for(i=n-1;i>=0;i--)
	printf("%d ",a[i]);
	
	return 0;

}

八,九,将大写字母变成小写字母 (小->大)

#include <stdio.h>

int main(void)
{
	char c1, c2;
	scanf("%c",&c1);
	c2=c1+'a'-'A';   //c2=c1+'A'-'a';
	printf("%c",c2);
	 
	return 0;

}

十,输入字符,最终按小写输出

#include <stdio.h>

int main(void)
{
	char ch;
	scanf("%c",&ch);
	ch=(ch>='A'&&ch<='a')?(ch+'a'-'A'):ch;
	printf("%c\n",ch);
	 
	return 0;

}

十一,求三角形面积

#include <stdio.h>
#include <math.h>

int main(void)
{
	double a, b, c, s, area;
	printf("please input:");
	scanf("%lf %lf %lf",&a,&b,&c);
	
	if(a+b>c&&a+c>b&&b+c>a){
		s=(a+b+c)/2;
		area=sqrt(s*(s-a)*(s-b)*(s-c));
		printf("area is %f\n",area);
		
		return 0;
	}
	else;
}

十二,通过三角形三个点坐标求面积

typedef struct
{
	double x;
	double y;
}Point;

double get_square(Point p0, Point p1, Point p2)
{
	double area=0;
	area=p0.x*p1.y+p1.x*p2.y+p2.x*p0.y-p1.x*p0.y-p2.x*p1.y-p0.x*p2.y;
	return area/2;
}

十三,请编程序将“China”译成密码,分别用putchar和printf函数输出这5个字符

#include<stdio.h>

int main()
{
	char c1='C',c2='h',c3='i',c4='n',c5='a';	
	c1 += 4;	
	c2 += 4;	
	c3 += 4;	
	c4 += 4;	
	c5 += 4;	
	printf("用printf输出密码为:%c%c%c%c%c\n", c1, c2, c3, c4, c5);	
	printf("用putchar输出密码为:");	
	putchar(c1);	
	putchar(c2);	
	putchar(c3);	
	putchar(c4);	
	putchar(c5);	
	printf("\n");
	
	return 0;
}

十四,输出成绩以ABCDE输出

#include<stdio.h>

int main()
{
	int mark;
	scanf("%d",&mark);
	switch (mark/10)
	{
		case 10:
		case 9:
			printf("A\n");
			break;
		case 8:
			printf("B\n");
			break;
		case 7:
			printf("C\n");
			break;
		case 6:
			printf("D\n");
			break;
		default:
			printf("E\n");
			break;
		}	
}

十五,输出2的N次幂:1,2,4,8…到2^N

#include <stdio.h>
#define N 16

int main(void)
{
	int n;
	int val=1;
	
	printf("\t  n \t     2^n\n");
	printf("\t================\n");
	for (n=0;n<=N;n++){
		printf("\t%3d \t %6d\n",n,val);
		val=2*val;
	}
	return 0;
}

十六,判断一个数是不是素数

#include <stdio.h>

int main(void)
{
	int i,num,tag=1;
	scanf("%d",&num);
	if(num==1)
		return 0;
	for(i=2;i<num;i++)
	{
		if(num%i==0)
		{
			tag=0;
			break;
		}
	}
	if(tag==1)
		printf("it is do a prime number");
	else
		printf("it is not a prime number");

	return 0;
}

十七,输出2-300间的素数

#include <stdio.h>

int main(void)
{
	int i;
	for(i=2;i<=300;i++)
		if(prime_num(i)==1)
			printf("%d ",i);
	return 0;
}

int prime_num(int m)
{
	int j;
	for(j=2;j<m;j++)
	{
		if(m%j==0)
			return 0;
	}

	return 1;
}

十八,求2+22+222+2222+…共五项

#include <stdio.h>

int main()
{
	int temp,i,j,a,n,sum=0;
	scanf("%d %d",&a,&n);
	temp=a;
	for(i=0;i<n;i++)
	{
		sum=sum+a;
		printf("%d + ",a);
		a=a*10+temp;
	}
	printf("=%d",sum);

	return 0;
}

十九,编程1!+2!+3!+4!+5!+6!…的值

#include <stdio.h>

int main()
{
	int i, j, k, sum=0,ret = 1;
	scanf("%d",&k);
	for ( i = 1; i <=k ; i++)
	{
		ret = i*ret;
		sum = sum + ret;
	}
	printf("%d", sum);
	
	return 0;
}

二十,自然底数e的计算公式,最后一项<10^-10的时候结束

#include <stdio.h>

int main()
{
	float e=1.0,n=1.0;
	int i=1;
	while(1/n>1e-10)
	{
		e+=1/n;
		i++;
		n=i*n; 
	}
	printf("e的值为:%f\n",e);
	
	return 0;
}
  • 56
    点赞
  • 719
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
C语言程序设计精髓MOOC》第三周主要内容是关于指针和数组的学习。 首先是指针的介绍和使用。指针是C语言中一个非常重要的概念,它可以用来间接访问内存中的数据,通过指针可以实现对变量地址的操作。在学习过程中,我们了解了指针的定义和声明,以及指针与数组之间的关系。指针在程序设计中的应用非常广泛,特别是在动态内存分配和函数调用等方面,有着重要的作用。 其次是数组的使用。数组是一种由相同类型的元素组成的集合,它在C语言中非常常用。在第三周的学习中,我们了解了数组的定义、初始化和遍历等基本操作,还学习了一些在数组中常用的算法和技巧。通过多维数组和指针数组的学习,我们可以更灵活地处理多个数据。 除了指针和数组,第三周还涉及到了C语言中的结构体(struct)和文件的输入输出操作等内容。结构体是一种可以封装多个不同类型的数据的自定义数据类型,它在实际的程序设计中经常被用于组织和管理数据。文件的输入输出操作涉及了C语言中如何读写文件以及相关的文件处理函数等知识点。 通过学习《C语言程序设计精髓MOOC》第三周的内容,我们对指针和数组有了更深入的认识,并且掌握了它们的基本用法和应用技巧。这对于进一步学习和理解C语言程序设计以及其他高级编程语言都非常有帮助。此外,通过作业和练习的完成,我们可以检验和巩固所学的知识,提高我们自己的编程能力。希望通过这门课程的学习,能够让我们对C语言有更全面和深入的了解,为以后的学习和工作打下坚实的基础
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值