cout<

Kerita 2013-12-19 09:42:59
cout<<a<<endl,输出a的值后,不想换行,只想横向跳到下一制表位置,要怎么改,相当于输出后怎么实现“\t”的功能,如果不加endl的话,“姓名”又全都出现在窗口最底部,求大神指教,要怎么改。

struct member
{
int num;
char name[30];
int score;
struct member *next;
};

struct member mem[10];
struct member *head,*p;

mem[0].num=1;
mem[0].score=100;
strcpy(mem[0].name,"小明");
mem[1].num=2;
mem[1].score=150;
strcpy(mem[1].name,"张琳");
mem[2].num=3;
strcpy(mem[2].name,"李建");
mem[2].score=200;
mem[3].num=4;
strcpy(mem[3].name,"陈燕");
mem[3].score=340;

head=&mem[0];
mem[0].next=&mem[1];
mem[1].next=&mem[2];
mem[2].next=&mem[3];
mem[3].next=NULL;
p=head;

do
{
printf("\t%d\t",p->num);
cout<<p->name;
printf("\t");
printf("\t%d\n",p->score);
p=p->next;

}while(p!=NULL);
}
...全文
1692 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2013-12-19
  • 打赏
  • 举报
回复
需要严格控制的自己计算以下,不要依赖实现。
lm_whales 2013-12-19
  • 打赏
  • 举报
回复
制表位置,根据已经输出的字符个数计算,然后再按照每个制表符占有的字符个数 计算制表符输出后下一个数据的位置。 例如 puts("123\tabcdefg"); 每个制表符 8字符,该行已经输出“123” ,3个字符,那么输出制表符后,下一个位置在(3+8)/8 =8 的位置 再输出 abcdefg 即输出 123_____abcdefg 其中下划线代表输出\t产生的空白。 其他输出也是这么处理的。
Kerita 2013-12-19
  • 打赏
  • 举报
回复
具体加在什么地方
derekrose 2013-12-19
  • 打赏
  • 举报
回复

cout << "...\t...";
不行?
漂流的代码 2013-12-19
  • 打赏
  • 举报
回复
cout<<'\t';
5t4rk 2013-12-19
  • 打赏
  • 举报
回复
01.#include <iostream>  
02.#include <iomanip>  
03.#include <limits>  
04.using std::cout;  
05.using std::endl;  
06.using std::setprecision;  
07.using std::numeric_limits;  
08. 
09.int main() {  
10.  const double pi = 3.14;  
11.  cout << endl;  
12. 
13.  for(double radius = .2 ; radius <= 3.0 ; radius += .2)  
14.    cout << "radius = " 
15.    << setprecision(numeric_limits<double>::digits10 + 1)  
16.    << std::scientific << radius<< "  area = " 
17.         << std::setw(10) << setprecision(6)<< std::fixed << pi * radius * radi  
18.us << endl;  
19.  return 0;  
20.} 
#include <iostream>
#include <iomanip>
#include <limits>
using std::cout;
using std::endl;
using std::setprecision;
using std::numeric_limits;
int main() {
  const double pi = 3.14;
  cout << endl;
  for(double radius = .2 ; radius <= 3.0 ; radius += .2)
    cout << "radius = "
    << setprecision(numeric_limits<double>::digits10 + 1)
    << std::scientific << radius<< "  area = "
         << std::setw(10) << setprecision(6)<< std::fixed << pi * radius * radi
us << endl;
  return 0;
}


radius = 2.0000000000000001e-001  area =   0.125600
radius = 4.0000000000000002e-001  area =   0.502400
radius = 6.0000000000000009e-001  area =   1.130400
radius = 8.0000000000000004e-001  area =   2.009600
radius = 1.0000000000000000e+000  area =   3.140000
radius = 1.2000000000000000e+000  area =   4.521600
radius = 1.3999999999999999e+000  area =   6.154400
radius = 1.5999999999999999e+000  area =   8.038400
radius = 1.7999999999999998e+000  area =  10.173600
radius = 1.9999999999999998e+000  area =  12.560000
radius = 2.1999999999999997e+000  area =  15.197600
radius = 2.3999999999999999e+000  area =  18.086400
radius = 2.6000000000000001e+000  area =  21.226400
radius = 2.8000000000000003e+000  area =  24.617600

70,029

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