当前位置: 代码迷 >> C语言 >> 一个转义的问题
  详细解决方案

一个转义的问题

热度:119   发布时间:2006-07-27 10:57:22.0
一个转义的问题

我写了个程序如下:
#include "stdio.h"
#include "conio.h"
#include "math.h"

main()
{
int a,b,c,i,j,k,m;
int W[10] = {75,71,67,63,59,55,51,47,43,39};
int B[11] = {54,49,48,45,42,39,36,27,22,16,12};
int L[13] = {46,44,38,34,32,29,24,21,19,14,9,7,2};

printf("请输入数据:\n");
printf(" 胜盘 平盘 负盘 \n");
scanf("%d%d%d",&a,&b,&c);

int T[3] = {a,b,c};
for ( i=0;i<3;i++){
for ( j=0;j<10;j++){
if ( fabs(T[i] - W[j]) < 0.01)
T[i] = 3;
}
for ( k=0;k<11;k++){
if ( fabs(T[i] - B[k]) < 0.01)
T[i] = 1;
}
for ( m=0;m<13;m++){
if ( fabs(T[i] - L[m]) < 0.01)
T[i] = 0;
}
}
printf("% -7d%-7d%-5d\n",T[0],T[1],T[2]);
getch();
}
功能是:输入3个数字,分别和W[10],B[11],L[13]比较,最后打印这3个数.
有两个问题: A int T[3] = {a,b,c}; 这句在UNiX下编译正常,但在WINDOWS下编译就报错,在WINDOWS下该如何写呢?
B 我想把T[i] = 3 1 0换成汉字,也想到用sprintf,但在最后打印时,T[i]要么是数字,要么是汉字,
T[0], T[1],T[2]排列组合就有8种可能,该怎么打印出来呢?
谢谢各位帮忙看一下!

搜索更多相关的解决方案: 转义  

----------------解决方案--------------------------------------------------------
ps:为什么大家写程序的时候都不愿意写点注释呢?

说回lz的问题,我用的是vc++,没有发现编译报错。

第二个问题还没看懂呢 见笑
----------------解决方案--------------------------------------------------------
A 问题已解决;
B 问题我觉得我表述得很清楚了呀!我再说详细点:比如想把T[i] = 3换成 T[i] = 成功
可以用sprintf(t[i],%s,"成功");来实现,但在最后打印时,要按输入的循序打印。这时,
T[0] 可能是个数字,也可能是“成功”,T[1],T[2]也是如此,那么排列组合就有8种
可能,那最后那个printf该怎么改呢?
谢谢各位帮我看一下!!
----------------解决方案--------------------------------------------------------

int T[3] = {a,b,c};//楼主之前已经对a,b,c进行声明了,怎么还声明一个数组来存a,b,c??
程序很混乱,我也看不懂您要表达什么。建议您先看点标准c的语法,对您深入研究很有好处。


----------------解决方案--------------------------------------------------------
C中有这样的定义吗,int T[3] = {a,b,c};
if ( fabs(T[i] - W[j]) < 0.01)
整数差的绝对值有小数的?
我不懂你的程序是要做什么。
如果你想输出汉字,在循环判断不就可以直接输出吗,为什么要存起来到后面再输出呢。
----------------解决方案--------------------------------------------------------
以下是引用nuciewth在2006-7-27 15:02:26的发言:
如果你想输出汉字,在循环判断不就可以直接输出吗,为什么要存起来到后面再输出呢。

我已经说过了要按输入的循序输出,在循环中直接输出汉字怎样控制输出的位置呢?


----------------解决方案--------------------------------------------------------
  相关解决方案