一个C++简单问题

作者&投稿:凭莘 (若有异议请与网页底部的电邮联系)
一个简单c问题~

专门将这个字节的数强制类型转换成int型输出就行了
如果像你说的那样,只有自己写一个转换函数,将各位数字分别转换成ascii再写入就OK了

这是由于字符串的输出要看到'\0'才停止,而'\0'要占一字节,并且是系统自动分配的。由于你声明的数组只有一个字节,所以没有位置放'\0'故出现了意外的状况。可以将声明的a[1]改为a[2]或者将输出字符串改为输出字符,即将%s改为%c,a改为a[0]就可以了

#include<iostream>
#include<string>
using namespace std;
class student
{public:
student(int n,string no)
{no=n;
name=no;}
void stud_cin();
void dis_ave();
void dis_h();
void dis_high();
void paixu();
private:
int no,i;
string name;
float num[9],ave[3],max,sum[3];
};

void student::stud_cin()
{for(i=0;i<10;i++)
cin>>num[i];}

void student::dis_ave()
{
ave[0]=(num[0]+num[1]+num[2])/3;
ave[1]=(num[3]+num[4]+num[5])/3;
ave[2]=(num[6]+num[7]+num[8])/3;
cout<<"学生1的三门课的平均成绩是"<<ave[0]<<endl;
cout<<"学生2的三门课的平均成绩是"<<ave[1]<<endl;
cout<<"学生3的三门课的平均成绩是"<<ave[2]<<endl;
}

void student::dis_h()
{
for(i=0;i<4;i++)
{if(ave[i]>80)
cout<<"平均分大于80分的学生"<<ave[i]<<endl;
}
}

void student::dis_high()
{
max=ave[0];
for(i=0;i<4;i++)
if(ave[i]>max)
{max=ave[i];
}
cout<<"平均成绩最高是"<<max<<endl;
}

void student::paixu()
{
int i,j,k,t;
sum[0]=num[0]+num[1]+num[2];
sum[1]=num[3]+num[4]+num[5];
sum[2]=num[6]+num[7]+num[8];
for(i=0;i<2;i++)
{k=i;
for(j=i+1;j<3;j++)
if(sum[j]<sum[k])
k=j;
t=sum[k];sum[k]=sum[i];sum[i]=t;
}
cout<<"学生成绩排序";
for(i=0;i<3;i++)
{
cout<<" "<<sum[i];}
}

int main()
{
cout<<"请按顺序输入学生成绩"<<endl;
student stud1(001,"学生1");
student stud2(002,"学生2");
student stud3(003,"学生3");
stud1.stud_cin();
stud1.dis_ave();
stud1.dis_h();
stud1.dis_high();
stud1.paixu();
return 0;
}

类的问题,写起来不简单了

这个不简单


C语言简单问题
关于指针:老师们经常让我把它当门牌号,我当时就是不开窍听不懂,后来看多了,自己试验也就明白了。指针不同于一般类型,如int、char、bool, 但它却又和这些类型分不开,它里面的内容不是数据,比如int类型里有231、char里有'b'、bool里有false...而指针就是这些数据多了个星号'*',而它的内容...

C语言简单问题
指针类型是说指针定义时的类型,比如int *i定义一个Int类型的指针i,char *p定义一个char类型的指针p,定义类型主要是为了让指针移动的时候知道指针移动几个字节,比如说在VC 6.0的环境下,int指针每次++,移动4个字节,而double类型的指针每次++,移动8个字节。指针指向的类型是说指针指向可以是字符串...

