‘壹’ c语言:输入10个成绩(整型),求成绩最高分及最高分的元素下标
#include<iostream>//vc中运行
using namespace std;
void Fun(float a[],int n)//n为数组大小,数组是浮点型的,也可定义为整型
{
float max,min,avg;
max=min=avg=a[0];
for(int i=1;i<n;i++)
{ avg=avg+a[i];
if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i];}
avg=avg/n;
cout<<"学生最高分为"<<max<<endl;
cout<<"学生最低分为"<<min<<endl;
cout<<"学生平均成绩为"<<avg<<endl;
}
void main()
{ float a[4];
cout<<"请输入数组中个元素的值:"<<endl;
for(int i=0;i<4;i++)
cin>>a[i];
Fun(a,4);
}
‘贰’ c语言输入一批学生成绩,找出最高分
#include
<stdio.h>
#define
N
5 //通过改变宏定义,改变数组元素的个数
void
main()
{
int
a[N];
int
i;
int
max;
max=a[0];
printf("请输入一组学生成绩(假设有5位学生成绩,且学生成绩都是整数型)\n");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
// printf("%f\n",a[i]);
}
for(i=0;i<N;i++)
{
if(max<a[i])
max=a[i];
}
printf("学生成绩最高分为:%d\n",max);
}
//仅供参考
‘叁’ c语言中的“最高位为符号位”。指的是什么什么是符号位有什么特性只有字符型的才有符号位吗
计算机中表示数是用机内码表示的(二进制),分为原码、反码和补码,符号位用来表示一个数是正数还是负数,当符号位为0时表示正数,为1时表示负数,只有数值型才有符号位。
原码、反码、补码- -
(1)原码表示法
原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作〔x〕原。
例如,X1= +1010110
X2= 一1001010
其原码记作:
〔X1〕原=[+1010110]原=01010110
〔X2〕原=[-1001010]原=11001010
原码表示数的范围与二进制位数有关。当用8位二进制来表示小数原码时,其表示范围:
最大值为0.1111111,其真值约为(0.99)10
最小值为1.1111111,其真值约为(一0.99)10
当用8位二进制来表示整数原码时,其表示范围:
最大值为01111111,其真值为(127)10
最小值为11111111,其真值为(-127)10
在原码表示法中,对0有两种表示形式:
〔+0〕原=00000000
[-0] 原=10000000
(2)补码表示法
(2)补码表示法
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作〔X〕补。
例如,[X1]=+1010110
[X2]= 一1001010
[X1]原=01010110
[X1]补=01010110
即 [X1]原=[X1]补=01010110
[X2] 原= 11001010
[X2] 补=10110101+1=10110110
补码表示数的范围与二进制位数有关。当采用8位二进制表示时,小数补码的表示范围:
最大为0.1111111,其真值为(0.99)10
最小为1.0000000,其真值为(一1)10
采用8位二进制表示时,整数补码的表示范围:
最大为01111111,其真值为(127)10
最小为10000000,其真值为(一128)10
在补码表示法中,0只有一种表示形式:
[+0]补=00000000
[+0]补=11111111+1=00000000(由于受设备字长的限制,最后的进位丢失)
所以有[+0]补=[+0]补=00000000
3)反码表示法
(3)反码表示法
机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作〔X〕反。
例如:X1= +1010110
X2= 一1001010
〔X1〕原=01010110
[X1]反=〔X1〕原=01010110
[X2]原=11001010
[X2]反=10110101
反码通常作为求补过程的中间形式,即在一个负数的反码的未位上加1,就得到了该负数的补码。
例1. 已知[X]原=10011010,求[X]补。
分析如下:
由[X]原求[X]补的原则是:若机器数为正数,则[X]原=[X]补;若机器数为负数,则该机器数的补码可对它的原码(符号位除外)所有位求反,再在未位加1而得到。现给定的机器数为负数,故有[X]补=[X]原十1,即
[X]原=10011010
[X]反=11100101
十) 1
[X]补=11100110
例2. 已知[X]补=11100110,求〔X〕原。
分析如下:
对于机器数为正数,则〔X〕原=〔X〕补
对于机器数为负数,则有〔X〕原=〔〔X〕补〕补
现给定的为负数,故有:
〔X〕补=11100110
〔〔X〕补〕反=10011001
十) 1
〔〔X〕补〕补=10011010=〔X〕原
‘肆’ C语言它的最高位的权及各数位上偶数数字和
最高位的权指的是最高位的权值,如:400最高位的权是100;2333最高位权值是1000;数字abcd=a*1000+b*100+c*10+d,最高位权就是1000,次高位权为100;
代码:
#include<stdio.h>
intmain()
{
intn=0,temp;
intweight=1;//最高位权值计数
intsum=0;//所有偶数位和
printf("输入正整数n:");
scanf("%d",&n);
while(n>0)
{
temp=n%10;//求最低位
if(temp%2==0)//判断是否为偶数位
sum+=temp;
n=n/10;//去除整数最后一位
weight=weight*10;
}
printf("最高位权值为%d,偶数位和为%d ",weight/10,sum);
getch();
return0;
}
测试结果:
‘伍’ C语言:输入10个学生的单科成绩,求出其中的最高分、最低分以及超过平
#include <stdio.h>
int main()
{
int i;
float a[10],min,max,avg; //max表示最高分,min表示最低分,avg表示平均分
printf("请输入10位学生的分数 ");
printf("******************************** ");
for(i=0;i<=9;i++)
{
printf("请输入一位学生的分数:");
scanf("%f",&a[i]);
}
max=min=avg=a[0];
for(i=1;i<=9;i++)
{
if(min>a[i])
{min=a[i];}
if(max<a[i])
{max=a[i];}
avg=avg+a[i];
}
avg=avg/10;
printf("max=%f ",max);
printf("min=%f ",min);
printf("max=%f ",avg);
printf("******************************** ");
}
(5)c语言中最高位分扩展阅读:
main函数用法
1、C++中的main函数
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,
不能写成某个结构体或某个类的成员。虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。
C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。
2、Java中的main函数
Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。
首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。
其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。
第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。
第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)
Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)
public class MainDemo{
public static void main(String[]args){
//TODO:在此处写入主函数的内容
}
}
Java Applet的运行机制与Java Application完全不同,因此不需要main函数
3、C#中的main函数
C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,
与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)
另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。
C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)
C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。
class Program{
static void Main(string[]args){
‘陆’ c语言最高分和最低分
以下的程序,先输入成绩的个数n,再输入n个成绩,最后输出最高分和最低分:
#include <stdio.h>
int main()
{ int i,n,x,max,min;
scanf("%d%d",&n,&max);
min=max;
for(i=1; i<n; i++)
{ scanf("%d",&x);
if(x>max)max=x;
else if(x<min)min=x;
}
printf("Max=%d Min=%d ",max,min);
return 0;
}
‘柒’ c语言,什么叫对数据的最高位
1和2 回答: 有符号整型范围 正数: 0000H ~ 7FFFH 负数: 8000H ~ FFFFH
你看看, 是不是最高位不同, 最高位就是符号位
3: 无符号整数范围: 0000H ~ FFFFH (十进制就是0 ~ 65535), 没有负数, 最高位也是数值
4: 因为0-1 在16位数中的结果就是 FFFFH , 如果在8位中 就是FFH
‘捌’ 在c语言中,求出成绩的最高分,最低分,平均分,然后成绩由高到低怎样排列
#include <stdio.h>
#include <string.h>
int n,a[10005];
void Sort(int *s){
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++){
if(s[j]>s[i]){
int snum=s[i];
s[i]=s[j];
s[j]=snum;
}
}
}
int main(){
printf("请输入需要排序的成绩的数量:");
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&a[i]);
Sort(a);
for(int i=0;i<n;i++) printf("%d ",a[i]);
printf("最高分%d最低分%d",a[0],a[n-1]);
return 0;
}
‘玖’ c语言中/将一个数的最高位分解出来,最高位是什么意思
就是十进制数字最左边的那个数字
比如一个四位数字1234
1
2
3
4
千位
百位
十位
个位
千位就是最高位了,如果是五位数字的话,那万位就是最高位了,以此类推。
‘拾’ C语言编程:有十个学生成绩,找出其中的最高分,及其在这批数中的位置
#include<stdio.h>
#defineN10
voidmain(){inta[N]={67,34,90,88,55,74,95,82,43,90},max_index,i;
max_index=0;for(i=1;i<N;i++)if(a[max_index]<a[i])max_index=i;
printf("最高分%d,是第%d个成绩. ",a[max_index],max_index+1);
}