1、(B)将一个无符号整数转换为二进制表示存入字符数组中。
3、(B)已知n个学生的注册号和成绩,计算他们的平均成绩,并列出成绩最好的前t名学生的注册号和分数。
5、(B)利用顺序查找法从数组a的10个元素中对关键m进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,返回值-1。请通过参数间的传递来实现
1、(B)将一个无符号整数转换为二进制表示存入字符数组中。
3、(B)已知n个学生的注册号和成绩,计算他们的平均成绩,并列出成绩最好的前t名学生的注册号和分数。
5、(B)利用顺序查找法从数组a的10个元素中对关键m进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,返回值-1。请通过参数间的传递来实现
这3道题都很简单的啊!可惜现在我要玩帝国,没有时间给你写程序了
,
我正准备帮助这个evanhsu的,
楼上的既然这么说,那我也就只给你个思路吧:
第一题:最后要求的是存在字符数组中,那么你就要搞清
无符号整数在内存中占几个字节!在数组中最后存的肯定是0,和1的组合!
另外程序中应该有输入错误数字的判定!
第二题:简单的都不知怎么说好,光是个算啊!要有难度主要在排序上,
可以用流行的冒泡排序!
第三题:算法都规定了,就是让你自己写出c的表达就可以了!
第二题:
/*1.已知n个学生的注册号和成绩,计算他们的平均成绩。 并列出成绩最好的前t名学生的注册号和分数*/
#define N 5 #define T 3
struct student { int ID; int result; }stu[N];
main() { int n,i,j,temp;
for(n=0;n<N;n++){ printf("Please input the student ID:"); scanf("%d",&stu[n].ID); printf("Please input hte student result:"); scanf("%d",&stu[n].result); printf("_________________________________\n"); }
for(i=0;i<N;i++){ for(j=N-2;j>=i;j--){ if(stu[j+1].result>stu[j].result){ temp=stu[j+1].result; stu[j+1].result=stu[j].result; stu[j].result=temp;
temp=stu[j+1].ID; stu[j+1].ID=stu[j].ID; stu[j].ID=temp;
} } }
printf("\n\n");
for(n=0;n<T;n++){ printf("The top_______________________%d\n",1); printf("%d\n",stu[n].ID); printf("%d\n",stu[n].result); getch(); }
}
第三题:
/*5、(B)利用顺序查找法从数组a的10个元素中对关键m进行查找。 顺序查找法的思路是: 从第一个元素开始,从前向后依次与关键字比较,直到找到此元素或查找到数组尾部时结束。 若找到,返回此元素的下标;若仍未找到,返回值-1。请通过参数间的传递来实现*/
#define N 10
int search(int *a,int m) /*查找的函数*/ { int i; for(i=0;i<N;i++) if(a[i]==m) return i;
return -1; }
main() { int a[N],n,m;
for(n=0;n<N;n++){ /*输入数组a的值*/ printf("Please input a[%d] ",n); scanf("%d",&a[n]); }
printf("Please input m:"); /*输入m的值*/ scanf("%d",&m);
n=search(a,m); /*调用函数判断*/
if(n==-1) printf("Can't found!"); else printf("Found! %d",n);
getch();
}
晕,我来回答~~赚帖子咯
第一道题目:不懂~!破例请知道的写出来,大家共同分享。谢谢。
先赚一个帖子先,呵呵
unsigned long a;
char str[32];
while(a){
str[--i]=(a&0x01)+48;
a=a>>1;
}