几道C语言的题,求解
某下一代亲戚小盆友的题,得知我是程序员后发来求助,但我已改行好多年而且忘了C已更多年了根本想不起来啊!逻辑很简单就是不知道C里面怎么写。。求助。。下面是题目。。若干。。(...
某下一代亲戚小盆友的题,得知我是程序员后发来求助,但我已改行好多年而且忘了C已更多年了根本想不起来啊!逻辑很简单就是不知道C里面怎么写。。求助。。
下面是题目。。若干。。
(1) 编写一个程序实现如下功能,即:判断变量ch是否为数字字符
if((int)x==x)
printf("%f是整数",x)
这样可以吗?
(2) 编写一个程序实现如下功能,即:求y2+x2的运算结果,x,y为整数,由键盘输入
include<math.h>
function (x,y){
return pow(x,2)+pow(y,2);
}
这样可以不?好像C的函数不是这样吧。。。
(3) 编写程序,根据上网时间x计算上网费用y,计算的方法如下:
•当x< 10小时,上网费用: y=20元套餐费
•当10<=x<50小时,上网费用:套餐费加超过10小时部分每小时3元。
•当x>=50小时,上网费用:套餐费加超过10小时部分每小时2.5元
•同时为了鼓励多上网,每月收费最多不超过170元。
总之逻辑呢就是
function xxx(x) {
if (x<10) {y=20;}
elseif(x>=10 && x<50) {y=3*(x-10);}
elseif(x>=50) {y=2.5*(x-10);}
if (y>170) {y=170;}
return y;
}
求C语言版。。
4.编写程序,从键盘输入x值,根据下列分段函数式计算出y的值。
逻辑是这样的:
function xxx(x) {
if (x<=-1){y=x-1;}
elseif(x>-1 && x<=2){y=2*x;}
elseif(x<=2 && x>=10){y=x(平方)+2*x;}
elseif(x>10){y=-1;}
return y;
}
还是求C版
5.编写程序,从键盘输入5个实数,去掉一个最大值,去掉一个最小值,求其他三个数的平均值(输出时要求保留一位小数.)
p如输入2.1,3.5,4.3,1.9,3.7。p则输出3.5+2.1+3.7的平均值:3.1。
哭求答案 展开
下面是题目。。若干。。
(1) 编写一个程序实现如下功能,即:判断变量ch是否为数字字符
if((int)x==x)
printf("%f是整数",x)
这样可以吗?
(2) 编写一个程序实现如下功能,即:求y2+x2的运算结果,x,y为整数,由键盘输入
include<math.h>
function (x,y){
return pow(x,2)+pow(y,2);
}
这样可以不?好像C的函数不是这样吧。。。
(3) 编写程序,根据上网时间x计算上网费用y,计算的方法如下:
•当x< 10小时,上网费用: y=20元套餐费
•当10<=x<50小时,上网费用:套餐费加超过10小时部分每小时3元。
•当x>=50小时,上网费用:套餐费加超过10小时部分每小时2.5元
•同时为了鼓励多上网,每月收费最多不超过170元。
总之逻辑呢就是
function xxx(x) {
if (x<10) {y=20;}
elseif(x>=10 && x<50) {y=3*(x-10);}
elseif(x>=50) {y=2.5*(x-10);}
if (y>170) {y=170;}
return y;
}
求C语言版。。
4.编写程序,从键盘输入x值,根据下列分段函数式计算出y的值。
逻辑是这样的:
function xxx(x) {
if (x<=-1){y=x-1;}
elseif(x>-1 && x<=2){y=2*x;}
elseif(x<=2 && x>=10){y=x(平方)+2*x;}
elseif(x>10){y=-1;}
return y;
}
还是求C版
5.编写程序,从键盘输入5个实数,去掉一个最大值,去掉一个最小值,求其他三个数的平均值(输出时要求保留一位小数.)
p如输入2.1,3.5,4.3,1.9,3.7。p则输出3.5+2.1+3.7的平均值:3.1。
哭求答案 展开
5个回答
展开全部
第一题:
#include<stdio.h>
int main()
{
char ch;
ch = getchar();/*或者scanf("%c", &ch);*/
if(ch >= '0' && ch <= '9')
printf("YES\n");
else printf("NO\n");
return 0;
}
第二题
#include<stdio.h>
#include<math.h>
int main()
{
int x, y;
scanf("%d%d", &x, &y);
printf("%d\n", x*x + y*y);/*或者pow(x, 2) + pow(y, 2);*/
return 0;
}
第三题
逻辑没错,不过忘记加套餐费了
#include<stdio.h>
#include<math.h>
int main()
{
double x, y=20;
scanf("%lf", &x);
if(x>=10 && x<50)
y += 3 * (x-10);
else if(x>=50)
y += 2.5 * (x-10);
if (y>170)y=170;
printf("%.2f\n", y);
return 0;
}
第四题
#include<stdio.h>
#include<math.h>
int main()
{
int x, y;
scanf("%d", &x);
if (x<=-1)
y=x-1;
else if(x>-1 && x<=2)
y=2*x;
else if(x>=2 && x<=10)
y=x*x+2*x;
else if(x>10)
y=-1;
printf("%d\n", y);
return 0;
}
第五题
测试数据没加逗号的,相加可以修改scanf
#include<stdio.h>
#include<math.h>
int main()
{
double sum=0, min, max, x;
int i;
scanf("%lf", &x);
min = max = sum = x;
for(i=1; i<5; i++)
{
scanf("%lf", &x);
sum += x;
if(min > x)min = x;
if(max < x)max = x;
}
printf("%.2f\n", (sum-min-max) / 3);
return 0;
}
#include<stdio.h>
int main()
{
char ch;
ch = getchar();/*或者scanf("%c", &ch);*/
if(ch >= '0' && ch <= '9')
printf("YES\n");
else printf("NO\n");
return 0;
}
第二题
#include<stdio.h>
#include<math.h>
int main()
{
int x, y;
scanf("%d%d", &x, &y);
printf("%d\n", x*x + y*y);/*或者pow(x, 2) + pow(y, 2);*/
return 0;
}
第三题
逻辑没错,不过忘记加套餐费了
#include<stdio.h>
#include<math.h>
int main()
{
double x, y=20;
scanf("%lf", &x);
if(x>=10 && x<50)
y += 3 * (x-10);
else if(x>=50)
y += 2.5 * (x-10);
if (y>170)y=170;
printf("%.2f\n", y);
return 0;
}
第四题
#include<stdio.h>
#include<math.h>
int main()
{
int x, y;
scanf("%d", &x);
if (x<=-1)
y=x-1;
else if(x>-1 && x<=2)
y=2*x;
else if(x>=2 && x<=10)
y=x*x+2*x;
else if(x>10)
y=-1;
printf("%d\n", y);
return 0;
}
第五题
测试数据没加逗号的,相加可以修改scanf
#include<stdio.h>
#include<math.h>
int main()
{
double sum=0, min, max, x;
int i;
scanf("%lf", &x);
min = max = sum = x;
for(i=1; i<5; i++)
{
scanf("%lf", &x);
sum += x;
if(min > x)min = x;
if(max < x)max = x;
}
printf("%.2f\n", (sum-min-max) / 3);
return 0;
}
展开全部
1) 只能说明 小数部分是0 ,,,,不过应该满足你的题意
(2) 编写一个程序实现如下功能,即:求y2+x2的运算结果,x,y为整数,由键盘输入
#include<math.h>
#include<stdio.h>
int function(int x,int y){
return pow(1.0*x,2)+pow(1.0*y,2);
}
int main(){
int x,y;
scanf("%d%d",&x,&y);
printf("%d",function(x,y));
}
(3) 编写程序,根据上网时间x计算上网费用y,计算的方法如下:
•当x< 10小时,上网费用: y=20元套餐费
•当10<=x<50小时,上网费用:套餐费加超过10小时部分每小时3元。
•当x>=50小时,上网费用:套餐费加超过10小时部分每小时2.5元
•同时为了鼓励多上网,每月收费最多不超过170元。
总之逻辑呢就是
#include<stdio.h>
int xxx(int x) {
if (x<10) {y=20;}
else if(x>=10 && x<50) {y=3*(x-10);}
else if(x>=50) {y=2.5*(x-10);}
if (x>170) {y=170;}
return y;
}
int main(){
int y;
scanf("%d",&y);
printf("%d"xxx( y));
}
求C语言版。。
4.编写程序,从键盘输入x值,根据下列分段函数式计算出y的值。
逻辑是这样的:
#include<stdio.h>
int xxx(int x) {
if (x<=-1){y=x-1;}
elseif(x>-1 && x<=2){y=2*x;}
elseif(x<=2 && x>=10){y=x*x+2*x;}
elseif(x>10){y=-1;}
return y;
}
int main(){
int y;
scanf("%d",&y);
printf("%d"xxx( y));
}
5.编写程序,从键盘输入5个实数,去掉一个最大值,去掉一个最小值,求其他三个数的平均值(输出时要求保留一位小数.)
p如输入2.1,3.5,4.3,1.9,3.7。p则输出3.5+2.1+3.7的平均值:3.1。
#include<stdio.h>
int main(){
float ss[5];
float max=-1000,min=10000,sum=0;
for(int i=0;i<5;i++)
{ scanf("%f",&ss[i]);
sum+=ss[i];
if(ss[i]>max)
max=ss[i];
if(ss[i]<min)
min=ss[i];
}
printf("%.1f",(sum-max-min)/3);
}
希望能帮到你。。
(2) 编写一个程序实现如下功能,即:求y2+x2的运算结果,x,y为整数,由键盘输入
#include<math.h>
#include<stdio.h>
int function(int x,int y){
return pow(1.0*x,2)+pow(1.0*y,2);
}
int main(){
int x,y;
scanf("%d%d",&x,&y);
printf("%d",function(x,y));
}
(3) 编写程序,根据上网时间x计算上网费用y,计算的方法如下:
•当x< 10小时,上网费用: y=20元套餐费
•当10<=x<50小时,上网费用:套餐费加超过10小时部分每小时3元。
•当x>=50小时,上网费用:套餐费加超过10小时部分每小时2.5元
•同时为了鼓励多上网,每月收费最多不超过170元。
总之逻辑呢就是
#include<stdio.h>
int xxx(int x) {
if (x<10) {y=20;}
else if(x>=10 && x<50) {y=3*(x-10);}
else if(x>=50) {y=2.5*(x-10);}
if (x>170) {y=170;}
return y;
}
int main(){
int y;
scanf("%d",&y);
printf("%d"xxx( y));
}
求C语言版。。
4.编写程序,从键盘输入x值,根据下列分段函数式计算出y的值。
逻辑是这样的:
#include<stdio.h>
int xxx(int x) {
if (x<=-1){y=x-1;}
elseif(x>-1 && x<=2){y=2*x;}
elseif(x<=2 && x>=10){y=x*x+2*x;}
elseif(x>10){y=-1;}
return y;
}
int main(){
int y;
scanf("%d",&y);
printf("%d"xxx( y));
}
5.编写程序,从键盘输入5个实数,去掉一个最大值,去掉一个最小值,求其他三个数的平均值(输出时要求保留一位小数.)
p如输入2.1,3.5,4.3,1.9,3.7。p则输出3.5+2.1+3.7的平均值:3.1。
#include<stdio.h>
int main(){
float ss[5];
float max=-1000,min=10000,sum=0;
for(int i=0;i<5;i++)
{ scanf("%f",&ss[i]);
sum+=ss[i];
if(ss[i]>max)
max=ss[i];
if(ss[i]<min)
min=ss[i];
}
printf("%.1f",(sum-max-min)/3);
}
希望能帮到你。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
25题是这样的
由于是do
while语句,当i=2时执行该语句,n++为1,当i=3时,由于取余等于0,则跳出该循环,n还是为1,没有变,当i=4时和i=2时一样,n++变为2,由于是do
while语句i等与5时继续循环下去,n++变为3,然后遇到whlie(!i
)不合乎条件,结束该循环。又遇到n++,则n就变为4了。
由于是do
while语句,当i=2时执行该语句,n++为1,当i=3时,由于取余等于0,则跳出该循环,n还是为1,没有变,当i=4时和i=2时一样,n++变为2,由于是do
while语句i等与5时继续循环下去,n++变为3,然后遇到whlie(!i
)不合乎条件,结束该循环。又遇到n++,则n就变为4了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(1)不行。要if(ch>='0' && ch<='9')才行。
(2)不行。要double function (double x,double y){return pow(x,2)+pow(y,2);}才行。
(3)不行。要double functionxxx(int x) {double y;if (x<10) {y=20;}else if(x>=10 && x<50) {y=3*(x-10);}else if(x>=50) {y=2.5*(x-10);}if (y>170) {y=170;}return y;}才行。
(4)不行。要double functionxxx(int x){int y;if (x<=-1){y=x-1;}else if(x>-1 && x<2){y=2*x;}else if(x>=2 && x<=10){y=x*x+2*x;}else if(x>10){y=-1;}return y;}才行。注:x<=2 && x>=10不会成立,有改动。
(5)
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
double x,max,min,sum;
int i;
scanf("%lf",&x);
for(sum=max=min=x,i=1;i<5;i++){
scanf("%lf",&x);
sum+=x;
if(x>max) max=x;
if(x<min) min=x;
}
printf("The result is %.1f\n",(sum-max-min)/3.0);
}
(2)不行。要double function (double x,double y){return pow(x,2)+pow(y,2);}才行。
(3)不行。要double functionxxx(int x) {double y;if (x<10) {y=20;}else if(x>=10 && x<50) {y=3*(x-10);}else if(x>=50) {y=2.5*(x-10);}if (y>170) {y=170;}return y;}才行。
(4)不行。要double functionxxx(int x){int y;if (x<=-1){y=x-1;}else if(x>-1 && x<2){y=2*x;}else if(x>=2 && x<=10){y=x*x+2*x;}else if(x>10){y=-1;}return y;}才行。注:x<=2 && x>=10不会成立,有改动。
(5)
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
double x,max,min,sum;
int i;
scanf("%lf",&x);
for(sum=max=min=x,i=1;i<5;i++){
scanf("%lf",&x);
sum+=x;
if(x>max) max=x;
if(x<min) min=x;
}
printf("The result is %.1f\n",(sum-max-min)/3.0);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询