C语言菜鸟问题

求解1、若根据学生的学号将学生编入A,B,C3组,分组的原则是:学号为3的倍数的编入A,学号被3整除余1的编入B,其余编入C.试编写一个程序,输入一个学生的学号后,要求输... 求解

1、若根据学生的学号将学生编入A,B,C3组,分组的原则是:学号为3的倍数的编入A,学号被3整除余1的编入B,其余编入C.试编写一个程序,输入一个学生的学号后,要求输出该生编入哪个组?
2、试编写一个程序,输入今天是星期几,计算并输出100天后是星期几.
3、试编写一个程序,随机产生一个加法题,如果输入的答案正确,显示”OK”,否则显示”ERROR”.
4、若有一购买西瓜的规则:如果一个西瓜价格在15元以上,不买;如果一个西瓜价格在10-15元,买1个;如果一个西瓜价格在8-10元,买2个;如果一个西瓜价格在8元以下,买3个. 试编写一个程序,输入一个西瓜的价格,输出购买西瓜的个数.
5、试编写一个程序,输入一个正整数,要求判定它是否既是5又是7的整数倍,若是输出yes,否则输出no。
6、试编写一个程序,要求输入整数a, b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。
7、试编写一个程序,实现以下功能,读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可以为+,-,*,/四种运算符号。
只要3,4题 请答第3题 第1个回答第3题的给分哈 急 谢谢!!!

第4题这样对不
#include<stdio.h>
main()
{ float x=0.0,y=0.0;
int z=0;
printf("Input x:");
scanf("%f",&x);
z=1*(x>15)+2*(x>10&&x<15)+3*(x>8&&x<10)+4*(x<8);
switch(z)
{ case 1:y=0;break;
case 2:y=1;break;
case 3:y=2;break;
case 4:y=3;break;
}
printf("x=%f,y=%f\n",x,y);
}
展开
 我来答
tjw408797664
2009-10-04 · TA获得超过1153个赞
知道小有建树答主
回答量:1042
采纳率:0%
帮助的人:705万
展开全部
你说的是第四题吧
你这样做明显不符合题目要求,看以下程序:
#include<stdio.h>
void main()
{
int price,number;
printf("please input a price:");
scanf("%d",&price);
if(price>15)
number=0;
else if(price>=10)
number=1;
else if(price>=8)
number=2;
else if(price>0)
number=3;
printf("购买西瓜的个数:%d\n",number);
}
匿名用户
2009-10-10
展开全部
楼上说的对
再改成z=1*(x>10&&x<=15)+2*(x>8&&x<=10)+3*(x<=8);
就不用下面的switch了,直接打印z就是个数了,当然是在输入的值是大于0的前提下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神延期
2009-10-17
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
void main()
{
int price,number;
printf("please input a price:");
scanf("%d",&price);
if(price>15)
number=0;
else if(price>=10)
number=1;
else if(price>=8)
number=2;
else if(price>0)
number=3;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喻倩郸梦寒
2019-03-06 · TA获得超过3798个赞
知道大有可为答主
回答量:3074
采纳率:35%
帮助的人:230万
展开全部
你调用的这句sort(
&aa[3],
5)
;明显是只对4,5,6,7,8这几个元素进行排序嘛
所以结果应该是1,2,3,8,7,6,5,4,9,10,
改成sort(
&aa[0],
10)就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随泉彭和悌
2019-11-02 · TA获得超过3859个赞
知道大有可为答主
回答量:3193
采纳率:31%
帮助的人:476万
展开全部
只要搞清楚算法就可以了啊。。楼上说得很明白啊你这里的sort()这个函数是将第一个数逐个比较,将大的数与其交换,如1与2比较,2大过1,就将他们交换,就变成2
1,如此类推第二个FOR循环结束之后就是:
10 1 2 3 4 5 6 7 8 9(i=o,
j=1从a[1]开始比较,直到j<9
即:a[9]为止)
10 9 1 2 3 4 5 6 7 8(i=1,
j=2从a[2]开始比较,直到j<9
即:a[9]为止)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
设计秘籍师
2020-06-25 · TA获得超过3592个赞
知道大有可为答主
回答量:3044
采纳率:31%
帮助的人:216万
展开全部
如此类推结果就是:10 9 8 7 6 5 4 3 2 1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式