#include
#include
struct cp {
char name[2000];
float price;
int floor;
char shitang;
};
int main()
{
int i = 0, j = 0;
float money;
scanf("%f", &money);
struct cp caipu[30] = { {"西红柿炒鸡蛋",3.5f,1,1},
{"炒茄子",2.5f,2,1},
{"蛋炒饭",6,1,2},
{"鸡腿",6,1,1},
{"鸡架",7,1,1},
{"土豆丝",2,1,1},
{"茄子",2.5f,1,1}
};
for (i = 0; i <= 29; i++)
for (j = 0; j <= 29; j++)
{
if (caipu[i].price + caipu[j].price == money)
printf("%c%c", caipu[i].name, caipu[j].name);
}
return 0;
}
为什么输出的是中文乱码呢?
#include <stdio.h>
#include <locale.h>
struct cp {
char name[100];
float price;
int floor;
char shitang;
};
int main()
{
int i = 0, j = 0;
float money;
setlocale(LC_ALL,"chs");
scanf("%f", &money);
struct cp caipu[7] = {
{"西红柿炒鸡蛋",3.5f,1,1},
{"炒茄子" ,2.5f,2,1},
{"蛋炒饭" ,6.0f,1,2},
{"鸡腿" ,6.0f,1,1},
{"鸡架" ,7.0f,1,1},
{"土豆丝" ,2.0f,1,1},
{"茄子" ,2.5f,1,1},
};
for (i = 0; i < 7; i++)
{
for (j = 0; j < 7; j++)
{
if (caipu[i].price + caipu[j].price == money)
printf("%s %s\n", caipu[i].name, caipu[j].name);
}
}
return 0;
}
看一下能否调格式,utf8。