郑轻OJ前50题答案+详细解析

前言:

  • 学习编程刷题是最不可缺的,当没思路的时候就来看一下答案(那必须得豁然开朗)
  • 今为大家详细解析郑轻acm.zzuli.edu.cn(点击跳转)前50题 由作者Godyu负责解析哦~
  • 如果哪段代码有什么不懂加QQ1641281102 直接轰炸我好吧~( 欢迎交流
#include <stdio.h>
int main()
{
 printf("从今天开始入坑C语言");
return 0;
}

#include<stdio.h>
int main()
{
    int a,b;//定义整形数据a,b
    scanf("%d %d",&a,&b);//从键盘读入a,b
    printf("%d",a+b);//输出a,b的和
    return 0;//正常退出
}
#include<stdio.h>
int main()
{
    int x;//定义整型x
	scanf("%d",&x);//从键盘读入x的值
	
	printf("%d",2*x*x+x+8);
	return 0;//正常退出
}

#include<stdio.h>
int main()
{
    int num1,num2;//定义整形数据num1,num2
    scanf("%d%d",&num1,&num2);//从键盘读入num1,num2
	printf("%d %d %d %d %d",num1+num2,num1-num2,num1*num2,num1/num2,num1%num2);//输出两个数的和、差、积、商及余数
    return 0;//正常退出
}
#include<stdio.h>
int main()
{
    int x;
    scanf("%d",&x);//这是从键盘读入x
    printf("%d %d %d\n",x%10,(x/10)%10,(x/100)); // 依次输出个位、十位、百位上的数字。
    return 0;
}

//是注释部分哦 ,前面这几个题不怎么难呢~ 加油 冲冲冲!!

#include<stdio.h>
int main()
{
    int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	printf("%-9d%-9d%-9d\n",a,a*a,a*a*a);//第一行,中间不要加空格。
	printf("%-9d%-9d%-9d\n",b,b*b,b*b*b);
	printf("%-9d%-9d%-9d\n",c,c*c,c*c*c);
	
	return 0;
}
#include<stdio.h>
int main()
{
    int a,b,c;
	scanf("%d %d %d",&a,&b,&c);//键盘输入首项a,末项b,公差c
	printf("%d",(a+b)*((b-a)/c+1)/2);
	
return 0;//正常结束
}

运用公式(a1+an)*n/2,a是首项,b是末项,求出项数,计算即可 啊你得记住等差公式 先在演草本上算算~

继续往下干!冲啊!

答案1:

#include<stdio.h>
int main()
{
    int m,n,x,y;
    scanf("%d %d",&m,&n);//键盘输入头的数量m,脚的数量n的值
    x=2*m-n/2; //鸡的个数x
    y=n/2-m;//兔子的个数y
    printf("%d %d",x,y);//输出鸡的个数x和兔子的个数y
	return 0;//正常结束
}

本题多解,Godyu此题用的其他方法解的,,但是找不到以前写的了 这个写法也挺简单的

#include<stdio.h>
int main()
{
    double a,b;//定义两个双浮点数a,b
    scanf("%lf",&a);//键盘输入a的值
    b=a*6.5573;//根据题目单位换算
    printf("%.2lf",b);//格式化输出b,两位小数
    return 0;//正常退出
}

此次用到双浮点数 我这里直接附带上咱老大哥翁恺的介绍~

#include <stdio.h>

int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	float d=1.0*(a+b+c)/3;
	printf("%.2f\n",d);
	
	return 0;
}

double为双浮点数对应lf -float单浮点数对应f

#include<stdio.h>
#define PI 3.14159//宏定义PI,类似于定义变量并且赋初值
int main()
{
    double r;//定义实型变量r
    scanf("%lf",&r);//键盘输入r
    printf("%.2lf %.2lf",PI*2*r,PI*r*r);//输出半径为r的圆的周长和面积
    return 0;//正常退出
}
#include<stdio.h>
#define PI 3.14159//宏定义PI,类似于定义变量并且赋初值
int main()
{
     double r,h;//定义整型变量r和h
    scanf("%lf %lf",&r,&h);//键盘输入r和h
    printf("%.2lf",PI*2*r*r+PI*2*r*h);//计算并输出圆柱体的表面积
    return 0;//正常退出
}
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b;//定义实型变量a,b;其中a为输入值,b为求得的绝对值
    scanf("%lf",&a);//键盘输入a
    b=fabs(a);//为b赋值为函数fabs执行后的值
    printf("%.2lf",b);//输出绝对值
}

