C语言基础题1 - 10个

1、fun函数输出等级制成绩

/*-------------------------------------------------------------------
 题目:请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符。
---------------------------------------------------------------------*/
#include <stdio.h>

/**********Program**********/
	




/**********  End  **********/
void main()
{
	int score,n;
	char p;
	scanf("%d",&score);
	n=score/10;
	p=fun(n);
	printf("%c" , p);

}

答案:

char 【fun】(int n)
{
    char s;
    switch(n)
    {
        case 10: 
        case 9:s='A';break;
        case 8:s='B';break;
        case 7:
    	case 6:s='C';break;
    	default:s='D';
    }    
    return s;
}

完整版:

/*-------------------------------------------------------------------
题目:请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符。
---------------------------------------------------------------------*/
#include <stdio.h>
/**********Program**********/
char fun(int n)
{
	char s;
	switch(n)
	{
		case 10: 
		case 9:s='A';break;
		case 8:s='B';break;
		case 7:
		case 6:s='C';break;
		default:s='D';
	}    
	return s;
}
/**********  End  **********/
void main()
{
	int score,n;
	char p;
	scanf("%d",&score);
	n=score/10;
	p=fun(n);
	printf("%c" , p);
	
}

2、摄氏华氏温度转换

/*-------------------------------------------------------
程序功能:求摄氏温度对应的华氏温度。计算公式:f=9*c/5+32,式中:c表示摄氏温度,f表示华氏温度。
输出示例:
celsius = 26, fahr = 78 
----------------------------------------------------------------------*/
#include <stdio.h>
void main()
{
	int celsius,fahr; 
	scanf("%d",&celsius);
/**********Program**********/
	




/**********  End  **********/	
	printf("celsius = %d, fahr = %d\n", celsius, fahr); 
}

答案

	【fahr】=9*【celsius】/5+32;

完整版

/*-------------------------------------------------------
程序功能:求摄氏温度对应的华氏温度。计算公式:f=9*c/5+32,式中:c表示摄氏温度,f表示华氏温度。
输出示例:
celsius = 26, fahr = 78 
----------------------------------------------------------------------*/
#include <stdio.h>
void main()
{
	int celsius,fahr; 
	scanf("%d",&celsius);
	/**********Program**********/
	fahr = 9 * celsius / 5 + 32;
	/**********  End  **********/	
	printf("celsius = %d, fahr = %d\n", celsius, fahr); 
}

3、比较三个数

/*------------------------------------------------------------
从键盘输入三个整数,比较三个数并显示相应信息,具体如下:
(1)如果三个数都相等,显示"相等";
(2)如果三个数中只有某两个数相等,显示"相似";
(3)如果三个数互不相等,则显示"不同"。
例:
输入:10 10 10
输出:相等
--------------------------------------------------------------*/

#include<stdio.h>
int main()
{   
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a==b && b==c) 
	printf("相等");
/**********Program**********/
	




/**********  End  **********/
printf("相似");
else  printf("不同");
return 0;
}

答案

else if(【a】==【b】|b==【c】|c==a)

完整版

/*------------------------------------------------------------
从键盘输入三个整数,比较三个数并显示相应信息,具体如下:
(1)如果三个数都相等,显示"相等";
(2)如果三个数中只有某两个数相等,显示"相似";
(3)如果三个数互不相等,则显示"不同"。
例:
输入:10 10 10
输出:相等
--------------------------------------------------------------*/

#include<stdio.h>
int main()
{   
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a==b && b==c) 
		printf("相等");
	/**********Program**********/
	else if(a==b || b==c || c==a)
	/**********  End  **********/
	printf("相似");
	else  printf("不同");
	return 0;
}

4、第10次落地

/*-------------------------------------------------------
一小球从100米落下,每次弹跳原来一半高,求第10次落地时经过的距离及第10次弹跳的高度。
(注:使用for循环)
-------------------------------------------------------*/

#include <stdio.h>
main()
{
	int i;
	double h,s;
	s=100;
	h=50;
	/**********Program**********/
	
	
	
	
	
	/**********  End  **********/	
	printf("第10次落地时经过的距离为%f米,第10次弹跳的高度为%f米\n",s,h);
}


答案

/*【for】(i=2;i<=10;i++)
S=s+h*2;
h=h/2;}*/

完整版

/*-------------------------------------------------------
一小球从100米落下,每次弹跳原来一半高,求第10次落地时经过的距离及第10次弹跳的高度。
(注:使用for循环)
-------------------------------------------------------*/

#include <stdio.h>
main()
{
	int i;
	double h,s;
	s=100;
	h=50;
	/**********Program**********/
	for(i=2;i<=10;i++)
	{
		s=s+h*2;
		h=h/2;
	}
	/**********  End  **********/	
	printf("第10次落地时经过的距离为%f米,第10次弹跳的高度为%f米\n",s,h);
}

分析:

