#include<stdio.h>
#include<math.h>
int main()
{
int i,n;
scanf("%d",&n);
double high=0,sum=100;
for(i=1;i<=n;i++)
{
sum += high*2;
high = 100*pow(1.0/2,i);
}
printf("s=%.12f,h=%.12f",sum,high);
return 0;
}
#include<stdio.h>
#include<math.h>
void printline(int n)//输出第n行的函数
{
int i;
for(i=0;i<fabs(n-4);i++)
{
printf(" ");
}
for(i=0;i<(2*(n<4?n:8-n)-1);i++)
{
printf("*");
}
if(n!=7) printf("\n"); //最后一行是第7行,除最后一行外都实现换行
}
int main()
{
int i,m;
scanf("%d",&m);
for(i=1;i<=m;i++)//进行循环,输出前n行
{
printline(i);
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int n,i;
char a[50];
gets(a);
n=strlen(a);
//puts(a);这里不可用,它会将'/0'转化为'/n'导致换行
for(i=0;i<n;i++)
{
printf("%c",a[i]);
}
for(i=0;i<n/2;i++,n--)//每次都从左,右两端分别取一个字符进行比较
{
if(a[i]!=a[n-1]) break;
}
if(i==n/2) printf(" is a palindrome.");
else printf(" is not a palindrome.");
return 0;
}
下面这个程序有一点小问题,是半对
#include<stdio.h>
void per_num(int n)//判断1-n之间(保括1,n)的完数的函数
{
int p,q=0,cnt=0,sum,i;
int a[100];
for(i=2;i<=n;i++)
{
cnt=0;sum=0;
for(p=1;p<i;p++)
{
if(i%p==0)
{
sum += p;a[cnt]=p;cnt++;
}
}
if(sum!=i) continue;//如果不是,结束本次循环
else
{
q++;//q代表完数的个数
printf("%d its factors are ",i);
for(p=0;p<cnt;p++)
{
printf("%d",a[p]);
if(p!=cnt) printf(",");
}}
printf("\n");
}
if(q==0) printf("No perfect number.");
}
int main()
{
int m;
scanf("%d",&m);
per_num(m);
return 0;
}
这个程序质量不咋高,要是有更好的方法就不要用它了
#include<stdio.h>
int main()
{
int a[3][4],i,j,sp;
for(i=0;i<3;i++)//输入
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
}
sp=a[0][0];
for(i=0;i<3;i++)//打擂台,找到最大值
{
for(j=0;j<4;j++)
{
if(sp<a[i][j]) sp=a[i][j];
}
}
for(i=0;i<3;i++)//遍历输出与最大值相同的数组
{
for(j=0;j<4;j++)
{
if(sp==a[i][j]) printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
}
}
睡觉,睡醒再写,困了