C语言基础习题

【练习1】 两个变量的值进行交换。

#include <stdio.h>
int main()
{
	int first,second,third;
	printf("请输入第一个数:"); 
	scanf("%d",&first);
	printf("请输入第二个数:");
	scanf("%d",&second);
    printf("互换前第一个数是:%d\n",first);
	printf("互换前第二个数是:%d\n",second);
	third = first;
	first = second;
	second = third;
	printf("现在第一个数是:%d\n",first);
	printf("现在第二个数是:%d\n",second);
	return 0;
}

运行结果:

【练习2】 对于给定字符,请输出该字符的前驱字符和后继字符。

#include<stdio.h>
int main()
{
	char c1,c2,c3;
	printf("请输入一个字符:\n");
	scanf("%c",&c1);
	c2=c1-1;
	c3=c1+1;
	printf("前驱字符为%c,后继字符为%c\n",c2,c3);
	return 0;
}

运行结果:

【练习3】 输入三角形三边长,判断其能否构成三角形,
若能,则计算三角形面积并输出结果。否则,输出不能构成三角形。

#include<stdio.h>
#include<math.h>
int main()
{
	float a,b,c,s,p;
	printf("请输入边长:\n");
	scanf("%f %f %f",&a,&b,&c);
	printf("a=%f b=%f c=%f\n",a,b,c);
	if(a+b>c&&a+c>b&&b+c>a)
	{	
		p=(a+b+c)/2;
		printf("能构成三角形,面积是:%f\n",sqrt(p*(p-a)*(p-b)*(p-c)));
	}
	else
	{
		printf("不能构成三角形\n");
	}
	return 0;
}

运行结果:

【练习3】 判断某年是否是闰年。

#include<stdio.h>
int main()
{
	int a;
	printf("请输入年份:");
	scanf("%d",&a);
	if(a%4==0&&(a%100!=0||a%400==0))
		printf("这一年是闰年\n");
		else
		printf("这一年不是闰年\n");
		return 0;

}

运行结果:

【练习4】 编程实现输出1-100之间的所有奇数。

#include<stdio.h>

int main()
{
    int a;
    for(a=1;a<=100;a++)
        if(a%2!=0)
        printf("%d ",a);
        else
        continue;
    return 0;
}

运行结果:

【练习5】 用循环语句实现计算5!并输出。

#include<stdio.h>

int main()
{
    int a,s=1;
    for(a=1;a<6;a++)
        s=a*s;
        
    printf("%d!=%d\n",a-1,s);
    return 0;
}

运行结果:

【练习6】 输入一个大于3的整数n,判定它是否为素数。

#include<stdio.h>
int main()
{
	int n,i;
	printf("请输入一个大于三的整数:\n");
	scanf("%d",&n);
	for(i=2;i<n;i++)
		if(n%i==0)
			break;
		if(i<n)
			printf("%d不是素数\n",n);
		else
			printf("%d是素数\n",n);
}

运行结果:

【练习7】 输入一个三位数,判定其是否是水仙花数,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身,例如,153是水仙花数,153=13+53+3^3。请输出1000以内的水仙花数。

#include<stdio.h>
int main()
{
	int a,b,c,d;
	printf("1000以内的水仙花数为:\n");
	for(a=100;a<1000;a++)
	{
		b=a/100;
		c=(a/10)%10;
		d=a%10;
		if(b*b*b+c*c*c+d*d*d==a)
		{printf("%d",a);
		printf("\n");}
		else
			continue;
		
	}
}

运行结果:

【练习8】 利用循环输出如下的图形。

#include<stdio.h>
int main()
{
	int i,j,k;
	for(i=1;i<=5;i++)
	{
		for(j=1;j<=5-i;j++)
			printf(" ");
		for(k=1;k<=2*i-1;k++)
		{
			printf("*");
		}
		printf("\n");
	}
	return 0;

}

运行结果:

【练习9】 百钱买百鸡问题:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。

#include<stdio.h>

int main()
{
    int a,b,c;
    for(a=1;a<=20;a++)
        for(b=1;b<=33;b++)
        {
            c=100-a-b;
            if(a*5+b*3+c/3==100 && a+b+c==100 && c%3==0)
            printf("公鸡%d只  母鸡%d只  小鸡%d只\n",a,b,c);
        }
    return 0;
}

运行结果:

【练习10】 将10个数2,4,6,8,7,24,57,42,76,86存于数组中,求出这10个数的平均数,并将平均值输出至屏幕。

#include<stdio.h>
int main()
{
	int x[10] = {2,4,6,8,7,24,57,42,76,86};
	int i, sum = 0;/*定义整型变量i和sum,sum赋初始值0*/
	float aver;
	for(i=0;i<10;i++)
		sum=sum+x[i];
	aver=(float)(sum/10);
	printf("%.3f\n",aver);

}

运行结果:

  • 24
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值