1.输入n,输出1,2,3,。。。N的值(n >= 1)
#include<stdio.h>
int main()
{
int n, i,;
printf("n=");
scanf("%d", &n);
for(i=1; i<=n; i++) //从1到n输出
{
printf("%5d",i);
}
return 0;
}
2.输出所有aabbccdd的八位完全平方数。如11223344就是aabbccdd的一种
#include<stdio.h>
int main()
{
long i,j,a,b,c,d,e,f,g,h;
for(i=10000000;i<=99999999;i++)
{
a=i/10000000; //千万位
b=i/1000000%10; //百万位
c=i%1000000/100000; //十万位
d=i%100000/10000; //万位
e=i%10000/1000; //千位
f=i%1000/100; //百位
g=i%100/10; //十位
h=i%10; //个位
if(a==b&&c==d&&e==f&&g==h)//判断是否符合aabbccdd
{
for(j=3162;j<10000;j++)
if(i==j*j) //判断是否是完全平方数
printf("%ld",i);
else
continue;
}
}
return 0;
}
3.输入n,计算1! + 2! + 。。。。 N!的值
#include<stdio.h>
int main()
{
long n=1,i,a,s=0;
printf("n=");
scanf("%d",&a);
for(i=1;i<=a;i++)
{
n=n*i; //阶乘
s=s+n; //阶乘的和
}
printf("sum=%ld\n",s);
return 0;
}
4.输入正整数n <= 20,输出一个n层的正三角形
#include<stdio.h>
int main()
{
int n, i, j;
printf("n=");
scanf("%d", &n);
for(i=0; i<n; i++)
{
for(j=0; j<n-i; j++) //空格数
printf(" ");
for(j=0; j<(2*i+1); j++)//三角形数
printf("*");
printf("\n");
}
return 0;
}
5.输入n,,输出可大可小的数字正方形矩阵,最外层是第一层数字为1,要求同一层的数字相同,最内层为输入的n,详见样例
易知矩阵长度为2*n-1。
从1开始覆盖矩阵,后面的数会覆盖前面的,每次长度减2就行了。
11111 11111 11111
11111—> 12221—> 12221
11111 12221 12321
11111 12221 12221
11111 11111 11111
#include<stdio.h>
int a[1000][1000];
int main()
{
int i,j,k=1,n;
printf("n=");
scanf("%d",&n);
while(k<=n)
{
for(i=k;i<=2*n-k;i++)//进行覆盖赋值
{
for(j=k;j<=2*n-k;j++)
a[i][j]=k;
}
k=k+1;//下一次覆盖赋值从内一层开始
}
for(i=1;i<=2*n-1;i++)//输出正方形
{
for(j=1;j<=2*n-1;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}