A. c語言或者C++中如何把未知數量的輸入數據(譬如整型)存儲的內存中並在後面需要的時候逐個調用
C++裡面用vector容器可以實現
#include<iostream>
#include<vector>
usingnamespacestd;
intmain()
{
vector<int>vec;
inttemp;
while(cin>>temp)//Ctrl+z結束輸入
{
vec.push_back(temp);
}
for(size_ti=0;i<vec.size();i++)//簡單的調用,輸出
cout<<vec[i]<<"";
cout<<endl;
}
B. c語言如何從文件中讀入矩陣,存入二維數組
#include<iostream>
using namespace std;
int mat[101][101];
int main()
{
int n,m;//行,列...
int i,j;
freopen("D:\\in.txt","r",stdin);//讀文件...
cin>>n>>m;//讀入矩陣行數,列數...
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>mat[i][j];
return 0;
}
C. C語言子函數如何返回一個數組,主函數如何接收
一般是需要主函數提供保存數據的數組,在參數中給出數組起始地址,然後子函數在其中填充,比如要准會的整數是56
void fun(int *a,int b) { ... }
void main() { int a[20];
fun(a,56);
}
D. 用C語言編寫一個紅外發送和接收的程序
給你一段430單片機遙控器解碼的程序吧,也就是接收部分
畢竟世界太現實只能這么幫你
#ifndef _IR_
#define _IR_
char t0,t1,t2;
uchar IR;
void DelayIR()
{
uint i=130;
while(i--);
}
void init_port2(void)
{
P2DIR&=~BIT0;
P2SEL&=~BIT0;
P2IES|=BIT0;
P2IE|=BIT0;
}
#pragma vector=PORT2_VECTOR
__interrupt void PORT2_ISR(void)
{
char CounterIR;
P2IES&=~BIT0;
if(P2IFG&BIT0)
{
P2IFG&=~BIT0;
}
CounterIR=0;
while(!(P2IN&BIT0))
{
DelayIR();
CounterIR++;
}
if(CounterIR>85)
{
if(CounterIR<95)
{
t1++;
for(char k=0;k<17;k++)
{
CounterIR=0;
while((P2IN&BIT0)&&(CounterIR<50))
{
DelayIR();
CounterIR++;
}
CounterIR=0;
while((!(P2IN&BIT0))&&(CounterIR<10))
{
DelayIR();
CounterIR++;
}
}
for(char j=0;j<8;j++)
{
CounterIR=0;
while((P2IN&BIT0)&&(CounterIR<25))
{
DelayIR();
CounterIR++;
}
IR<<=1;
if(CounterIR>11)
IR|=BIT0;
CounterIR=0;
while((!(P2IN&BIT0))&&(CounterIR<10))
{
DelayIR();
CounterIR++;
}
}
if((IR!=0xff)&&(IR!=0x00))
{
if(!(flag&dataflag))
{
if(IR==0x22)
{
flag|=runflag;
}
else
{
Tar[0]=Tar[1];
Tar[1]=Tar[2];
Tar[2]=Tar[3];
Tar[3]=Tar[4];
switch (IR)
{
//case 0x22 : flag|=runflag;break;
case 0x68 : Tar[4]=0;flag|=dataflag;break;
case 0x30 : Tar[4]=1;flag|=dataflag;break;
case 0x18 : Tar[4]=2;flag|=dataflag;t2++;break;
case 0x7a : Tar[4]=3;flag|=dataflag;break;
case 0x10 : Tar[4]=4;flag|=dataflag;break;
case 0x38 : Tar[4]=5;flag|=dataflag;break;
case 0x5a : Tar[4]=6;flag|=dataflag;break;
case 0x42 : Tar[4]=7;flag|=dataflag;break;
case 0x4a : Tar[4]=8;flag|=dataflag;break;
case 0x52 : Tar[4]=9;flag|=dataflag;break;
default : break;
}
}
}
}
IR=0;
}
}
for(int m=0;m<250;m++)
DelayIR();
P2IES|=BIT0;
}
#endif