① c語言問題
void wwjt()
{
FILE *IN,*OUT; /*定義兩個文件指針用於打開文件操作*/
int i;
int iIN;
long int iOUT;
IN=fopen("in.dat","r"); /*當前目錄下的in.dat二進制文件以讀的方式打開*/
if(IN==NULL) /*打開失敗列印信息報錯*/
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w"); /*打開out.dat文件以寫入的方式打開*/
if(OUT==NULL) /*打開失敗報錯*/
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN); /*循環從in.dat文件中讀取信息到iIN變數中*/
iOUT=fun(iIN); /*以iIN為參數調用fun函數返回的結果存放到iOUT變數中*/
fprintf(OUT,"%ld\n",iOUT); /*把iOUT結果寫入out.dat文件中*/
}
fclose(IN); /* 關閉文件*/
fclose(OUT); /* 關閉文件*/
}
② 問一個C語言的題目。十萬火急
第一個 錯誤:void wwjt()函數在使用前沒有聲明
第二個錯誤:void len_cat(char c1[],char c2[])形參是char型而len_cat(i[0],i[1]);i【】數組是int型
可以在主函數里邊加一行void wwjt()的聲明,或者先定義void wwjt()函數;將i[]數組改為char型的
③ C語言求救=。=幫忙補全程序
程序1代碼:
/*
功能:產生20個[30,120]上的隨機整數放入二維數組a[5][4]中,求每行元素的和
*/
#include<stdio.h>
voidwwjt();
voidrow_sum(inta[5][4],intb[5])
{
inti=0,j=0,sum=0;
for(i=0;i<5;i++)
{
sum=0;
for(j=0;j<4;j++)
{
sum+=a[i][j];
}
b[i]=sum;
}
}
main()
{
voidrow_sum();
inta[5][4],b[5],i,j;
for(i=0;i<5;i++)
for(j=0;j<4;j++)
a[i][j]=rand()%(120-30+1)+30;
FILE*fp=fopen("in.dat","w");//將隨機產生的數組寫入到in.dat中,供wwjt()函數使用
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
{
printf("%5d",a[i][j]);
fprintf(fp,"%5d",a[i][j]);
}
printf(" ");
fprintf(fp," ");
}
fclose(fp);
row_sum(a,b);
for(i=0;i<5;i++)
printf("%6d",b[i]);
printf(" ");
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
intm,n;
inti[5][4];
into[5];
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(m=0;m<5;m++)
for(n=0;n<4;n++)
fscanf(IN,"%d",&i[m][n]);
row_sum(i,o);
for(n=0;n<5;n++)
fprintf(OUT,"%d ",o[n]);
fclose(IN);
fclose(OUT);
}
運行結果:
108 104 67 112
31 96 68 46
31 89 32 98
43 34 120 44
117 66 53 67
391 241 250 241 303
程序2代碼:
/*
功能:實現兩個整數的交換。
例如:給a和b分別輸入:60和65,輸出為:a=65b=60
*/
#include<stdio.h>
voidwwjt();
voidfun(int*a,int*b)
{
inttmp;
tmp=*a;
*a=*b;
*b=tmp;
}
main()
{
inta,b;
printf("Entera,b:");
scanf("%d%d",&a,&b);
fun(&a,&b);
printf("a=%db=%d ",a,b);
wwjt();
}
voidwwjt()
{
FILE*IN,*OUT;
inta,b,n;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("ReadFILEError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("WriteFILEError");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%d%d",&a,&b);
fun(&a,&b);
fprintf(OUT,"a=%db=%d ",a,b);
}
fclose(IN);
fclose(OUT);
}
運行結果:
Enter a,b: 60 65
a=65 b=60
程序3代碼:
/*
題目:編寫函數,要求輸入一行字元,統計其中字母、數字、空格及其他字元的個數
(用指針作為函數參數)。
*/
#include<stdio.h>
#defineN100
voidfun(charstr[],int*p1,int*p2,int*p3)
{
inti;
i=0;
while(str[i]!='