此题用到函数fabs-用法在//上 注意用到数学函数前面必须加数学函数头文件!

#include<stdio.h>
#include<math.h>
int main()
{
    double x1,x2,y1,y2,d;//定义五个实型变量,d表示两点距离
    scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);//键盘输入两点的横纵坐标
    d=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));//运用sqrt函数进行计算两点间的距离
    printf("%.2lf",d);//输出两点间的距离,保留两位小数
    return 0;//正常退出
}

再次用到数学函数sqrt 进行开根号(要用数学函数噢)

#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,p,S;//定义五个实型变量
    scanf("%lf %lf %lf",&a,&b,&c);//键盘输入三角形的三边值
    p=0.5*(a+b+c);//p为半周长
    S=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式计算面积S
    printf("%.2lf",S);//输出三角形的面积值S
    return 0;//正常退出
}

我们初高中都学过海伦公式 不知道你忘了没~

#include<stdio.h>
int main()
{
	int m1, n1, t1, m2, n2, t2;
	scanf("%d:%d:%d", &m1, &n1, &t1);
	scanf("%d:%d:%d", &m2, &n2, &t2);
	printf("%d\n", 3600 * (m2 - m1) + 60 * (n2 - n1) + 1 * (t2 - t1));
	return 0;
}

本题感谢评论区校友提醒改正,scanf_s主流编译软件只有vs studio能识别

#include<stdio.h>
int main()
{
    int a1,a2,b1,b2,c1,c2,t;//定义整型变量
    scanf("%d:%d:%d\n%d:%d:%d",&a1,&b1,&c1,&a2,&b2,&c2);//键盘输入格式要求的值
    //这里分号记得按照英文:而不能中文符号:不然会报错
    t=a2*3600+b2*60+c2-(a1*3600+b1*60+c1);//计算时间间隔t
    printf("%d",t);//输出时间间隔
    return 0;//正常退出
}

#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c;//定义实型变量a,b,c;a也可以定义为整型变量。这和类型强制转换有关系。
    scanf("%lf %lf",&a,&b);//键盘输入存款年数a,和本金b
    c=pow(1.0225,a);//计算按照利率存一定年数后,钱数和本金间的关系
    printf("%.6lf",c*b);//输出在银行存款收益
    return 0;//正常退出
}

POW,是C、C++中的数学函数,功能为计算x的y次幂,返回幂指数的结果-来自百度搜索

本次使用到数学中的pow函数噢!~

#include <stdio.h>
#include <math.h>
int main()
{
    double a;
    scanf("%lf",&a);
    int c=log10(a)+1;
    printf("%d",c);
    return 0;
}

本题用到log函数 用法如题目所示

#include<stdio.h>
int main()
{
    int x;//定义整型变量x
    scanf("%d",&x);//键盘输入x
    if(x%2==0)//如果对二取余结果等于0
        printf("even");//输出even
    else//否则
        printf("odd");//输出odd
    return 0;//正常退出
}
#include<stdio.h>
int main()
{
    int x;//定义整型变量x
    scanf("%d",&x);//键盘输入购票数量x
    if(x>=30)//如果购票数量x大于30
        printf("%d",48*x);//输出每张门票48元的计算结果
    else//否则
        printf("%d",50*x);//输出每张门票50元的计算结果
    return 0;//正常退出
}
#include<stdio.h>
int main()
{
    int x,y;//定义整型变量x,y
    scanf("%d %d",&x,&y);//键盘输入数字x,y
    if(x>y)//如果第一个数比第二个数大
        printf("%d %d",y,x);//先输出第二个数
    else//否则
        printf("%d %d",x,y);//先输出第一个数

    return 0;//正常退出
}

(来自翁恺)的交换法~下一题要用到噢 以后做其他题也要用到请同学认真观看!

答案2:

