當前位置:首頁 » 編程語言 » c語言怎麼提取含有2的數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼提取含有2的數據

發布時間: 2022-06-20 12:46:22

c語言編程中輸入1+2=格式的數據作為數組中數據(例如把1+2=輸入為啊a[1]),如何把1,2,單獨提取出

你輸入的時候給個數組就行了;
int a[2];
for(int i=0;i<2;i++)
{
scanf("%d",&a[i]);//在裡面輸入1,2,那麼a[0]就為1,a[1]為2;
}
如果你想加起來的話就在定義個數據
比如 int b;
b=a[0]+a[1] 意思就是b=1+2了;

② C語言中怎樣從 txt文件中提取數據,希望有詳細的說明

FILE* fo;
fo=fopen("文件名","r");
然後建立一個新文件供寫入
FILE* fn;
fn=fopen("文件名","w+");
然後用fgetc讀,讀到的東西存到數組里,每遇到\n就開一個新數組,直到讀到EOF
讀出來的東西再一個一個fputc回新文件里就行了。
最後
fclose(fo);
fclose(fn);

補充:
fo是FILE型指針,可能指向文件的任何位置,用fseek等操作
fgetc讀出來是一個char,肯定要放到一個char型數組對吧,你可以用幾萬行的2維數組,也可以用幾萬個1維數組
遇到行結束了,要不就轉向二維數組的下一行,要不就新建一個1維數組,這個你會吧:
int* a;
a=(int*)malloc(10000*sizeof(int));
建議用2維數組,簡單一點
幾萬行的文件一點都不大,可以說是比較小的:),放心。
還有,建議你多去看看MSDN之類的或者C教材中對文件操作常式的信息。

③ 如何用C語言取數據

//其中的in.txt就是你要讀取數據的文件,當然把它和程序放在同一目錄
-------------------------------------
#include
<stdio.h>
int
main()
{
int
data;
FILE
*fp=fopen("in.txt","r");
if(!fp)
{
printf("can't
open
file\n");
return
-1;
}
while(!feof(fp))
{
fscanf(fp,"%d",&data);
printf("%4d",data);
}
printf("\n");
fclose(fp);
return
0;
}
2
猴島ID
飯叔為你解答
望採納

④ 在C語言中,怎樣取小數只取2兩位 然後賦值給字元串

方法:
1.
定義字元數組用來存儲字元串
2.
定義浮點數賦值,如:double
d=1.23456;
3.
用sprintf()的%.2f格式截取浮點數的小數位,第三位四捨五入
4.
輸出結果驗證
參考代碼:
附:sprintf()函數格式說明(與printf格式相同):
%m.nf

m是輸出輸出數據最小字元寬度(可省,按實際長度輸出),n為小數點後保留位數(0表示不輸出小數位和小數點),第n+1位四捨五入,f表示按浮點數輸出。

⑤ C語言,怎麼在另一個程序中提取數據

可以通過往這個程序中傳遞一個數組指針,在下一個程序中定義好一個數組,並調用上一個程序,這樣這360個數據就跑到下一個程序中了。

⑥ C語言如何讀取兩列數據,然後進行簡單處理後輸出到另一個文件中謝謝!

#include<stdio.h>

intmain()
{
FILE*fp,*fp1;
inta[20][2];
fp=fopen("1.txt","r+");//以可讀的方式打開1.txt文件
fp1=fopen("2.txt","w");//以可寫的方式打開2.txt文件
inti=0;
while(!feof(fp))//讀至文件末尾
{
fscanf(fp,"%d%d",&a[i][0],&a[i][1]);//從文件1.txt中讀取數據
i++;
}
intx=0,y=0;
for(intj=0;j<i;j++)
{
x+=a[j][0]*a[j][1];
y+=a[j][1];
}
fprintf(fp1,"%f",(double)x/y);//將結果數據寫入2.txt文件
return0;
}//就是講printf改成fprintf就變成寫入文件了

⑦ 怎樣用C語言提取txt中二維數據,然後輸出到excel中製作成一個鄰接矩陣

這應該是圖論里的比較典型的通路問題,將所有的數據存到一個二維數組a[90][90],這個數組全部初始化位0,然後根據輸入操作,比如輸入1,75那麼a[0][74]
=
1;然後用Warshall演算法求矩陣的傳遞閉包即可!相關資料自己查閱一下,慢慢研究!祝早日成功!

⑧ 用c語言提取下面txt里gene後面的2組數據並另存為文檔

標准C99代碼
#include <stdio.h>
#include <string.h>
int main()
{
char fin_name[]="input.txt",//輸入文件名
fout_name[]="output.txt";//輸出文件
FILE *fin=fopen(fin_name,"rt"), *fout=fopen(fout_name,"wt");
char word[500],c=0;
if(!fin){
printf("ERROR: Cannot open file %s",fin_name);
return -1;
}
while(fscanf(fin,"%s",word)!=EOF){
if(strcmp("gene",word)==0){
for(c=0;c<2;c++){
if(fscanf(fin,"%s",word)!=EOF){
fprintf(fout,"%s ",word);
printf("%s ",word);
}else{
printf("ERROR: the content of %s is malformed",fin_name);
fclose(fin);fclose(fout);
return -2;
}
}
fputc('\n',fout);
putchar('\n');
}
}
fclose(fin);fclose(fout);
return 0;
}
============
273 734
8848 11415
11918 12241
16844 17791

⑨ c語言中如何提取二進制數中的某一位

下面是三種方式:

①通過模2除2(%2、/2)的方法

num%2——取出二進制的最後一位

num/2——右移去掉二進制的最後一位

通過while循環,依次取出二進制的最後一位數字判斷是否為1,若為1則count++,while(num)只有當num變為0時循環結束。

問題:在測試-1出現bug,-1的二進制中應該有32個1,輸出卻為0。我們將-1帶入代碼中發現-1%2=0,count不增,然後-1/2=0,循環結束,故輸出count的值為0。

解決方案:將變數num的數據類型改為unsigned int (無符號整型),此時表示的是正的整型的最大值,所以當num=-1時,表示二進制為32個1的正數,通過循環可以輸出正確的個數。

②通過右移操作符(>>)、按位與操作符(&)實現

Example:當num=10(1010),通過右移操作num>>i,二進制向右移動i位。

//i=0,num>>0,右移0位,此時(1010)&(0001)=0

//i=1,num>>1,右移1位,此時(0101)&(0001)=1,count++

//i=2,num>>2,右移2位,此時(0010)&(0001)=0

//i=3,num>>3,右移3位,此時(0001)&(0001)=1,count++

……

因為二進制共32位,所以循環要執行32次後結束,得到count為2。

缺點:不夠高效,必須循環32次。

③通過按位與操作符(&)巧妙運算實現

Example: 當num=15時,

1//num&(num-1)=(1111)&(1110)=(1110)

2//num&(num-1)=(1110)&(1101)=(1100)

3//num&(num-1)=(1100)&(1011)=(1000)

4//num&(num-1)=(1000)&(0111)=0 ,循環停止。共執行4次while循環。

(9)c語言怎麼提取含有2的數據擴展閱讀

一、指定的某一位數置1

宏 #define setbit(x,y) x|=(1<<y)

二、指定的某一位數置0

宏 #define clrbit(x,y) x&=~(1<<y)

三、指定的某一位數取反

宏 #define reversebit(x,y) x^=(1<<y)

四、獲取的某一位的值

宏 #define getbit(x,y) ((x) >> (y)&1)