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,以及两个双精度浮点型变量h和s。 - 变量
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;
}
}

被折叠的 条评论
为什么被折叠?