#include<stdio.h>
int main()
{
    int a,b,c,max;//定义四个整型变量a,b,c和max
	scanf("%d %d %d",&a,&b,&c);//键盘读入a,b,c的值
	max=(a>b)?a:b;//判断a是否大于b,如果大于就max=a,否则max=b
	max=(c>max)?c:max;//判断c是否大于max,如果大于就max=c,否则max不变
	printf("%d",max);//输出max的值
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    int a,b,c,t;//定义四个整型变量a,b,c和t,t的作用是中转
	scanf("%d %d %d",&a,&b,&c);//键盘读入a,b,c的值
	//从大到小输出三个数,就把三个数最大的给a,最小的给c,再依次输出a,b,c即可
	//这种情况,a是比b大的,所以如果不是,那就让这两个数交换值
	if(b>a)
	{t=a;
	 a=b;
	 b=t;}
	//同理,a应该比c也大,再比较a和c的值,看看是否符合
	if(c>a)
	{t=a;
	 a=c;
	 c=t;}
	//完成上面两步,a是最大的了,b和c两个数中,谁小谁应该是c
	if(c>b)
	{t=c;
	 c=b;
	 b=t;}
	printf("%d %d %d",a,b,c);//输出已经排好序的三个数的值即可
	return 0;//程序正常退出
}

