C语言题目练习100例——题目+题目分析+源代码(01—10)

【题目1】

题目 :已知x的值,编程求 1/3 e^x * log4^3的值
1.题目分析:
2.题目源代码如下:

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

int main()
{
	double x,y;
	scanf("%lf",&x);
	y=1.0/3 * exp(x) * log(3) / log(4);      //  1要用小数, 换底公式
	printf("y=%lf \n",y);                   //  因为 y为double型 
	return 0; 
}

【题目2】

题目:已知球的半径r,编程求其表面积和体积
1题目分析:球的表面积及体积计算公式:V球=4/3πr^3 和S球=4πr^2。(r为球的半径)
2.题目源代码如下:

#include <stdio.h>
#include <math.h>
#define PI 3.141592		//宏定义

int main()
{
	int r;
    double area,tiji;
    printf("请输入球的半径r: \n");
    scanf("%d",&r);
    area=4*PI*(pow(r,2));
    tiji=(4.0/3)*PI*(pow(r,3));		//4要用小数
    printf("表面积=%lf \n",area);
    printf("体积=%lf \n",tiji);
    return 0;
} 

【题目3】

题目:判断一个年份是否为闰年?
1.题目分析:①非整百年份:能被4整除的是闰年。②整百年份:能被400整除的是闰年。
2.题目源代码如下:

#include <stdio.h>

int main()
{
	int year;
	printf("Please enter a year: \n");
	scanf("%d",&year);
	if((year%4 == 0) &&(year%100 != 0) || (year%400 == 0) && (year%100 == 0))
	{
		printf("%d 是闰年",year);
	}
	else
	{
		printf("%d 不是闰年",year);
	}
	return 0; 
 } 

【题目4】

题目:用选择结构编程,输入一个分数(0–100),得出对应的等级分数(如A,B,C,D,E)
1.题目分析:使用if语句
2.题目源代码如下:

#include <stdio.h>

int main()
{
	int score;             //分数 
	char grade;            //等级 
	
	printf("Please enter a score: \n");
	scanf("%d",&score);                      //输入分数
	
	if(score <= 100 && score >= 0)           //判断分数区间
	{
		if(score < 60)
		grade='E';
		else if(score < 70)
		grade='D';
		else if(score < 80)
		grade='C';
		else if(score < 90)
		grade='B';
		else 
		grade='A';
		
		printf("Your grade is : %c \n",grade);
	}
	else
	{
		printf("error enter \n");
	}
	return 0;
} 

【题目5】

题目:用选择结构编程,输入一个等级分数(如A,B,C),得出对应的分数区间(0–60,60–70…)
1.题目分析:使用switch语句
2.题目源代码如下:

#include <stdio.h>

int main()
{
	char grade;        //变量等级
	printf("Please enter grade : \n");
	scanf("%c",&grade);
	
	switch(grade)
	{
		case 'A':
		case 'a':printf("90-- \n");break;
		case 'B':
		case 'b':printf("80--90 \n");break;
		case 'C':
		case 'c':printf("70--80 \n");break;
		case 'D':
		case 'd':printf("60--70 \n");break;
		case 'E':
		case 'e':printf("0--60 \n");break;
		
		default:printf("error enter \n");	
	}
	return 0;
}

【题目6】

题目:求S=2+4+6+8+…+100(用while实现)
1.题目分析:
2.题目源代码如下:

#include <stdio.h>

int main()
{
	int n=2,s=0;
	
	while(n <= 100)
	{
		s=s+n;
		n=n+2;
	}
	printf("s=%d \n",s);
	return 0;
}

【题目7】

题目:求S=1/1-1/3+1/5-1/7+…-1/99(用for实现))
1.题目分析:
2.题目源代码如下:

#include "stdio.h"

int main()
{
	int i,f=1;
	double s=0;
	
	for(i=1;i<=99;i=i+2)
	{
		s=s+f*(1.0 / i);
		f=-f;      //正负数变换
	}
	printf("s=%lf \n",s);
	return 0;
} 

【题目7】

题目:找m,n二个正整数的最小公倍数
1.题目分析:
2.题目源代码如下:

nclude <stdio.h>

int main()
{
	int i,t,m,n;
	
	printf("Please enter 2 number: \n");
	scanf("%d %d",&m,&n);
	
	if(m<n)         //大小交换 大的:m   小的:n
	{
		t=m;
		m=n;
		n=t;
	}
	for(i=m;i<m*n;i++)
	{
		if(i%m == 0 && i%n == 0)break;
	}
	printf("m,n的最小公倍数是:%d",i);
	return 0;
}

【题目8】

题目:产生20个二位随机整数(10—99)
1.题目分析:利用srand()函数
2.题目源代码如下:

#include "stdio.h"
#include "stdlib.h"
#include "time.h"

int main()
{
	int i,x;
	
	srand(time(NULL));
	for(i=0;i<20;i++)
	{
		x=10+rand()%90;
		printf("%4d",x);
	}
	printf("\n");
}

【题目9】

题目:s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)
1.题目分析:利用for嵌套
2.题目源代码如下:

#include <stdio.h>

int main()
{
	int i,j,n,s1,s=0;
	
	printf("Please enter 1 number:\n");
	scanf("%d",&n);
	
	for(i=1;i<=n;i++)
	{
		s1=0;
		for(j=1;j<=i;j++)
		{
			s1=s1+j;
		}
			s=s+s1;
	}
	printf("s=%d \n",s);
	return 0;
}

【题目10】

题目:编写一函数求s=n!
1.题目分析:
2.题目源代码如下:

#include <stdio.h>

int main()
{
	int i,n,s=1;
	
	printf("Please enter a number:\n");
	scanf("%d",&n);
	
	for(i=1;i<=n;i++)
	{
		s=s*i;
	}
	printf("s=%d \n",s);
	return 0;
}
  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值