1错误
没有命名空间,头文件写的也不对,getchar函数的来源都没写,原来写的stdio.h是C里面的,现在用C++
2 oj注意格式 空格,换行等等
3
没有定义abc,最后边的分号前缺右括号,setprecision拼错
4.
cin 与cout 配套
5
全局变量
6
改正
7
杀毒软件把源代码判成病毒给删了
没有编译器或者编译器路径不对
8
#include <iostream>
using namespace std;
class Time
{ public:
int hour;
int minute;
int sec;
};
int main( )
{
void set_time(Time &);
void show_time(Time &);
Time t1;
set_time(t1);
show_time(t1);
return 0;
}
void set_time(Time &t)
{
cin>>t.hour;
cin>>t.minute;
cin>>t.sec;
}
void show_time(Time& t)
{
cout<<t.hour<<":"
<<t.minute<<":"
<<t.sec<<endl;
}
加&是Tilme的引用,或者你写定义的那三个变量也行,就跟你写函数的参数表一样
就是这个为啥突然就time就加了&
这个两个函数写到类里面就不用这么麻烦
一个是赋值,然后存到类里面,另一个从类里面读取,再输出
我想问的是如果这样用的话,就是Time 加个&
那这个t是什么意思
是引用Time 中的数据
9
为哈都赋值0不行?
重复了
或者这样
9
#include <iostream>
using namespace std;
struct balance
{
double protein;
double fat;
double carbon;
} a[11],c[11];
int main()
{
int i;
double sum[4],b[10];
for(int i=0; i<10; i++)
cin>>b[i];
balance a[10]=
{
{7.5,0.75,78},
{10,1.25,75},
{1.5,0.19,4.28},
{35,18,42},
{5.0,5.0,0.6},
{16.5,28.8,1.05},
{17.7,20.33,4.06},
{14.9,0.8,0.93},
{0,100,0},
{0.85,0.5,8}
};
for(int i=0; i<10; i++)
{
c[i].protein=a[i].protein*b[i];
c[i].fat=a[i].fat*b[i];
c[i].carbon=a[i].carbon*b[i];
}
c[10].protein=0;
c[10].fat=0;
c[10].carbon=0;
for( i=0; i<10; i++)
{
c[10].protein+=c[i].protein;
c[10].fat+=c[i].fat;
c[10].carbon+=c[i].carbon;
}
sum[0]=c[i].protein*4.1;
sum[1]=c[i].fat*9.3;
sum[2]=c[i].carbon*4.1;
sum[3]=sum[0]+sum[1]+sum[2];
if(sum[0]/sum[3]>=0.14&&sum[0]/sum[3]<=0.16&&sum[1]/sum[3]>=0.3&&sum[1]/sum[3]<=0.35&&sum[2]/sum[3]>=0.49&&sum[2]/sum[3]<=0.56)
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
return 0;
}
这个ac
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
struct shu
{
double dan,zhi,tang;
};
shu a[10]=
{
{7.5,0.75,78},
{10,1.25,75},
{1.5,0.19,4.28},
{35,18,42},
{5.0,5.0,0.6},
{16.5,28.8,1.05},
{17.7,20.33,4.06},
{14.9,0.8,0.93},
{0,100,0},
{0.85,0.5,8}
};
int i;
double b[10], sum=0.0,s=0.0,k=0.0;
for(i=0; i<10; i++)
{
cin>>b[i];
}
for(i=0; i<10; i++)
{
sum+=a[i].dan*b[i]*4.1;
s+=a[i].zhi*b[i]*9.3;
k+=a[i].tang*b[i]*4.1;
}
sum/=(sum+s+k);
s/=(sum+s+k);
k/=(sum+s+k);
if(0.14<=sum&&sum<=0.16&&0.30<=s&&s<=0.35&&0.49<=k&&k<=0.56)
cout<<"yes";
else
cout<<"no";
return 0;
}
这八分
改:
改成这样就行了,因为与编译优化有关
10
问:平时 加上了指针名字才是那个取了地址的变量 那个上面输出的不用加就已经是了它的变量这是为什么,我上面那个和下面那个,两个输出p 和 q,一个带一个不带但是一个代表了整个值 而另一个是地址
答:上面赋给p的是数组名字,p就是数组起始地址,输出p和输出整个数组就是等价的。下面赋给q的是变量的地址,*q才是变量。指针放字符数组名和存储变量的地址不同。
11
问:这警告是什么意思
我把
放进public 就没毛病
答:你又没用继承,怎么可能把别人的东西当做自己的东西
12
问:这个return咋出
答
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
int x,y;
public:
Point( ){ }
Point (int s,int g)
{ x=s, y=g; }
void setx(int x1) { x=x1; }
void sety(int y1) { y=y1; }
int getx() { return x; }
int gety() { return y; }
void display(){cout<<x<<" "<<y<<endl;}
};
int main()
{
Point a(8,3);
Point v;
cout<<v.gety()<<endl;
cout<<v.getx()<<endl;
v.display();
a.display();
cout<<a.gety()<<endl;
cout<<a.getx()<<endl;
}
13
c++string 数组用strcpy怎么出不来?
14
有时候私有成员无法访问可以定义函数来返回(return)私有成员来展示
15
exit(0)是什么意思?
xit函数中的实参是返回给操作系统,表示程序是成功运行结束还是失败运行结束。对于程序本身的使用没有什么太实际的差别。习惯上,一般使用正常结束程序exit(0)。
exit(0):正常结束程序运行
exit(非0):非正常结束程序运行