猜出你可能不懂~(第一次学Godyu也不懂,反复观看才懂-也可以看B站其他人解法(个人认为b站有的人关于此题讲的比他好,后期我会更换翁恺单独讲的这题)

#include<stdio.h>
int main()
{
    char ch;//定义一个字符型变量ch
	scanf("%c",&ch);//键盘读入a的值
	if(ch>='a'&&ch<='z')//如果字符的范围在a-z之间
        ch-=32;//根据ASCII表发现小写字母比其大写大32,减去32就输出了对应的值
	printf("%c",ch);//输出字符ch变化后的值
	return 0;//程序正常退出
}
图片[1],郑轻OJ前50题答案+详细解析,网络安全爱好者中心-神域博客网
#include<stdio.h>
int main()
{
    char ch;//定义一个字符型变量ch
	scanf("%c",&ch);//键盘读入a的值
	if(ch>='a'&&ch<='z')//如果字符的范围在a-z之间
        ch-=32;//根据ASCII表发现小写字母比其大写大32,减去32就输出了对应的值
	printf("%d",ch-64);//这时字母全部变为大写按照整型,输出字符ch-64后的值
	//也可以用语句:printf("%d",ch-'A'+1);这里的A要用''圈起来,表示字符
	/*
     if(ch>='a'&&ch<='z')//如果字符的范围在a-z之间
     printf("%d",ch-'a'+1);
     else if(ch>='A'&&ch<='Z')//否则如果字符的范围在A-Z之间
     printf("%d",ch-'A'+1);
	*/
	return 0;//程序正常退出
}

本题也是对条件语句的考察,字符型char,用到char,以及格式化输出,我们可以把char按照%d输出,再看这一题,可以根据1023代码改写。先都转化为小写进行计算,也可以直接大小写分开算,那么这个序号如何实现呢?先大小写转化后,因为a是65,那么直接减去64,每个序号也都出来了。或者根据表中顺序,a最小,那么我们可以每个都减去a,发现这样的26字母分别对应0-25,再都+1就符合题意。再或者将大小写分开运算也可以。-梦启源

#include<stdio.h>
int main()
{
    char a;
	char b; 
	char c;//定义三个字符变量a,b,c
	scanf("%c %c %c",&a,&b,&c);//键盘读入三个字符变量
	//这里为了防止出现问题一定要记得加 分隔
	//逐个读取时候可以穿插两个getchar()语句,吸收掉空格
	if(a>=b&&a>=c)//如果a比两个都大
	    printf("%c",a);
	if(b>=a&&b>=c)//如果b比两个都大
	    printf("%c",b);
	if(c>=a&&c>=b)//如果c比两个都大
	    printf("%c",c);
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    char ch;//定义字符变量ch
	scanf("%c",&ch);//键盘输入ch的值
	if(ch>='a'&&ch<='z')//如果ch属于小写字母
	    printf("lower");
    else if(ch>='A'&&ch<='Z')//如果ch属于大写字母
        printf("upper");
    else if(ch>='0'&&ch<='9')//如果ch属于数字
        printf("digit");
    else//否则
    printf("other");
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    int a,b,c,d;//定义abcd其中a是输入的数字,bcd储存各个位上的数字
	scanf("%d",&a);//键盘输入a
	b=a%10;//b储存个位数字
	c=(a/10)%10;//c储存十位数字
	d=(a/100)%10;//d储存百位数字
	if(a==c*c*c+b*b*b+d*d*d)//如果a满足水仙花数的条件
       printf("yes");
	else//否则
	    printf("no");
	return 0;//程序正常退出
}

不得不说这题挺费脑筋的 我们得知道闰年是怎么判断的

什么年是闰年,并不是每四年都是闰年,如果是百年,要是四百的倍数才是闰年,比如1900年就不是闰年。

1.能被4整除而不能被100整除

2.能被400整除的

#include<stdio.h>
int main()
{
    int x;//定义年份x
	scanf("%d",&x);//键盘输入x
	if((x%400)==0||(x%4==0&&x%100!=0))//如果符合闰年条件
		printf("Yes");
	else//否则
	    printf("No");
	return 0;//程序正常退出
}

#include<stdio.h>
int main()
{
    int a,b,c;//定义三角形三边长abc
	scanf("%d %d %d",&a,&b,&c);//键盘输入abc
	if((a+b)>c&&(b+c)>a&&(c+a)>b)//如果能构成三角形
       printf("Yes");
	else//否则
	    printf("No");
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    int a,b,c;//定义三边长abc
	scanf("%d %d %d",&a,&b,&c);//键盘输入三边abc
	if((b*b==c*c+a*a)||(a*a==b*b+c*c)||(c*c==b*b+a*a))//如果满足勾股定理
       printf("yes");
	else//否则
	    printf("no");
	return 0;//程序正常退出
}

#include<stdio.h>
int main()
{
    int x,y;//定义点的横纵坐标值x和y
	scanf("%d %d",&x,&y);//键盘输入点的横纵坐标值
	if(x>0&&y>0)//如果点在第一象限
		printf("1");
	else if(x<0&&y>0)//如果点在第二象限
		printf("2");
	else if(x<0&&y<0)//如果点在第三象限
	    printf("3");
	else if(x>0&&y<0)//如果点在第四象限
	    printf("4");
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    double n,s;//用n表示销售额,s表示工资,double范围更大,精度更高
	scanf("%lf",&n);//输入销售额
	if(n<=10000)//如果销售额小于1w元
	{
		s=1500+n*0.05;
	    printf("%.2f",s);
		
	}
    else if(n>10000&&n<=50000)//如果销售额在1w-5w元之间
     {
     	 s=2000+(n-10000)*0.03;
        printf("%.2f",s);
	 }
     else if(n>50000)//如果销售额大于5w元
     {
     	s=3200+(n-50000)*0.02;
        printf("%.2f",s);
	 }
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    double n;//定义一个成绩n
	scanf("%lf",&n);//键盘输入n的值
	if(n>=90)//如果n大于等于90
	    printf("A");
	else if(n>=80&&n<90)//如果n大于等于80
	    printf("B");
	else if(n>=70&&n<80)//如果n大于等于70
	    printf("C");
    else if(n>=60&&n<70)//如果n大于等于60
       printf("D");
    else if(n<60)//如果n小于60
    printf("E");
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    double n;//定义一个购物金额n
	scanf("%lf",&n);//键盘输入n的值
	if(n>=5000)//如果购物金额是5000+
	    printf("%.2lf",n*0.8);
	else if(n>=3000&&n<5000)//如果购物金额是3000-5000
	    printf("%.2lf",n*0.85);
	else if(n>=1000&&n<3000)//如果购物金额是1000-3000
	    printf("%.2lf",n*0.9);
    else if(n>=500&&n<1000)//如果购物金额是500-1000
       printf("%.2lf",n*0.95);
    else if(n<500)//如果购物金额小于500
    printf("%.2lf",n);
	return 0;//程序正常退出
}
#include<stdio.h>
#include<math.h>
int main()
{
    
	int x,y;//定义整数x和函数结果y
	scanf("%d",&x);//输入整数x
	 if(x>=3)//如果x满足条件1
	{	y=3*x+4;
	    printf("%d",y);	}
	if(x<-2)//如果x满足条件2
	{	y=7-2*x;
	    printf("%d",y); }
	if(x>=-2&&x<3)//如果x满足条件3
	{	y=5-fabs(3*x+2);
	    printf("%d",y); }
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    
	int a,b;//定义年份a和月份b
    scanf("%d %d",&a,&b);//键盘输入年份 a和月份 b的值
    switch(b)
    {case 1: case 3: case 5: case 7: case 8: case 10: case 12: 
    printf("31");//根据规律1.3.5.7.8.10.12是31天
    break;
    case 2://特殊的2月要进行判断
        if(a%400==0||a%4==0&&a%100!=0)//闰年判断,符合输出29
        printf ("29");
        else//不符合输出28
        printf ("28");
        break;
    default: printf("30");//其他情况输入30
    break;} 
	return 0;//程序正常退出
}
#include<stdio.h>
#include<math.h>
int main()
{
    
	double s1,s2;//定义实数s1和s2
	char op;//定义操作运算符op
	scanf("%lf %c %lf",&s1,&op,&s2);//键盘按照要求读入三者的值
	switch(op)
	{
		case'+':printf("%.2lf",s1+s2);break;//加号就加法运算
		case'-':printf("%.2lf",s1-s2);break;//减号就减法运算
		case'*':printf("%.2lf",s1*s2);break;//称号就乘法运算
		case'/':
		//除运算特殊一点,原因是对于0的数据处理
		if(fabs(s2)>1e-10)//如果被除数不是0
		printf("%.2lf",s1/s2);//进行除法运算
		else //说明被除数为0
		printf("Wrong input!");break;//输出错误输入提示
		default:printf("Wrong input!");break;//如果不符合四则运算要求,也输出错误输入提示
	}
	return 0;//程序正常退出
}

#include<stdio.h>
#include<math.h>
int main()
{
    
	int a,b,c,max,x;//定义abc三个数字和绝对值最大值max以及输出结果x
	scanf("%d %d %d",&a,&b,&c);//键盘输入abc
	max=fabs(a);//默认使max等于a的绝对值
	x=a;//并默认输出结果x等于a
	if(fabs(b)>max)//如果b的绝对值比max大,执行替换max和x的操作
	{
	max=fabs(b);
	x=b;
	}
	if(fabs(c)>max)//如果c的绝对值比max大,执行替换max和x的操作
	{
		max=fabs(c);
		x=c;
	}
	printf("%d",x);//输出结果x
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    
    int  i,n,x,sum;//定义循环变量i,输入次数n和每次的数字x以及和sum
	scanf("%d\n",&n);//键盘输入输入次数n
	sum=0;//sum初始化为0
	for(i=1;i<=n;i++)//令i=1,每次循环加1,直到i不小于x
	{
		scanf("%d",&x);//键盘输入数字x的值
		sum+=x;//sum每次累加x的值
		//这里sum+=x就是sum=sum+x的意思
	}
	printf("%d",sum);//将累加和sum输出
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    
	int n,i;//定义数字n和循环次数i
	double z,m,sum;//定义分子z和分母m以及和sum
	scanf("%d",&n);//键盘输入数字n的值
	sum=0,m=1,z=1;//给分子分母和赋初值,这个操作也可以在定义时实现
	/*也可以分开赋值写成
	sum=0;
	m=1;
	z=1;*/
	for(i=1;i<=n;i++)//循环n次
	{	
		sum=sum+1.0*z/m;//sum每次进行累加计算
		m=m+2;//分母每次+2
		z=z;//分子不变等于1
	}
	/*这里的sum在前面累加也完全可以放在分子分母发生变化之后
	sum=0,m=-1,z=1;
	for(i=0;i<n;i++)//不同的语句顺序在不同条件下可以实现相同的功能
	{ 
		m=m+2;//分母每次+2
		z=z;//分子不变等于1
		sum=sum+1.0*z/m;//sum每次进行累加计算
	}
	*/
	printf("%.2lf",sum);//输出结果h的值,保留两位小数
	return 0;//程序正常退出
}

#include<stdio.h>
int main()
{
    
	int n,i;//定义数字n和循环次数i
	double z,m,sum,f;//定义分子z和分母m以及和sum,还有符号f
	scanf("%d",&n);//键盘输入数字n的值
	sum=0,m=1,z=1,f=1;//给分子分母和赋初值,这个操作也可以在定义时实现
	for(i=1;i<=n;i++)//循环n次
	{	
		sum=sum+1.0*f*z/m;//sum每次进行累加计算
		m=m+2;//分母每次+2
		z=z;//分子不变等于1
		f=-f;//符号每次改变一次
	}
	printf("%.2lf",sum);//输出结果h的值,保留两位小数
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    
	int n,i;//定义数字n和循环次数i
	double z,m,sum,f;//定义分子z和分母m以及和sum,还有符号f
	scanf("%d",&n);//键盘输入数字n的值
	sum=0,m=1,z=1,f=1;//给分子分母和赋初值,这个操作也可以在定义时实现
	for(i=1;i<=n;i++)//循环n次
	{	
		sum=sum+f*z/m;//sum每次进行累加计算
		m=m+2;//分母每次+2
		z=z+1;//分子每次加1
		f=-f;//符号每次改变一次
	}
	printf("%.3lf",sum);//输出结果h的值,保留三位小数
	return 0;//程序正常退出
}
#include<stdio.h>
#include<limits.h>//新的头文件引入
int main()
{
    
	int  i,n,x,max;//定义整型循环计数变量i,循环次数n,每次的数字x和最大值max
	scanf("%d",&n);//键盘输入n的值
	max=INT_MIN;//使max初值为int范围的最小值-2^31,
	//也可以写max=-2147483647-1,这里的max不能直接写-2147483648因为会超出储存范围
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);//键盘输入数字x
		max=(max>x)?max:x;//如果新的x比max大,那么给max赋新值
	}
	printf("%d",max);//输出最大值max
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
    
	int sum,x,i,n;//定义不合格总和sum,每个成绩x,循环变量i以及循环次数n
	scanf("%d",&n);//键盘输入循环次数也即总人数n
	sum=0;//总和初始化为0
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
		if(x<60)
		 sum=sum+1;//成绩不合格总和就加一
		continue;
	}
	printf("%.2lf",(double)sum/n);//输出两位小数的结果,这里注意强制转换的实现
	return 0;//程序正常退出
}

