找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 641|回复: 5

[求助]关于c++程序的几点问题

[复制链接]
发表于 2009-11-3 02:22:34 | 显示全部楼层 |阅读模式 IP:江苏扬州
1这个程序在VC中运行的时候
#include<iostream.h>
#include<iomanip.h>
int main()
{
int a[10],tmp;
for(int i=0;i<=9;i++)
cin>>a[i];
for(int j=0;j<9;j++){
for(int k=9;k>j;k--){
if(a[k]<a[k-1]){
tmp=a[k];
a[k]=a[k-1];
a[k-1]=tmp;
}
}
}
for(int n=0;n<=9;n++)
cout<<setw(5)<<a[n];
return 0;
}

#include<iostream.h>
#include<iomanip.h>
int main()
{
int a[10],tmp;
for(int i=0;i<=9;i++)
cin>>a[i];
for(int j=0;j<9;j++){
for(int k=9;k>0;k--){
if(a[k]<a[k-1]){
tmp=a[k];
a[k]=a[k-1];
a[k-1]=tmp;
}
}
}
for(int n=0;n<=9;n++)
cout<<setw(5)<<a[n];
return 0;
}

为什么第一个程序可以得到正确的结果,而第二个则不行?两个程序只是在颜色不同的地方有差别.

2#include<iostream.h>
void change(char *, const char **);
int main()
{
char string[10];
const char *data[]={"Jan","Feb","Mar","Apr","may","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
cout<<"Enter the data,like04/21/55"<<endl;
cin>>string;
change(string,data);
return 0;
}
void change(char *string2, const char** string3)
{
char *s;
const char **m;
int i;
s=string2;
m=string3;

i=(s[0]-48)*10+s[1]-48;

cout<<m[i-1]<<" "<<s[3]<<s[4]<<","<<" "<<"19"<<s[6]<<s[7]<<endl;
}

这个程序中,由数组转的时候为什么减的是48?是地址的运算么?

3当class定义之后,什么情况下用
Increment::Inrement(int c,int i)
: increment(i)
{ cout=c;}这种格式初始化?
 
  increment(i) 是将i的值付给increment,而incement(a,b)是什么含义呢?
发表于 2009-11-3 02:22:35 | 显示全部楼层 IP:江苏扬州
问题1:0~j的值已经排列好了,没必要再查一遍了,再查就把已有的顺序打乱了。
回复

使用道具 举报

发表于 2009-11-3 02:22:36 | 显示全部楼层 IP:江苏扬州
问题2:0~9这十个数字在字符形式的情况下换成ASCII是48~57,
i=(s[0]-48)*10+s[1]-48;
中-48的意思是将字符串中的数字字符换算成为数值,例如'0'的值是是48,'0'-48就是真正的值0
回复

使用道具 举报

发表于 2009-11-3 02:22:37 | 显示全部楼层 IP:江苏扬州
回答你的第三个问题。
这个仍然是覆值语句只不过覆值得时候还用了一个逗号表达式,
所以incement=b的值这个可读性不好。
回复

使用道具 举报

发表于 2009-11-3 02:22:38 | 显示全部楼层 IP:江苏扬州
3当class定义之后,什么情况下用
Increment::Inrement(int c,int i)
: increment(i)
{ cout=c;}这种格式初始化?
 
  increment(i) 是将i的值付给increment,而incement(a,b)是什么含义呢?
给基类初始化呢,increment(i)这是给基类的参数。
incement(a,b),给相应的C,I,然后完成初始化
回复

使用道具 举报

发表于 2009-11-3 02:22:40 | 显示全部楼层 IP:江苏扬州

楼主
声明一下
你的类名与函数名太象了
晕,这样不太好的,我都看错了
而incement(a,b)是什么含义呢?
就是把B初始化increment
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 09:19 , Processed in 0.276127 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表