當前位置:首頁 » 編程語言 » c語言取表中數值命令
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言取表中數值命令

發布時間: 2023-06-19 06:37:11

A. c語言怎麼取出數字

#include<stdio.h>
#include <stdlib.h>
int main()
{
int data;
int temp;
printf("請輸入一個整數:");
scanf("%d", &data); // 接收用戶輸入的整數,並賦值給變數data
printf("%d從最低位到最高位分別為:\n", data);
int index = 0;
while (data > 0) // 當data=0或小於0時,退出循環,此時所以位數都已取出
{
if (index > 9)
break;
temp = data % 10; // 取出data的最低位
data = data / 10; // 將去掉data的最低位,次低位變為最低位
switch (index)
{
case 0:
printf("個位:%d \n", temp); // 輸出最低位(個位)
break;
case 1:
printf("十位:%d \n", temp); // 輸出最低位(十位)
break;
case 2:
printf("百位:%d \n", temp); //輸出最低位(百位)
break;
case 3:
printf("千位:%d \n", temp); //輸出最低位(千位)
break;
case 4:
printf("萬位:%d \n", temp); //輸出最低位(萬位)
break;
case 5:
printf("十萬位:%d \n", temp); //輸出最低位(十萬位)
break;
case 6:
printf("百萬位:%d \n", temp); //輸出最低位(百萬位)
break;
case 7:
printf("千萬位:%d \n", temp); //輸出最低位(千萬位)
break;
case 8:
printf("億位:%d \n", temp); //輸出最低位(億位)
break;
default:
break;
}
index++;
}
}

B. 如何用C語言讀取word中的數據

  1. #include<stdio.h>

  2. #include<stdlib.h>

  3. #include<string.h>

  4. intmain()

  5. {

  6. charch;

  7. charbuffer[1024];//緩沖區

  8. intlen=0;

  9. FILE*fp;

  10. fp=fopen("word.txt","r");

  11. if(fp==NULL)

  12. {

  13. printf("openfileword.txtfailed! ");

  14. }

  15. while(!feof(fp))

  16. {

  17. ch=fgetc(fp);

  18. buffer[len++]=ch;//放到緩沖區

  19. if(ch==' '){

  20. buffer[len]='';

  21. printf("%s",buffer);

  22. len=0;

  23. sleep(3);

  24. }//回車輸出

  25. }

  26. if(len){buffer[len]='';printf("%s",buffer);}//如果最後沒有回車,輸出緩沖區內容

  27. fclose(fp);

  28. return0;

  29. }

C. 如何用C語言實現讀取excel文件中的數據呢

基本思路
基礎實現方法同上篇文章《直接通過ODBC讀、寫Excel表格文件》相同,都是通過ODBC來把Excel表格文件當成資料庫文件來進行讀、寫等操作,所以在Excel表格文件中寫入的行頭名必須是唯一的(不要重名,相當於資料庫中的ID值)。本文中對Excel文件的操作都被封裝進一個類CSpreadSheet中,通過它我們可以非常簡便的實現各種Excel表格數據操作,並且可以對該類進行擴充來滿足自己的需求。
具體實現

一、 包含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 = 0; i < 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 = 1; i <= SS.GetTotalRows(); i++)
{
// 讀取一行
SS.ReadRow(Rows, i);
CString strContents = "";
for (int j = 1; j <= Rows.GetSize(); j++)
{
if(j == 1)
strContents = Rows.GetAt(j-1);
else
strContents = strContents + " --> " + Rows.GetAt(j-1);
}

m_AccessList.AddString(strContents);
}

四、 對已存在Excel表格數據進行添加、插入、替換操作
// 初始化測試行數據,進行添加、插入及替換數據操作演示
for (int k = 1; k <= 2; k++)
{
testRow.Add("Test");
}

SS.AddRow(testRow); // 添加到尾部
SS.AddRow(testRow, 2); // 插入新行到第二行
SS.AddRow(testRow, 6, true); // 替換原第四行來新的內容
SS.AddCell("徐景周", 1,2); // 添加(不存在)或替換(存在)第二行,第一列單元格內容

