第1
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
操作题
/*求菲玻那契数列的前20项。菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。*/
#include
void fibonacci(int f[])
{ int i;
/************Fill in the blanks************/
for(i=2;i<20;i++)
/************Fill in the blanks************/
f[i]=f[i-1]+f[i-2];
}
main()
{ int f[20]={1,1},i;
fibonacci(f);
printf("\n菲玻那契数列的前20项为: ");
for(i=0;i<20;i++){
if(i%5==0) printf("\n");
/************Fill in the blanks************/
printf("%12d",f[i]);
}
getch();
}
第2题操作题
/*将一个二维数组a的行和列元素互换,存到另一个二维数组b中。*/
#include
void trans(int a[2][3],int b[3][2])
{/* 本函数将二维数组a的行和列元素互换,存到二维数组b中 */
/**********Error**********/
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
/**********Error**********/
b[j][i]=a[i][j];
}
main()
{ int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;
printf("数组a:\n");
for(i=0;i<2;i++){
for(j=0;j<3;j++)
printf("%5d",a[i][j]);
printf("\n");
}
trans(a,b);
printf("数组b:\n");
for(i=0;i<3;i++){
for(j=0;j<2;j++)
printf("%5d",b[i][j]);
printf("\n");
}
getch();
}
第3题操作题
/*找出数组arr[]中的最大元素。
suffix函数的功能是:求出形参数组a[]中最大元素的下标。其中,形参n为数组元素的个数。
例如, 数组元素为: 56 178 6 123 87 243 161 124 78 143
则输出结果为:
数组arr的最大元素为: arr[5]=243 */
#include
int suffix(int a[],int n)
{ int i,k,max;
max=a[0];
for(i=1;i
/************Fill in the blanks************/
double sum(int m)
{ int i;
double y,d;
/************Fill in the blanks************/
y=0;
for(i=100;i<=m;i+=100){
d = (double)i * (double)i ;
y += 1.0/d;
}
/************Fill in the blanks************/
return(y);
}
main( )
{ int n = 2000 ;
printf("\nThe result is: %lf\n",sum(n));
getch();
}
第5题操作题
/*比较数组a[]和数组b[]中,a[i]>b[i]、a[i]=b[i]和a[i]y时,返回1;当x=y时,返回0;当x=y时,返回0。*/
#include
/**********Error**********/
int comp(int x,int y)
{ int flag;
if(x>y) flag=1;
/**********Error**********/
else if(x==y) flag=0;
else flag=-1;
return(flag);
}
main()
{ int i,n=0,m=0,k=0;
int a[10]={5,-23,5,21,6,18,9,12,23,7};
int b[10]={6,-9,64,23,-52,0,9,8,-35,12};
printf("数组a:\n");
for(i=0;i<10;i++) printf("%4d",a[i]);
printf("\n");
printf("数组b:\n");
for(i=0;i<10;i++) printf("%4d",b[i]);
printf("\n");
for(i=0;i<10;i++){
if(comp(a[i],b[i])==1) n=n+1;
else if(comp(a[i],b[i])==0) m=m+1;
else k=k+1;
}
printf("a[i]>b[i]%2d 次\na[i]=b[i]%2d 次\na[i]
int fun(int a[],int n)
{ int i; int k=0;
for(i=1;i<=n;i++)
if(i%7==0&&i%11==0)
{a[k]=i;
k++;
}
return k;
}
main()
{ void CHECK();
int arr[20],i,k,n;
clrscr();
n=1000;
k=fun(arr,n);
for(i=0;i
#define N 5
float count(int a[N][N])
{ int i,j;
float sum=0,ave;
for(i=0;i
long fibonacci(int n)
{ long a=1,b=1,c=1,d;
int i;
/************Fill in the blanks************/
for(i=4;i<=n;i++)
{
/************Fill in the blanks************/
d=a+b+c;
a=b;
b=c;
c=d;
}
/************Fill in the blanks************/
return d;
}
main()
{ int n=20;
printf("广义菲玻那契级数的第%d项为: %ld\n",n,fibonacci(n));
getch();
}
第9题操作题
/*应用冒泡排序算法,对数组a[]中的元素从小到大进行排序。*/
#include
void sort(int a[],int n)
{ int i,j,t;
for(j=0;ja[i+1]){
t=a[i];
/**********Error**********/
a[i]=a[i+1];
/**********Error**********/
a[i+1]=t;
}
}
main()
{ int k,a[10]={6,-9,78,23,-12,0,9,8,-3,12};
printf("数组a:\n");
for(k=0;k<10;k++)
printf("%d ",a[k]);
sort(a,10);
printf("\n从小到大排序:\n");
for(k=0;k<10;k++)
printf("%d ",a[k]);
printf("\n");
getch();
}
第10题操作题
/*计算1到形参n之间,能被3和7整除的整数的和,并作为函数值返回。
例如,n为1800时,程序输出:
1到1800之间,能被3和7整除的整数的和为: 76755 */
#include
long sum(int n)
{
int i;
long sum=0;
for(i=1;i<=n;i++)
if(i%3==0&&i%7==0)
sum=sum+i;
return(sum);
}
main()
{ void CHECK();
int n=1800;
clrscr();
printf("1到%d之间,能被3和7整除的整数的和为: %ld\n",n,sum(n)) ;
getch();
CHECK();
}
第11题操作题
/*统计子字符串substr在字符串str中出现的次数。
例如,若字符串为This is a C Program,子字符串为is,则应输出2。*/
#include
int count(char str[],char substr[])
{ int i,j,k,num=0;
/************Fill in the blanks************/
for(i=0;str[i]!='\0';i++)
for(j=i,k=0;substr[k]==str[j];k++,j++)
/************Fill in the blanks************/
if(substr[k+1]=='\0')
{
num++;
break;
}
/************Fill in the blanks************/
return num;
}
main()
{
char str[80],substr[80];
printf("Input a string: ");
gets(str);
printf("Input a substring: ");
gets(substr);
printf("The result is: %d\n",count(str,substr));
getch();
}
第12题操作题
/*求二维数组a[3][3]中各列元素的平均值,并依次存储在一维数组b[3]中。*/
#include
void fun(int a[3][3],float b[3])
{ int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++)
/**********Error**********/
b[j]+=a[i][j];
}
for(i=0;i<3;i++)
/**********Error**********/
b[i]/=3;
}
main()
{ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},i;
float b[3]={0,0,0};
fun(a,b);
for(i=0;i<3;i++)
printf("%4.1f ",b[i]);
printf("\n") ;
getch();
}
第13题操作题
/*有一个3×4的矩阵,求所有元素中的最小值。*/
#include
min_value(int array[][4])
{ int i,j,min;
min=array[0][0];
for(i=0;i<3;i++)
/************Fill in the blanks************/
for(j=0;j<4;j++)
if(array[i][j]
float average(float array[],int n)
{ int i;
float aver,sum=array[0];
/************Fill in the blanks************/
for(i=1;i
英语
关于好奇心的名言警句英语高中英语词汇下载高中英语词汇 下载英语衡水体下载小学英语关于形容词和副词的题
单词的第一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。
例如,若输入:I am a student to take the examination.,
则应输出:I Am A Student To Take The Examination.。*/
#include
/**********Error**********/
void change(char s[])
{ int i,k;
k=0;
/**********Error**********/
for(i=0;s[i]!='\0';i++)
if(k)
{if(s[i]==' ') k=0;}
else if(s[i]!=' ')
{k=1;
s[i]=toupper(s[i]);
}
}
main()
{ char str[80];
printf("\nPlease enter an English text line: ");
gets(str);
printf( "Before changing:\n %s",str);
change(str);
printf("\nAfter changing:\n %s\n",str);
getch();
}
第16题操作题
/*计算
1 1 1 1 1
1 - --- + --- - --- + --- - ... ---
2 3 4 5 n
例如,n=100时,运算结果为:0.688172。*/
#include
float count(int n)
{ int i;
float sign=1; float sum=0;
for(i=1;i<=n;i++)
{
sum=sum+sign/i;
sign=(-1)*sign;
}
return sum;
}
main()
{ void CHECK();
int n=100;
clrscr();
printf(" 1 1 1 1 1\n");
printf("1 - --- + --- - --- + --- - ... --- = %f\n",count(n));
printf(" 2 3 4 5 %d\n",n);
getch();
CHECK();
}
第17题操作题
/*求出以下分数序列的前n项之和。
2 3 5 8 13 21
┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ……
1 2 3 5 8 13
例如,若n = 5,则应输出:8.391667。*/
#include
/************Fill in the blanks************/
double sum(int n)
{ int a,b,c,k;
double s;
/************Fill in the blanks************/
s=0;
a=2;
b=1;
for(k=1;k<=n;k++){
s=s+(double)a/b;
c=a;
/************Fill in the blanks************/
a=b+c;
b=c;
}
return s;
}
main()
{ int n=5;
printf("\nThe value of function sum is: %lf\n",sum(n));
getch();
}
第18题操作题
/*计算两个双精度数的和的平方根。
例如,若输入:23.18,32.4721,则输出:z=7.460034。*/
#include
/**********Error**********/
double count(double a,double b)
{ double c;
/**********Error**********/
c=sqrt(a+b);
return c;
}
main()
{ double x,y,z;
printf("Enter x,y:");
scanf("%lf,%lf",&x,&y);
z=count(x,y);
printf ("z=%f\n",z);
getch();
}
第19题操作题
/*计算n!。例如,给n输入5,则输出5!=120。*/
#include
long count(int n)
{ int i;
long s=1;
for(i=1;i<=n;i++)
s=s*i;
return s;
}
main()
{ void CHECK();
int n;
clrscr();
printf("Input N:");
scanf("%d", &n);
printf("%d! =% ld\n",n,count(n));
getch();
CHECK();
}
第20题操作题
/*输出M行M列整数方阵,并计算主对角线上各元素之和。*/
#include
#define M 5
/************Fill in the blanks************/
int count(int n,int a[M][M])
{ int i,sum=0;
for(i=0;i
void invert(char str[],int n)
{int i;char temp;
for(i=0;i
int upper,lower,digit,space,other;
/************Error************/
void count(char str[])
{ int i=0;
while(str[i]!='\n')
{ if((str[i]>='A')&&(str[i]<='Z'))
upper++;
else if((str[i]>='a')&&(str[i]<='z'))
lower++;
/************Error************/
else if(str[i]==' ')
space++;
else if((str[i]>='0')&&(str[i]<='9'))
digit++;
else
other++;
i++;
}
}
main()
{ int i=0;
char s[80];
printf("\n请输入一行字符:");
while((s[i]=getchar())!='\n') i++;
upper=lower=digit=space=other=0;
count(s);
printf("其中,大写字母个数:%d,小写字母个数:%d,空格个数:%d,数字个数:%d,其它字符个数:%d",upper,lower,space,digit,other);
getch();}
第23题操作题
/*输入一个字符串(不超过80个字符),按逆序存放。*/
#include
/************Error************/
void inverse(char str[])
{ int i,j;
char t;
for(i=0,j=strlen(str);i
#define N 20
/************Fill in the blanks************/
void swap(int a[],int n)
{ int k, m, t ;
m=0;
/************Fill in the blanks************/
for(k=0;ka[m]) m=k;
t=a[0];
/************Fill in the blanks************/
a[0]=a[m];
a[m]=t;
}
main( )
{ int i,n=10,arr[N]={0,5,12,10,23,6,9,7,10,8};
printf("\n交换前:");
for(i=0;i
long count(long num)
{int n;
long s=1;
while(num!=0)
{
n=num%10;
s=s*n;
num=num/10;
}
return s;
}
main()
{ void CHECK();
long n ;
clrscr();
printf("\Please enter a number:");
scanf("%ld",&n);
printf("%ld\n",count(n));
CHECK();
}
第26题操作题
/*统计形参s[]所指字符串中数字字符出现的次数。
例如,形参s[]所指的字符串为:sjk7gr7we98yv98y3。输出结果为:
字符串sjk7gr7we98yv98y3中数字字符出现的次数为: 7 */
#include
#define N 80
int count(char s[])
{
int i,k=0;
for(i=0;s[i]!='\0';i++)
if(s[i]>='0'&&s[i]<='9')
k++;
return k;
}
main()
{ void CHECK();
char arr[N]="sjk7gr7we98yv98y3";
clrscr();
printf("字符串%s中数字字符出现的次数为: %d\n",arr,count(arr)) ;
CHECK();
}
第27题操作题
/*将小写字母转换为大写字母。
例如:C Language,转换为C LANGUAGE。*/
#include
void change(char s[])
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]>='a'&&s[i]<='z')
s[i]=s[i]-32;
}
main()
{ void CHECK();
char str[20]="C Language";
clrscr();
change(str);
printf("%s\n",str);
CHECK();
}
第28题操作题
/*求二维数组a[3][3]中各列元素的最大值,并依次存储在一维数组b[3]中。*/
#include
void fun(int a[3][3],int b[3])
{ int i,j;
for(i=0;i<3;i++){
/**********Error**********/
b[i]=a[0][i];
for(j=1;j<3;j++)
if(b[i]
long count(int n)
{ int i;
long sum=0,p=1;
/************Fill in the blanks************/
for(i=1;i<=n;i++)
{
p=p*i;
/************Fill in the blanks************/
sum=sum+p;
}
return(sum);
}
main( )
{
int n;
printf("计算1!+2!+3!+...+n!\n请输入n的值(3
void insert(char *s,char c)
{
while(*s && *s!=c) s++;
/**********Error**********/
if(*s!=c)
{
*s=c;
/**********Error**********/
*(s+1)='\0';
}
}
main()
{
char str[80], c;
printf( "\n请输入一个字符串:");
gets(str);
printf("请输入一个字符:");
c=getchar();
insert(str, c) ;
printf("操作结果为:%s\n",str);
}