#include<stdio.h>
int main()
{
    
	int n,i,x;//定义数字数n,循环变量i,以及数字x
	int z,f,l;//定义用来统计的正数z,负数f,和零l
	scanf("%d",&n);//键盘输入n
	z=f=l=0;//给每个统计结果初始化
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);//输入x的值,然后开始判断
		if(x>0)
		z=z+1;
		else if(x<0)
		f=f+1;
		else
		l=l+1;
}
    printf("%d %d %d",f,l,z);//输出负数,0,和正数的个数
	return 0;//程序正常退出
}
#include<stdio.h>
int main()
{
	int  i,n,x,product;//定义循环变量i,循环次数n,数字x,以及积product
	scanf("%d",&n);//键盘输入n
	product=1;//积初始化为1
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
		if(x%2==1)//如果x是奇数
		product*=x;//进行累乘
	}
	printf("%d",product);//输出奇数之积product
	return 0;//程序正常退出
}

#include<stdio.h>
#include<math.h>
int main()
{
	int  i,n,m,x;//定义循环变量i,以及两个数n和m,和输出结果x
	double y;//以及对数结果y
	scanf("%d %d",&n,&m);//键盘输入n和m
	for(i=n;i<=m;i++)
	{
    x=i;//令x等于i
    y=log(x);//y等于x取对数
	printf("%4d%8.4lf\n",x,y);//按照格式输出结果
	}
}
#include<stdio.h>
int main()
{
    int i,n;//定义整型循环变量i和数字n
	double factorial;//定义阶乘结果factorial
	scanf("%d",&n);//输入数字n
	factorial=1.0;//初始化阶乘值1
	for(i=1;i<=n;i++)
	{
		factorial=factorial*i;	//每次都进行阶乘运算
		printf("%-4d%-20.0lf\n",i,factorial);//输出符合格式的阶乘结果
	}
}
#include<stdio.h>
int main()
{
	int  i,n,m,x,y;//定义循环变量i,以及两个数n和m,和输出结果平方和x,立方和y
	scanf("%d %d",&m,&n);//输入m和n的值
	x=0;
	y=0;//初始化x和y
	for(i=m;i<=n;i++)
	{
	   if(i%2==0)
	   x=x+i*i;
	   else
	   y=y+i*i*i;
	   
	}
    printf("%d %d",x,y);
}
#include<stdio.h>
int main()
{
	int n,i;//定义数字n和循环变量i
	double fact,sum;//定义阶乘结果fact和累加和sum
	scanf("%d",&n);//键盘输入n的值
	fact=1.0;
	sum=0;//初始化fact和sum
	for(i=1;i<=n;i++)
	{
		fact=fact*i;//计算阶乘
		sum=sum+fact;//累加阶乘和
	}
	printf("%.0lf",sum);//输出阶乘的累加和
	return 0;//程序正常退出
}
------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞8 分享
评论 共4条
头像
善语结善缘,恶语伤人心
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情图片