代码分析

  • 在这段 C 语言代码中,首先定义了两个整型变量 i,以及两个双精度浮点型变量 hs
  • 变量 s 初始值被设为 100,它用于累加小球每次落地经过的总距离。一开始小球从 100 米高处落下,这 100 米就先计入总距离 s 中。
  • 变量 h 初始值被设为 50,它表示小球第一次弹跳的高度,因为小球从 100 米落下后第一次弹起的高度是下落高度的一半,即 100 / 2 = 50 米。
  • 然后通过 for 循环来模拟小球后续的弹跳过程。循环从 i = 2 开始,因为第一次下落和第一次弹起的情况已经在初始化时处理了,这里从第二次开始计算后续每次弹跳对总距离 s 的影响以及每次弹跳高度 h 的变化。
  • 在循环体中,每次循环都将当前弹跳高度的两倍(弹起和落下的距离)累加到总距离 s 中,然后将当前弹跳高度 h 减半,以模拟下一次弹跳的高度变化。
  • 最后,通过 printf 函数输出第 10 次落地时经过的总距离 s 和第 10 次弹跳的高度 h

计算答案

我们可以手动按照代码的逻辑来计算答案:

  • 初始时:
    • 总距离 s = 100 米(第一次下落的 100 米)
    • 第一次弹跳高度 h = 50
  • 第一次弹跳后(对应代码中循环开始时的情况,此时 i = 2):
    • 总距离 s = 100 + 50×2 = 200 米(加上第一次弹起和落下的距离)
    • 第二次弹跳高度 h = 50÷2 = 25
  • 第二次弹跳后(i = 3):
    • 总距离 s = 200 + 25×2 = 250
    • 第三次弹跳高度 h = 25÷2 = 12.5
  • 以此类推,不断重复上述计算过程,直到 i = 10

经过详细计算(或者也可以直接运行代码得到结果),最终得到:

  • 10 次落地时经过的距离约为 299.609375 米。
  • 10 次弹跳的高度约为 0.097656 米。

5、比较三个数

/*------------------------------------------------------------------------
程序功能:从键盘输入三个整数,比较三个数并显示相应信息,具体如下:
(1)如果三个数都相等,显示"***";
(2)如果三个数中只有某两个数相等,显示"@@";
(3)如果三个数互不相等,则显示"&"。
(输出要换行)
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
      Program-End之间删除【?】填入若干语句。不要删除标志否则不得分。
----------------------------------------------------------------------*/
#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    if(a==b && b==c) 
 printf("***\n");
/**********Program**********/
	




/**********  End  **********/
printf("@@\n");
    else  printf("&\n");

    return 0;
}

答案

else if(a==b || b==c || c==a)

完整版

/*------------------------------------------------------------------------
程序功能:从键盘输入三个整数,比较三个数并显示相应信息,具体如下:
(1)如果三个数都相等,显示"***";
(2)如果三个数中只有某两个数相等,显示"@@";
(3)如果三个数互不相等,则显示"&"。
(输出要换行)
------------------------------------------------------------------------
注意:部分源程序给出如下。请勿改动主函数main或其它函数中给出的内容,仅在
Program-End之间删除【?】填入若干语句。不要删除标志否则不得分。
----------------------------------------------------------------------*/
#include<stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	if(a==b && b==c) 
		printf("***\n");
	/**********Program**********/
	else if(a==b || b==c || c==a)
	/**********  End  **********/
	printf("@@\n");
	else  printf("&\n");
	
	return 0;
}

6、fun函数输出等级制成绩

/*--------------------------------------------------------
题目:请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符。(注:使用switch)
例:
输入:59
输出:D
----------------------------------------------------------*/

#include <stdio.h>
char fun (int n)
{
	char s;
/**********Program**********/
	




/**********  End  **********/	
	return s;
}

void main()
{
	int score,n;
	char p;
	scanf("%d",&score);
	n=score/10;
	p=fun(n);
	printf("%c" , p);

}

答案

    switch(n)
    {
        case 10: 
        case 9:s='A';break;
        case 8:s='B';break;
        case 7:
    	case 6:s='C';break;
    	default:s='D';
    }   

完整版

/*--------------------------------------------------------
题目:请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符。(注:使用switch)
例:
输入:59
输出:D
----------------------------------------------------------*/

#include <stdio.h>
char fun (int n)
{
	char s;
/**********Program**********/
   
/**********  End  **********/	
	return s;
}

void main()
{
	int score,n;
	char p;
	scanf("%d",&score);
	n=score/10;
	p=fun(n);
	printf("%c" , p);

}

7、不用第三个变量,实现两个数的对调

/*-------------------------------------------------------
功能:不用第三个变量,实现两个数的对调操作。
--------------------------------------------------------*/
#include <stdio.h>
main()
{ 
	int a,b;
	scanf("%d%d",&a , &b );
	printf("a=%d,b=%d\n",a,b);
	/**********Program**********/
	
	
	
	
	
	/**********  End  **********/    
	printf("a=%d,b=%d\n", a,b);
}

