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);
}

你说的是第四题吧
你这样做明显不符合题目要求,看以下程序:
#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);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-10
楼上说的对
再改成z=1*(x>10&&x<=15)+2*(x>8&&x<=10)+3*(x<=8);
就不用下面的switch了,直接打印z就是个数了,当然是在输入的值是大于0的前提下
第2个回答  2009-10-17
#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;
第3个回答  2019-03-06
你调用的这句sort(
&aa[3],
5)
;明显是只对4,5,6,7,8这几个元素进行排序嘛
所以结果应该是1,2,3,8,7,6,5,4,9,10,
改成sort(
&aa[0],
10)就行了
第4个回答  2019-11-02
只要搞清楚算法就可以了啊。。楼上说得很明白啊你这里的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]为止)
第5个回答  2020-06-25
如此类推结果就是:10 9 8 7 6 5 4 3 2 1
相似回答