1、首先在打开的C语言软件中,如下图所示,添加stdio.h头文件。
2、然后添加main主函数,如下图所示。
3、接着在下一行,添加返回值return 0,如下图所示。
4、然后添加printf("A\tB\n")语句, \t可以输出空格,如下图所示。
5、接着点击!按钮,执行程序,如下图所示。
6、最后弹出控制台,输出了A、B,成功输出了空格了,如下图所示就完成了。
通过二维数组的方式进行输出,代码如下:#include<stdio.h>
#include<string.h>
char S[100][1000]={' '}//声明表为全局变量
int s1=0
void chart(int n,int a[],int m)
int main()
{
int n
int M1[40]={0},M2[40]={0},M3[40][100]={0}
int i,j,k,k1,k2,max=0,col,l
char s[30][1000]
scanf("%d",&n)
getchar()//注意,必须得有这个来接收回车符
//获得表格数据
for(i=0i<ni++)
gets(s[i])
//求最大列数
for(i=0i<ni++)
{
l=strlen(s[i])
for(j=0j<lj++)
{
if(s[i][j]==',')
M1[i]++
}
if(M1[i]>max)
{
max=M1[i]
}
}
col=++max
//求每列最大宽度 //1.先求每个单元的长度,赋给M3[i][j]中
for(i=0i<ni++)
{
l=strlen(s[i])
k=0
for(j=0j<lj++)
{
if(s[i][j]!=',')
{
M3[i][k]++
}
if(s[i][j]==',')
k++
} //for2
}//for1
//2.找每列最大的赋予M2[]
for(j=0j<colj++)
{
max=0
for(i=0i<ni++)
{
if(M3[i][j]>max)
max=M3[i][j]
}
M2[j]=max
}
//表格
chart(n,M2,col)
//输入数据
for(i=0i<ni++)
{
k1=0
k2=0
k=0
l=strlen(s[i])
for(j=0j<lj++)
{
S[2*i+1][k2+1]=s[i][j]
if(s[i][j+1]==',')
{
k1=k1+M2[k]+1
k2=k1
k++
j++
}
else
k2++
}
}
//输出表格
for(i=0i<=2*ni++)
{
for(j=0j<s1j++)
printf("%c",S[i][j])
printf("\n")
}
return 0
}
void chart(int n,int a[],int m)//行数 每列的最大长度数组
{
int i,j,k
int s
s1=m+1
for(i=0i<mi++)
s1+=a[i]
for(i=0i<=2*ni++)
{
//输出奇数行
if(i%2==0)
{
s=0
k=0
for(j=0j<s1j++)
{
if(j==s)
{
S[i][j]='+'
s+=a[k]
s++
k++
}
else
S[i][j]='-'
}//for
} //if
//输出偶数行
else
{
s=0
k=0
for(j=0j<s1j++)
{
if(j==s)
{
S[i][j]='|'
s+=a[k]
s++
k++
}
}
}
} //for
}
简单的方法是通过ODBC来实现:具体实现
一、 包含Excel文件操作类头文件
#include "CSpreadSheet.h"
二、 新建Excel文件,并写入默认数据
// 新建Excel文件名及路径,TestSheet为内部表名
CSpreadSheet SS("c:\\Test.xls", "TestSheet")
CStringArray sampleArray, testRow
SS.BeginTransaction()
// 加入标题
sampleArray.RemoveAll()
sampleArray.Add("姓名")
sampleArray.Add("年龄")
SS.AddHeaders(sampleArray)
// 加入数据
CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鹏"}
CString strAge[] = {"27","23","28","27","26"}
for(int i = 0i <sizeof(strName)/sizeof(CString)i++)
{
sampleArray.RemoveAll()
sampleArray.Add(strName[i])
sampleArray.Add(strAge[i])
SS.AddRow(sampleArray)
}
SS.Commit()
三、 读取Excel文件数据
CSpreadSheet SS("c:\\Test.xls", "TestSheet")
CStringArray Rows, Column
//清空列表框
m_AccessList.ResetContent()
for (int i = 1i <= SS.GetTotalRows()i++)
{
// 读取一行
SS.ReadRow(Rows, i)
CString strContents = ""
for (int j = 1j <= Rows.GetSize()j++)
{
if(j == 1)
strContents = Rows.GetAt(j-1)
else
strContents = strContents + " -->" + Rows.GetAt(j-1)
}
m_AccessList.AddString(strContents)
}