答案

【a】=a+b;b=a-b;a=a-b ;

完整版

/*-------------------------------------------------------
功能:不用第三个变量,实现两个数的对调操作。
--------------------------------------------------------*/
#include <stdio.h>
main()
{ 
	int a,b;
	scanf("%d%d",&a , &b );
	printf("a=%d,b=%d\n",a,b);
	/**********Program**********/
	a=a+b;
	b=a-b;
	a=a-b ;
	/**********  End  **********/    
	printf("a=%d,b=%d\n", a,b);
}

8、摄氏华氏温度转换

/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------

题目:求输入一摄氏温度对应输出的华氏温度。
      计算公式:f = 9*c/5 + 32,其中:c表示摄氏温度,f表示华氏温度。

例如:输入c :36, 输出f = 96 

-------------------------------------------------------*/
#include <stdio.h>
void main()
{
    int c, f;  
    /**********Program**********/





    /**********  End  **********/

    printf("c = %d, f = %d\n", c, f); 
}

答案

scanf("%d",&c);
f=9*c/5 + 32;

完整版

/*-------------------------------------------------------
【程序设计】
---------------------------------------------------------
题目:求输入一摄氏温度对应输出的华氏温度。
计算公式:f = 9*c/5 + 32,其中:c表示摄氏温度,f表示华氏温度。
例如:输入c :36, 输出f = 96 
-------------------------------------------------------*/
#include <stdio.h>
void main()
{
	int c, f;  
	/**********Program**********/
	scanf("%d",&c);
	f=9*c/5 + 32;
	/**********  End  **********/
	printf("c = %d, f = %d\n", c, f); 
}

9、用函数交换两个整数

/*-------------------------------------------------------
通过函数的调用,实现两个整数的交换输出。
输入:54 45
输出:45,54
-------------------------------------------------------*/
#include <stdio.h>
void swap(int m,int n);
main()
{
	int a,b;
	printf("请输入两个整数:");
	scanf("%d%d",&a,&b);
	swap(a,b);
}
/**********Program**********/
	




/**********  End  **********/
printf("%d,%d\n",m,n);
}

答案

void swap(int m,int n)
{ 
	int t;
	t=m;
	m=n;
	n=t;

完整版

/*-------------------------------------------------------
通过函数的调用,实现两个整数的交换输出。
输入:54 45
输出:45,54
-------------------------------------------------------*/
#include <stdio.h>
void swap(int m,int n);
main()
{
	int a,b;
	printf("请输入两个整数:");
	scanf("%d%d",&a,&b);
	swap(a,b);
}
/**********Program**********/
void swap(int m,int n)
{ 
	int t;
	t=m;
	m=n;
	n=t;
/**********  End  **********/
printf("%d,%d\n",m,n);
}

10、简易计算器

/*-------------------------------------------------------
功能:编写一个简单计算器程序,输入格式为:a op b。其中 a和b是
参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。 
例:(注意输出格式)
输入:3,+,4
输出:3.000000+4.000000=7.000000
--------------------------------------------------------*/
#include<stdio.h>
main() 
{ 
	float a,b;
	char op;
	printf("Please enter a,b and op:");
	scanf("%f,%c,%f",&a,&op,&b);
	switch(op)
	{ 
		/**********Program**********/
		
		
		
		
		
		/**********  End  **********/
		case '/':
			if(b!=0) 
				printf("%f/%f=%f\n",a,b,a/b);
			else
				printf("error!\n");
			break;
		default:
			printf("error!\n");
			break;
	}
}

答案

	case '+':
			printf("%f+%f=%fn",a,b,a+b);
			break;
		case'-':
			printf("%f-%f=%f\n",a,b,a-b);
			break;
		case '*':
			printf("%f*%f=%f\n",a,b,a*b);
			break;

完整版

/*-------------------------------------------------------
功能:编写一个简单计算器程序,输入格式为:a op b。其中 a和b是
参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。 
例:(注意输出格式)
输入:3,+,4
输出:3.000000+4.000000=7.000000
--------------------------------------------------------*/
#include<stdio.h>
main() 
{ 
	float a,b;
	char op;
	printf("Please enter a,b and op:");
	scanf("%f,%c,%f",&a,&op,&b);
	switch(op)
	{ 
		/**********Program**********/
		case '+':
			printf("%f+%f=%fn",a,b,a+b);
			break;
		case'-':
			printf("%f-%f=%f\n",a,b,a-b);
			break;
		case '*':
			printf("%f*%f=%f\n",a,b,a*b);
			break;
		/**********  End  **********/
		case '/':
			if(b!=0) 
				printf("%f/%f=%f\n",a,b,a/b);
			else
				printf("error!\n");
			break;
		default:
			printf("error!\n");
			break;
	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值