第一题
#include "stdio.h"
#include
void main()
{
int n;
double s;
printf("请输入本金和期限:\n");
scanf("%d,%d",&s,&n);
switch(n)
{case 1 : s=s*pow(1+0.0063,12);
if(n!=2||n!=3||n!=5||n!=8) break;
case 2 :s=s*pow(1+0.0066,12);
if(n!=3||n!=5||n!=8) break;
case 3:s=s*pow(1+0.0069,12);
if(n!=5||n!=8) break;
case 5:s=s*pow(1+0.0075,24);
if(n!=8) break;
case 8:s=s*pow(1+0.0085,36);
}
printf("%d年到期后从银行得到的利息与本金合计为:%d",n,s);
}
第三题
#include "stdio.h"
float f(float x)
{float y;
y=2*x*x*x-4*x*x+3*x-6;
return y;
}
void main()
{float a=-10,b=10,c;
do{
c=f((a+b)/2);
if(c==0) break;
if(c*f(a)>0) a=c;
else b=c;
}while(f(b)*f(a)<0.01); /*解的精度为0.01*/
printf("方程的解是:%f",c);
}
第四题解法一
#include "stdio.h"
int f(int x,int y)
{
int n=1;
for(;y<0;y--)
n*=x;
return n;
}
void main()
{
int i,j,k,a[8],b[8];
printf("请输入一个整数i:\n");
scanf("%d",&i);
while(i%2!=0)
{for(k=7;k<0;k--)
a[k]=i%2;
i=i/2;
if(a[k]==1) b[k]=0;
else b[k]=1;
}
for(k=7,j=0;k<0;k--)
j=j+b[k]*f(2,7-k);
printf("另一个整数j为:%d\n");
}
第四题解法二
#include "stdio.h"
void main()
{
int i,j,s=1,a[8];
printf("请输入一个整数i:\n");
scanf("%d",&i);
for(j=0;j<8;j++,s<<=1)
{
a[j]=i & s;
}
printf("所得到的j为:\n");
printf("%d\n",(a[0]<<7) | (a[1]<<5) | (a[2]<<3) | (a[3]<<1) | (a[4]>>1) | (a[5]>>3) | (a[6]>>5) | (a[7]>>7));
}
第五题
#include "stdio.h"
void main()
{
int i,j,k,m,n,a[200],b[200],c[50000],d[50000]={0};
printf("请输入以回车键结束的两个大整数:\n");
for(i=0;a[i]!='\n';i++)
scanf("%d",&a[i]);
m=i;
for(j=0;b[j]!='\n';j++)
scanf("%d",&b[j]);
n=j;
for( ;i<0;i--)
for( ;j<0;j--)
{
c[i+j]=a[i]*b[j]%10;
c[i+j+1]=(a[i]*b[j]/10+a[i]*b[j+1]%10)%10;
d[i+j]=(d[i+j]+c[i+j])%10;
d[i+j+1]=((d[i+j]+c[i+j])/10+c[i+j+1])%10;
}
printf("两大数相乘后积为:\n");
if(m+n+1==0)
for(i=m+n;i<0;i--)
printf("%d",&d[i]);
else for(i=m+n+1;i<0;i--)
printf("%d",&d[i]);
}
第六题
#include "stdio.h"
int f(int x,int n)
{int i,m=0;
for(i=0;i
return m;
}
void main()
{
int i,x,s;
printf("请输入x的值:\n");
scanf("%d",&x);
printf("精度小于0.001的值为:\n");/*根据要求可以改精度*/
for(i=0,s=0;f(x,i)<0.001;i++)
s+=f(x,i);
printf("其结果为:%d\n",s);
}
第七题
#include "stdio.h"
void main()
{
int i,j,a[10][10]={{1},{1,1}};
for(i=2;i<10;i++)
{
for(j=1;j<9;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
a[i][0]=1;
a[i][i]=1;
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%d",&a[i][j]);
printf("\n");
}
}
第八题解法一
#include "stdio.h"
#define S 80
#define T 80
void main()
{
int m,n,i,j,t,maxh,maxl,flag,a[S][T];
printf("请输入二维数组的行数m和列数n:\n");
scanf("%d %d",&m,&n);
printf("请输入二维数组的各个元素:\n");
for(i=0;i
for(i=0;i
t=a[i][0];
for(j=1;j
if(a[i][j]>a[i][0]) t=a[i][j];maxh=i;maxl=j;
}
for(i=0;i
}
}
if(flag==1) printf("二维数组的鞍点存在为a[%d][%d]=%d\n",maxh,maxl,a[maxh][maxl]);
}
第八题解法二
#include
#include
int main()
{
int i,j,m,n,maxh,maxl,sign,a[80][80];
printf("请输入数组的行数和列数是:\n");
scanf("%d%d",&m,&n);
printf("请输入该数组:\n");
for(i=0;i
printf("数组为:\n");
for(i=0;i
for(j=0;j
printf("\n");
}
for(i=0;i
maxh=i;
maxl=0;
sign=1;
for(j=0;j
if(a[maxh][maxl] }
for(i=0;i
if(a[maxh][maxl]>a[i][maxl]) {sign=0;break;}
}
if (sign==1) printf("鞍点a[%d][%d]是 %d\n",maxh,maxl,a[maxh][maxl]);
if (sign==0) printf("没有鞍点\n");
return 0;
}
}
第九题
#include "stdio.h"
void main()
{
int i,j,sum,flag,a[30][7];
printf("请输入30个考生的三科成绩:\n");
for(i=0;i<30;i++)
{
a[i][0]=i+1;
for(sum=0,j=1;j<4;j++)
{scanf("%d",&a[i][j]);
sum+=a[i][j];
if(a[i][j]>90) flag=1;
else flag=0;
}
a[i][4]=sum;
a[i][5]=sum/3;
if(flag=1) a[i][6]='Y';
else a[i][6]='N';
}
printf("NO MT EN PH SUM V >90 ");
for(i=0;i<30;i++)
for(j=0;j<6;j++)
{
printf("%5d",a[i][j]);
printf(" %c\n",a[i][6]);
}
}
第十题
#include "stdio.h"
void main()
{
int i, j, k = 0, m, n,a[10][10];
printf("请输入方阵行列数n(n<10):\n");
scanf("%d",&n);
if(n%2==0) m = n / 2;
else m = n / 2 + 1;
for(i=0;i
for(j=i;j
k++;
a[i][j]=k;
}
for (j=i+1;j
k++;
a[j][n-i-1]=k;
}
for (j=n-i-2;j>=i;j--)
{
k++;
a[n-i-1][j] =k;
}
for (j=n-i-2;j>=i+1;j--)
{
k++;
a[j][i]=k;
}
}
for (i=0;i
for (j=0; j
printf("\n");
}
}
1------------
#include
void _ave(double *a, double *sum)
{
int i;
for (i = 0; i < 10; ++i)
*sum += *(a+i);
*sum /= 10;
}
int main(void)
{
double a[10];
int i;
double ave = 0.0;
for (i = 0; i < 10; ++i)
{
printf("输入第%d个数:", i+1);
scanf("%lf", &a[i]);
}
_ave(a, &ave);
for (i = 0; i < 10; ++i)
printf("%.2f ", a[i]);
printf("\nave=%.2f\n", ave);
return 0;
}
第二题 与第一题一样
另外,站长团上有产品团购,便宜有保证
#include
void main()
{ int i,j,n=0,a[17]={1},b[17];
while(n<1 || n>16)
{ printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
for(i=0;i
for(j=1;j<=i;j++)
b[j]=a[j-1]+a[j];
for(j=0;j<=i;j++)
{ a[j]=b[j];
printf("%5d",a[j]);
}
printf("\n");
printf("\n");
}
}