① 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]!='