c语言简单问题,程序写了开头发现两个问题,但找不到错误在哪,请高手从...
status Initlist(Sqlist &L){ ...\/ typedef int Elemtype;Elemtype elem;\/ L.elem=(Elemtype*)malloc(LISTSIZE*sizeof(Elemtype));\/\/error C2440: “=”: 无法从“Elemtype *”转换为“Elemtype”\/ 在这里,结构体的elem成员也就是整型的,但你却要把一个指针类型的内存赋给它,它能接受吗...

大一c语言编程初学简单问题,求问各位大神问题,这个程序里面,*(pi+1...
关于指针,举个简单的例子:int a=1,b=a,*ptr=&a;printf("a=%d,b=%d,*ptr=%d",a,b,*ptr);\/\/此时输出:a=1,b=0,*ptr=1;a=2;printf("a=%d,b=%d,*ptr=%d",a,b,*ptr);\/\/此时输出:a=2,b=0,*ptr=2;因为b只是a的一个副本(操作的是值),而*ptr是指向a的指针(操作...

c语言简单问题2个
char ss[10]="12345"; ss[10]={12345\\0\\0\\0\\0\\0},因为是字符串所以没有赋值的就是\\0。gets(ss); 这句话就是输入ABC到数组中,此时ss[10]={ABC\\05\\0\\0\\0\\0\\0},ABC之后的\\0是字符串结束的标志,必须有的,注意和后面的5分开 strcat(ss,"6789"); 这个strcat函数就是将两个字符...

C语言简单问题
1.include <stdio.h> int main(){ int i;float max, min, avg, score[10];printf("输入10个学生c成绩:\\n");for(avg = 0, i = 0; i< 10; i++){ scanf("%f", &score[i]);avg += score[i];} avg = avg\/10;max = score[0];min = score[0];for(i = 1; i < 10...

c语言简单问题
这是逗号表达式 (a=a+1,b+a,b+1)这个表达式只取最有个一式子的值作为表达式的值 它的运算过程是这样的 1.先运算a = a + 1,这样a 的值变为5(因为赋值运算“=”比逗号表达式的运算级别高)2.运算b+1 ,值为8,取b+1的值8做为表达式的最终值 如果你的程序改为 include<stdio.h> vo...

C语言初学者,几个简单问题,求解释!
…第四题 循环是这样的,选择函数switch是会跳的 第1次是0,所以a+2+3+5;第2次是1,跳过了a+2,就是a+3+5 第3次是2,跳过了a+2,就是a+3+5 第4次是3,所以a+2+3+5;第5次是4,所以a+5;好了,你的问题解决了,最近我分少,给点分交个朋友把……...

C语言简单问题
=号的意义是赋值的意思,他的结合性是从右往左,但是他有个要求,就是=号的左边必须是要一个左值,左值不可为常量或运算表达式,只能是变量,所以x+1=x+1不对,即x+1不能赋给运算表达式x+1,只能赋给一个像x的变量。其中第一个表达式是关系运算表达式,他尝试x变量的值是否在[0,100)之间,...

C语言简单问题 速!
程序首先要求输入要进行几次大数的相加运算,比如有2组共4个数据要前2个相加输出结果,然后再把后2个相加输出结果,那么输入数字2(即调用该相加程序的次数),然后即得结果。一个完整的c程序如下,程序在win-tc和Dev-c++下都调试通过。\/* 大数相加简洁代码 *\/ include <stdio.h> include <string.h>...

饶河县15157186110: 一个简单的c++程序问题
拱秆艾普: 我这没问题阿 [root@localhost c++]# g++ -o h complex.cppIn file included from /usr/lib/gcc/i386-pc-linux/4.2.1/../../../../include/c++/4. 2.1/backward/...

饶河县15157186110: 一个简单的C++问题 -
拱秆艾普: 由这个cout<<x.a<<endl;//正确|||知道a是公有的 由cout<<y.a<<endl;//错误|||知道a对于y是私有或者保护成员 但由void Z::funX() { cout<<a<<endl;//错误 }知道a对于y应该是私有的.所以答案是错的,你没有错 public+private+any

饶河县15157186110: 一个简单的C++程序问题` -
拱秆艾普: 第二个else应该加上if,第三个不用,而且else后面不用跟条件#include <iostream.h> int main() { int a; cout<<"请输入一个数:"<<endl; cin>>a; if (a>0) cout<<a<<"是一个正数."<<endl; else if (a<0) cout<<a<<"是一个负数."<<endl; else cout<<a<<"为零."<<endl; return 0; }

饶河县15157186110: 一道简单的C++问题
拱秆艾普: #include <stdio.h> int main() { int score; char grade; printf("please input a score\n"); scanf("%d",&score); if(score > 100 || score < 0) printf("错误分数"); else { grade=score>=90?'A':(score>=80?'B':(score>=70?'C':(score>=60?'D':'E'))); ...

饶河县15157186110: 一个简单的C++编程问题 -
拱秆艾普: #include int main(){ int a,b,c; while(scanf("%d %d",&a,&b) == 2){ c = sqrt(a*a + b*b); printf("%d\n",c); } ...

饶河县15157186110: 一个c++的简单问题
拱秆艾普: 这个含义就是 拷贝构造函数. 为了给你讲明白,引取了vckbase的文章: C++类对象的拷贝构造函数 对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=100; int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂...

饶河县15157186110: 一个简单的c++问题 -
拱秆艾普: 最好改为:#include int a=10; class C0 { public: C0() { this.a = this.b= 0; } void print(found*cout<<<...

饶河县15157186110: C++ 一个简单的问题(新手) -
拱秆艾普: `#include int add(int x,int y);int main(){ int a=5,b=6; cout<<"结果是"<<add(a,b);}int add(int x,int y) {return x+y; }在前面声明...

饶河县15157186110: 一个C++的简单问题 -
拱秆艾普: 因为*p代表的是字符串“name space”的第一个字母;而p则是代表字符串“name space”的地址,因此输出的结果为name space

饶河县15157186110: 一个很简单的C++问题 -
拱秆艾普: #include void main(){ int a,b,c,max; scanf("%d%d%d", max=a; if(b>max) max=b; if(c>max) max=c; printf("%d\n",max);}自...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网