C语言 阵列 储存 中文
- 提问者网友:最爱你的唇
- 2021-04-26 08:15
#include<stdlib.h>
int main()
{
int how,how2,i=0;
unsigned char str1[205]={'\0'};
float str2[205]={0.0},in=0;
unsigned char str3[205]={'\0'};
float str4[205]={0.0},io=0;
printf("请输入有多少项收入项目 :");
scanf("%d",&how);
printf("请输入有多少项支出项目 :");
scanf("%d",&how2);
printf("\n********************");
for(i=1;i<=how;i++)
{
printf("\n请输入第%d个收入项目的名称 :",i);
scanf("%s",&str1[i]);
printf("请输入第%d个收入项目的金额 :$",i);
scanf("%f",&str2[i]);
in+=str2[i];
}
for(i=1;i<=how2;i++)
{
printf("\n请输入第%d个支出项目的名称 :",i);
scanf("%s",&str3[i]);
printf("请输入第%d个支出项目的金额 :-$",i);
scanf("%f",&str4[i]);
io+=str4[i];
}
if(how != 0){
printf("细节 :\n\n收入 :\n") ;
for(i=1;i<=how;i++)
{
printf("项目%d : %s\t$",i,&str1[i]);
printf("%f\n",str2[i]);
}
}
if(how2 != 0){
printf("\n支出 :\n") ;
for(i=1;i<=how2;i++)
{
printf("项目%d : %s\t-$",i,&str3[i]);
printf("%f\n",str4[i]);
}
}
system("pause");
return 0;
}
=================================================
我的显示结果好奇怪....
如看不到图 ,
可去 http://www.filesavr.com/qpic1
下来看
======================
希望能够改善显示和储存阵列这方面的问题.
如答覆能使我满意,分数另外追加(如能够追加)
- 五星知识达人网友:执傲
- 2021-04-26 08:56
把字符串相关的内容改成字符串数组就可以了。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int how,how2,i=0;
unsigned char str1[205][100]={'\0'};
float str2[205]={0.0},in=0;
unsigned char str3[205][100]={'\0'};
float str4[205]={0.0},io=0;
printf("请输入有多少项收入项目 :");
scanf("%d",&how);
printf("请输入有多少项支出项目 :");
scanf("%d",&how2);
printf("\n********************");
for(i=1;i<=how;i++)
{
printf("\n请输入第%d个收入项目的名称 :",i);
scanf("%s",str1[i]);
printf("请输入第%d个收入项目的金额 :$",i);
scanf("%f",&str2[i]);
in+=str2[i];
}
for(i=1;i<=how2;i++)
{
printf("\n请输入第%d个支出项目的名称 :",i);
scanf("%s",str3[i]);
printf("请输入第%d个支出项目的金额 :-$",i);
scanf("%f",&str4[i]);
io+=str4[i];
}
if(how != 0){
printf("细节 :\n\n收入 :\n") ;
for(i=1;i<=how;i++)
{
printf("项目%d : %s\t$",i, str1[i]);
printf("%f\n",str2[i]);
}
}
if(how2 != 0){
printf("\n支出 :\n") ;
for(i=1;i<=how2;i++)
{
printf("项目%d : %s\t-$",i, str3[i]);
printf("%f\n",str4[i]);
}
}
system("pause");
return 0;
}