SS.Commit();
五、 對已存在Excel表格數據進行行、列、單元格查詢
void CExcelAccessDlg::OnQuery()
{
CSpreadSheet SS("c:\\Test.xls", "TestSheet");

CStringArray Rows, Column;
CString tempString = "";

UpdateData();

if(m_strRow == "" && m_strColumn == "") // 查詢為空
{
AfxMessageBox("行號、列號不能同時為空!");
return;
}
else if(m_strRow == "" && m_strColumn != "") // 查詢指定列數據
{
int iColumn = atoi(m_strColumn);
int iCols = SS.GetTotalColumns();
if(iColumn > iCols) // 超出表范圍查詢時
{
CString str;
str.Format("表中總列數為: %d, ", iCols);
AfxMessageBox(str + " 查詢列數大於Excel表中總列數,請重新輸入!");
return;
}

// 讀取一列數據,並按行讀出
if(!SS.ReadColumn(Column, iColumn))
{
AfxMessageBox(SS.GetLastError());
return;
}

CString tmpStr;
for (int i = 0; i < Column.GetSize(); i++)
{
tmpStr.Format("行號: %d, 列號: %d ,內容: %s\n", i+1,iColumn,Column.GetAt(i));
tempString += tmpStr;
}

AfxMessageBox(tempString);
}
else if(m_strRow != "" && m_strColumn == "") // 查詢指定行數數據
{
int iRow = atoi(m_strRow);
int iRows = SS.GetTotalRows();

if(iRow > iRows) // 超出表范圍查詢時
{
CString str;
str.Format("表中總行數為: %d, ", iRows);
AfxMessageBox(str + " 查詢行數大於Excel表中總行數,請重新輸入!");
return;
}

// 讀取指定行數據
if(!SS.ReadRow(Rows, iRow))
{
AfxMessageBox(SS.GetLastError());
return;
}

CString tmpStr;
for (int i = 0; i < Rows.GetSize(); i++)
{
tmpStr.Format("行號: %d, 列號: %d ,內容: %s\n", iRow, i+1, Rows.GetAt(i));
tempString += tmpStr;
}

AfxMessageBox(tempString);
}
else if(m_strRow != "" && m_strColumn != "") // 查詢指定單元格數據
{
int iRow = atoi(m_strRow), iColumn = atoi(m_strColumn);
int iRows = SS.GetTotalRows(), iCols = SS.GetTotalColumns();

if(iColumn > iCols) // 超出表范圍查詢時
{
CString str;
str.Format("表中總列數為: %d, ", iCols);
AfxMessageBox(str + " 查詢列數大於Excel表中總列數,請重新輸入!");
return;
}
else if(iRow > iRows)
{
CString str;
str.Format("表中總行數為: %d, ", iRows);
AfxMessageBox(str + " 查詢行數大於Excel表中總行數,請重新輸入!");
return;
}

// 讀取指定行、列單元格數據
if(!SS.ReadCell(tempString, iColumn, iRow))
{
AfxMessageBox(SS.GetLastError());
return;
}

CString str;
str.Format("行號: %d, 列號: %d ,內容: %s", iRow,iColumn,tempString);
AfxMessageBox(str);
}

}

六、 將存在的Excel轉換另存為指定分隔的文本文件
// 將原Excel文件轉換為用分號分隔的文本,並另存為同名文本文件
SS.Convert(";");
七、 刪除Excel中表格
SS. DeleteSheet(); // 刪除Excel文件中所有表格
SS. DeleteSheet(" TestSheet "); // 刪除Excel中TextSheet表格
八、 獲取Excel中總行數、總列數、當前行
int iCols = SS.GetTotalColumns(); // 總列數
int iRows = SS.GetTotalRows(); // 總行數
int iCurRow = SS.GetCurrentRow(); // 當前所在行號
九、 獲取行頭數據
CStringArray rowHeader;
SS.GetFieldNames(rowHeader);
CString tmpStr;
for (int i = 0; i < rowHeader.GetSize(); i++)
{
tmpStr.Format("行號: %d, 列號: %d ,內容: %s\n", 1, i+1, rowHeader.GetAt(i));
tempString += tmpStr;
}
AfxMessageBox(tempString);

最後,如果想知道詳細實現細節的話,可以在下載示例源碼後,仔細查看源碼既可(內有詳細注釋)。

D. C語言提取字元串中的所有數字

#include<stdio.h>
int
main()
{
char
str[1000];//保存讀取到的字元串
long
sum=0,data[1000];
int
i=0,top=0;
printf("輸入字元串:\n");
scanf("%s",str);
while(str[i]!='\0')//未到字元串末尾
{
if(str[i]>='0'&&str[i]<='9')//如果是數字
sum=sum*10+(str[i]-'0');//連續數字轉換為數.
else
if(sum!=0)//保存這個數
{
data[top++]=sum;
sum=0;
}
i++;
}
if(sum!=0)//判斷最後一個字元是否是數
data[top++]=sum;
printf("字元串中的數字是:\n");
i=0;
while(i<top)
{
printf("%ld",data[i]);
if(i<top-1)//不列印最後一個逗號
printf(",");
i++;
}
printf("\n");
system("pause");
return
0;
}

E. C語言中怎樣從一串數字中提取一個數

可以先把這個數字改成一個字元串, 然後再把你要的第幾個數字提出來即可, 如:
int i = 12345;
char ch[10];
sprintf(ch, "%d", i); //把i輸出到字元串(和printf用法一樣)
printf("%c\n", ch[2]); //輸出這個字元串的第3個字元(下標是2)
就會輸出3