C语言练习题1
一、歌手大奖赛
在歌星大赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分其余8个分数的平均值。找出最高分,最低分以及输出平均分。
编程实现。(注意分数越界问题)。
二、抓交通肇事犯
一辆卡车违反交通规则,撞人后逃跑,现场有三人目击事件但都没有记住车号,只记下了一些车号特征,甲说:车牌号有四位,牌照的前两位数数字是相同的;乙说:牌照的后两位是相同的,但和前面两位不同;丙是位数学家,他说:四位的车牌号刚好是一个数的平方,请根据以上线索求出该车牌号。(开平方函数sqrt(int a);在math.h文件里,当然并非一定用到)。
三、有限五位数
个位数为6且能被3整除的五位数有多少?
[解决办法]
第一个用数组采用冒泡排序法即可.
第二个数学不好..哈哈..想不出算法.
第三个做个for循环或者while循环找出5位数5的倍数放到一个链表里.然后遍历链表即可.
[解决办法]
初来乍到,多多指教。
在歌星大赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分其余8个分数的平均值。找出最高分,最低分以及输出平均分。
编程实现。(注意分数越界问题)。
void calstarvalue()
{
int value[10];
int tempmaxvalue;
int tempminvalue;
float sumValue;
for (i = 0; i < 10; ++i)
scanf(" %d", &value[i]);
sumValue= 0;
char i;
for(i=0;i<10;i++)
{
sumValue=+value[i];
if(value[i]>value[i+1])
{
tempminvalue=value[i+1];
tempmaxvalue=value[i];
}
}
printf("\r\n maxValue=%d,minValue=%d,aveValue=%d",tempmaxvalue,tempminvalue,(float )sumValue/10);
}
二、抓交通肇事犯
一辆卡车违反交通规则,撞人后逃跑,现场有三人目击事件但都没有记住车号,只记下了一些车号特征,甲说:车牌号有四位,牌照的前两位数数字是相同的;乙说:牌照的后两位是相同的,但和前面两位不同;丙是位
数学家,他说:四位的车牌号刚好是一个数的平方,请根据以上线索求出该车牌号。(开平方函数sqrt(int a);在math.h文件里,当然并非一定用到)。
void CatchTheCar()
{
int CarNumber;
char i;
for(i=0;i<100;i++)
{
CarNumber=i*i;
if((CarNumber/1000)==((CarNumber/100)%10))
{
if(((CarNumber%100)/10)==(CarNumber%10))
{
if((SqrtNumber%10)!=(SqrtNumber/1000))
printf("\r\n the carnumber is %d",CarNumber);
}
}
}
}
三、有限五位数
个位数为6且能被3整除的五位数有多少?
void findthenumber()
{
long number;
long i;
for(i=10000;i<100000;i++)
{
if((i%10==6)&&(i%3 == 0))
number++;
}
printf("\r\n the number has %d",number);
}
[解决办法]
第一题一个for循环求出10个数的和,最大数最小数,然后和减去最大最小除8就可以了
第二题for(int i=1;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(i!=j)
构造数字然后判断平方根是不是整数
或者int i= sqrt(1000) +1;
for(;i<100;i++)
判断i*i的数是不是符合aabb类型
估计下面的方法效率高
第三题for(int i=10006;i<100000;i+=10)循环求余数