资源描述
【程序改错】
功能:根据整型形参m的值,计算如下公式的值。
1 1 1
t = 1- —— - —— - ... - ——
2x2 3x3 mxm
例如:若m=5,则应输出:0.536389
------------------------------------------------------*/
#include <stdio.h>
double fun(int m)
{
double y=1.0;
int i;
/**********FOUND**********/
for(i=2;i<m;i--) for(i=2;i<=m;i++)
/**********FOUND**********/
y-=1/(i*i); y-=1.0/(i*i)
/**********FOUND**********/
return m; return y
}
main()
{
int n=5;
printf("\nthe result is %lf\n",fun(n));
}
【程序设计】
---------------------------------------------------------
题目:编程求所有4位数,这些数具有以下特点:这数本身是平方数,且其低2位和高2位所组成的2个2位数也是平方数。
要求:使用程序中定义的变量
-------------------------------------------------------*/
#include <stdio.h>
#include <math.h>
main(){
int qw,bw,sw,gw; // qw千位数bw百位数sw十位数gw个位数
int a,b; //a 高两位低两数
int i; //循环变量
/**********Program**********/
for(i=1000;i<10000;i++)
{
qw=i/1000;
bw=i/100%10;
sw=i/10%10;
gw=i%10;
a=qw*10+bw;
b=sw*10+gw;
if(sqrt(i)==(int)sqrt(i)&&sqrt(a)==(int)sqrt(a)&&sqrt(b)==(int)sqrt(b))
printf(“%d\n”,i);
}
/********** End **********/
}【程序设计】
功能:从键盘为一维整型数组输入10个整数,调用fun 函
数找出其中最小的数,并在main函数中输出。。
------------------------------------------------*/
#include "stdio.h"
void wwjt();
int fun(int x[],int n) {
/**********Program**********/
int z,k;
z=x[0];
for(k=1;k<n;k++)
if(z>x[k])z=x[k];
return(z);
/********** End **********/
}
void main(){
int a[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
min=fun(a,10);
printf("%d\n",min);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int in[4],out;
IN=fopen("in.dat","r");
if(IN==NULL) printf("Read FILE Error");
OUT=fopen("out.dat","w");
if(OUT==NULL) printf("Write FILE Error");
for(int j=0;j<5;j++)
{
for(int i=0;i<4;i++)
{
fscanf(IN,"%d",&in[i]);
}
out=fun(in,4);
fprintf(OUT,"%d\n",out);
}
fclose(IN);
fclose(OUT);
}
【程序设计】
---------------------------------------------------------
题目:求Sn=a+aa+aaa+……+aa…a之值,其a中代表1到9中的一个数字。例如:a代表2,
则求2+22+222+2222+22222(此时n=5),a和n由键盘输入。
-------------------------------------------------------*/
#include <stdio.h>
void wwjt();
int fun(int a,int n)
{
int t=a,i,s; /* t 表示每个项 */
/**********Program**********/
s=0;
for(i=1;i<=n;i++)
{ s=s+t;
t=t*10+a;
}
return s;
/********** End **********/
}
void main( )
{
int a, n, s ;
printf("输入a和n的值:");
scanf("%d%d", &a, &n) ;
printf("a=%d, n=%d:\n", a, n) ;
s=fun(a,n);
printf("a+aa+aaa+...+aa..a=%d\n", s);
wwjt();
}
void wwjt()
{
FILE *IN,*OUT;
int j;
inta,n;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The CurrerntDir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(j=0;j<3;j++)
{
fscanf(IN,"%d",&a);
fscanf(IN,"%d",&n);
fprintf(OUT,"%d\n",fun(a,n));
}
fclose(IN);
fclose(OUT);
}
【程序设计】
---------------------------------------------------------
题目:已知某班5名学生的三门课成绩。试编写程序,输入这5个学生的三门课成绩
a[5][3],输出每门课成绩的平均分vag[3]。
#include <stdio.h>
void main( )
{
/**********Program**********/
int a[5][3];
float vag[3];
int i,j;
for(i=0;i<5;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
{ for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf("\n");
}
for(j=0;j<3;j++)
vag[j]=0;
for(i=0;i<5;i++)
for(j=0;j<3;j++)
vag[j]=vag[j]+a[i][j]/5.0;
for(i=0;i<3;i++)
printf("%.2f\n",vag[i]);
/********** End **********/
}
【程序改错】
功能:有一数组内放10个整数,要求找出最小数和它的下标,然后
把它和数组中最前面的元素即第一个数对换位置.
#include <stdio.h>
main( )
{
int i,a[10],min,k=0;
printf("\n please input array 10 elements\n");
for(i=0;i<10;i++)
/***********FOUND***********/
scanf("%d", a[i]); scanf("%d", &a[i]);
for(i=0;i<10;i++)
printf("%d",a[i]);
min=a[0];
/***********FOUND***********/
for(i=3;i<10;i++) for(i=1;i<10;i++)
/***********FOUND***********/
if(a[i]>min) if(a[i]<min)
{
min=a[i];
k=i;
}
/***********FOUND***********/
a[k]=a[i]; a[k]=a[0];
a[0]=min;
printf("\n after eschange:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\nk=%d\nmin=%d\n",k,min);
}
【程序填空】
功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作
为终止标记。
#include <stdio.h>
main()
{
int x,i=0,j=0;
float s1=0,s2=0,av1,av2;
scanf("%d",&x);
/***********SPACE***********/
while(【?】) x!=0
{
if(x%2==0)
{
s1=s1+x;
i++;
}
/***********SPACE***********/
【?】 if(x%2==1)
{
s2=s2+x;
j++;
}
/***********SPACE***********/
【?】; scanf("%d",&x);
}
if(i!=0)
av1=s1/i;
else
av1=0;
if(j!=0)
/***********SPACE***********/
【?】 ; av2=s2/j
else
av2=0;
printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);
}
【程序改错】
功能:根据整型形参 m,计算某一数据项的值。
y = 1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)
例如:若m = 2000,则应输出: 0.000160。
#include <conio.h>
#include <stdio.h>
/**********FOUND**********/
fun ( int m ) float fun ( int m )
{
double y = 0, d ;
int i ;
/**********FOUND**********/
for( i = 100, i <= m, i += 100 ) for( i = 100; i <= m; i += 100 )
{
d = (double)i * (double)i ;
/**********FOUND**********/
y += 1.0 \ d ; y += 1.0/d ;
}
return( y ) ;
}
main( )
{
int n = 2000 ;
printf( "\nThe result is %lf\n", fun ( n ) ) ;
}
【程序填空】题目:求100以内个位数为6且能够被3整除的所有数
#include<stdio.h>
void main()
{
Int i,j;
/***********SPACE***********/
for(i=0;【?】;i++) i<=9
{
j=i*10+6;
/***********SPACE***********/
if(【?】) j%3!=0
continue;
printf("%d\t",j);
}
}
【程序填空】
---------------------------------------------------------
功能:下面程序的功能是用do-while语句求1至1000之间满足
"用3除余2;且用5除余3"的数,且一行只打印五个数。
-------------------------------------------------------*/
#include <stdio.h>
main()
{
int i=1,j=0;
do{
/***********SPACE***********/
if(【?】) i%3==2&&i%5==3
{
printf("%4d",i);
j=j+1;
/***********SPACE***********/
if(【?】) printf("\n"); j%5==0
}
i=i+1;
}while(i<1000);
}
【程序填空】
题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。
#include <stdio.h>
/***********SPACE***********/
【?】 #include<math.h>
main()
{ int x;
double y,z;
/***********SPACE***********/
scanf("【?】",&x,&y); %d%lf
z=2*x*sqrt(y);
/***********SPACE***********/
printf("z=【?】",z); %lf
}
【程序改错】功能:实现3行3列矩阵的转置,即行列互换。
#include <stdio.h>
fun(int a[3][3],int n)
{
Int i,j,t;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
/**********FOUND**********/
scanf("%d",a[i][j]); scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
/**********FOUND**********/
for(j=0;j<n;j++) for(j=0;j<i;j++)
{
/**********FOUND**********/
a[i][j]=t; t=a[i][j];
a[i][j]=a[j][i];
/**********FOUND**********/
t=a[j][i]; a[j][i]=t;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
main()
{
int b[3][3];
fun(b,3);
}
【程序改错】功能:实现两个字符串的连接。
例如:输入dfdfqe和12345时,则输出dfdfqe12345.
#include <stdio.h>
main()
{
char s1[80],s2[80];
void scat(char s1[],char s2[]);
gets(s1);
gets(s2);
scat(s1,s2);
puts(s1);
}
void scat (char s1[],char s2[])
{
int i=0,j=0;
/**********FOUND**********/
while(s1[i]=='\0') while(s1[i]!='\0')
i++;
/**********FOUND**********/
while(s2[j]=='\0') while(s2[j]!='\0')
{
/**********FOUND**********/
s2[j]=s1[i]; s1[i]=s2[j];
i++;
j++;
}
/**********FOUND**********/
s2[j]='\0'; s1[i]='\0';
}
【程序填空】
功能:下面的程序是求1!+3!+5!+……+n!的和。
#include <stdio.h>
main(){
long int f,s;
int i,j,n;
/***********SPACE***********/
【?】; s=0
scanf("%d",&n);
/***********SPACE***********/
for(i=1;i<=n; 【?】) { i+=2
f=1;
/***********SPACE***********/
for(j=1; 【?】;j++) j<=i
/***********SPACE***********/
【?】; f=f*j
s=s+f;
}
printf("n=%d,s=%ld\n",n,s);
}
展开阅读全文