C语言基础题,用的WIN-TC,高手来帮解决一下!~谢谢

准备考试了,选修课,不想去费脑筋(其实是不太会),高手来帮忙解决一下!~会哪题请带上题号,谢谢,程序简洁明了,后带getch();截屏函数~用的是WIN-TC编写的!1.... 准备考试了,选修课,不想去费脑筋(其实是不太会),高手来帮忙解决一下!~会哪题请带上题号,谢谢,程序简洁明了,后带getch(); 截屏函数~
用的是WIN-TC编写的!

1.运输公司对用户计算运费,距离越远公里运费越低。标标准如下:

s<250 没有折扣
250<s<=500 2%折扣
500<s<=1000 5%折扣
1000<s<=2000 8%折扣
2000<s<=3000 10%折扣
3000<s 15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s。折扣为d,总运费f的计算公式f=p*w*s*(1-d)。编程计算货物的总运费。

2. 计算1!+2!+…+10!, 并输出结果。
(n!=1+!+2!+…+n!)

3.从键盘上输入一个数,如果是奇数,输出该数,否则输出三个感叹号。

4.编程完成一个求n!程序,n的值由键盘输入。(n!=1*2*3*4*….*n)

5.输入4个整数,比较大小并按从大到小输出。

6.输出以下图形:n=5 A
BBB
CCCCC
DDDDDDD
EEEEEEEEEE

7.输入一个正整数,判断奇偶并输出。

8.计算1!+2!+…+10!, 并输出结果。(n!=1+!+2!+…+n!)

9.从键盘上输入一个数,如果是奇数,输出该数,否则输出三个感叹号。

10.找出所有的3位数,它和它的各位数字的立方刚好相等,例如153=1 +5 +3
11.求10个学生的平均成绩:10个学生成绩能输入,最后输出平均成绩。
(编写函数average();用于完成求10个学生的平均成绩。)

提示:参考
比较两个数并输出大者:
#include "stdio.h"
int max(int x,int y)
{
int z;
if(x>y)
z=x;
else
z=y;
return(z);
}
main()
{ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("Max is %d",c);

getch();
}

这个是必考题!~~~~~帮帮忙 谢谢!~
展开
 我来答
qzhao_1
2011-05-09 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:76%
帮助的人:4397万
展开全部
3.
#include <stdio.h>

void main()
{
int n;
scanf("%d",&n);
if( (n % 2) != 0)
printf("%d is odd !\n", n);
else printf("!!!\n");
getch();
}

4. 递归求阶乘
#include <stdio.h>
void main()
{
int n, res=0;
scanf("%d",&n);
res=cal(n);
printf("res=%d\n",res);
}

int cal(n)
int n;
{
if(n==1)
return(1);
else
return cal(n-1);
}

7. 输出奇数、偶数
void main()
{
int n;
scanf("%d",&n);
if((n % 2) == 0)
printf(" %d is even num\n",n);
else if( (n %2) != 0)
printf("%d is odd num\n",n);
}
11题的提示:
不需要求两个数的较大者。你用两个循环体:
(1)、变量 i 用于控制循环 10 个学生的
(2)、变量 j 用于控制输入几门课程的
再定义一个数组存放成绩,最后求平均即可。

2 题可参考第4题的递归函数。
定义一个整型变量 i,从 1 到 10 循环10次,调用递归子函数,然后存到一个结果变量中。
匿名用户
2011-05-09
展开全部
我现在没有充足的时间编出程序,给点提示,如果还是编不出来,再联系我。
1.使用if-else语句
2.使用递归和循环。
3.首先要求从键盘输入数字,用scanf()函数,然后判断是不是奇数,加一能被2整出就行。或者处以2余一。如果是奇数,用printf()函数输出三个!即可。
4.其实是2的一部分。用递归和和循环即可。
5.用冒泡排序,或者选择排序。可以使用数组。
6.如果不要求输入n=5,而是直接输出结果,可以这样,用printf()函数直接输出,注意使用空格就行。
7.用scanf()接收数据,然后判断,除以2余数为0即为偶数,余数为1即为奇数。
8.和2重复。
9.和3重复
10.使用穷举法,输入一个3位数,分别把个位,十位,百位数字提取出来。方法是,整除100,取结果,即为百位,原数减去百位乘以100,再除以10,取结果即为十位。最后再减去十位乘以10,留下的便是个位数。然后比较三个数的立方和是否与原数相等,等就输出。
11.如果不要求任意输入10个学生成绩的话,那就直接输出,把十个数相加再除以10,即可,但是要注意数据类型。否则你会得到哭笑不得的结果。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wfglyh
2011-05-15
知道答主
回答量:10
采纳率:0%
帮助的人:1.5万
展开全部
第一个题不太懂你的意思,应该是输入一个S,而得到一个运费结果吧。是这样的话:
(1)
#include"stdio.h"
main()
{
float f,p,w,s,d;
scanf("%f",&s);
scanf("%f",&p);
scanf("%f",&w);
if(s<=250) d=0;
else if(s>250&&s<=500) d=2%;
else if(s>500&&s<=1000) d=5%;
else if(s>1000&&s<=2000) d=8%;
else if(s>2000&&s<=3000) d=10%;
else d=15%;
f=s*p*w*(1-d) ;
printf('%f\n",f):
}
(5) #include"stdio.h"
main()
{
int a[4],i,j,t;
for(i=0;i<4;i++)
scanf("%d",a[i]);
for(i=0;i<4;i++)
{
for(j=i+1;j<4;j++)
if(a[j]>a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
fot(i=0;i<4;i++)
printf("%4d",a[i]);
}
有时间再回答其它的,呵呵,祝你顺利通过考试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ling781039641
2011-05-12
知道答主
回答量:10
采纳率:0%
帮助的人:4万
展开全部
// 2题
#include<stdio.h>
#define N 10 //N可改
main()
{
int i,n=1;
long p=0;
for(i=1;i<=N;i++)
{
n=n*i;
p=p+n;
printf("%d!+",i);
}
printf("\b=%ld\n",p);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式