您的位置:首页 > 编程语言 > C语言/C++

【末世旅行之C语言】C语言经典试题小集合

2015-05-30 23:18 141 查看

1.乘法口诀

/*输出9*9口诀*/
# include <stdio.h>
int main(void)
{
int i;
int j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%-2d   ",j,i,i*j);
}
printf("\n");
}
return 0;
}



2.斐波那契数列

/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....*/
# include <stdio.h>
int main(void)
{
int f1=1,f2=1;
for(int i=1;i<=10;i++)
{
printf("%5d%5d",f1,f2);
f1=f1+f2;
f2=f1+f2;
if(i%2==0)
printf("\n");
}
return 0;
}



3.素数问题

/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数+1),如果能被整除,
则表明此数不是素数,反之是素数。*/
# include <stdio.h>
void main()
{
int i,j,sum=0;
for(i=101;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
break;
}
}
if(i==j)
{
sum++;
printf("%d\n",i);
}
}
printf("%d\n",sum);

}



4.完数

/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.
找出1000以内的所有完数。*/
# include<stdio.h>
int main(void)
{
int i,j,sum=0;
for(i=2;i<=1000;i++)
{
for(j=i-1;j>=1;j--)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
printf("%d\n",i);
}
sum=0;
}
return 0;
}



5.4×4二维数组90度旋转

/*一个4×4的数组进行逆时针旋转90度后输出,
要求原始数组的数据随机输入,新数组以4行4列的方式输出*/
# include <stdio.h>
int main(void)
{
int a[4][4],b[4][4];
int i,j;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
}

for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
b[i][j]=a[j][3-i];
}
}

for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%-3d",b[i][j]);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: