1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include "stdio.h"
main()
{int i,j,result
for (i=1i<10i++)
{ for(j=1j<10j++)
{
result=i*j
printf("%d*%d=%-3d",i,j,result)/*-3d表示左对齐,占3位*/
}
printf("\n")/*每一行后换行*/
}
}
2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....*/
main()
{
long f1,f2
int i
f1=f2=1
for(i=1i<=20i++)
{ printf("%12ld %12ld",f1,f2)
if(i%2==0) printf("\n")/*控制输出,每行四个*/
f1=f1+f2/*前两个月加起来赋值给第三个月*/
f2=f1+f2/*前两个月加起来赋值给第三个月*/
}
}
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。*/
#include "math.h"
main()
{
int m,i,k,h=0,leap=1
printf("\n")
for(m=101m<=200m++)
{ k=sqrt(m+1)
for(i=2i<=ki++)
if(m%i==0)
{leap=0break}
if(leap) /*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m)h++
if(h%10==0)
printf("\n")
}
leap=1
}
printf("\nThe total is %d",h)
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程
找出1000以内的所有完数。*/
main()
{
static int k[10]
int i,j,n,s
for(j=2j<1000j++)
{
n=-1
s=j
for(i=1i<ji++)
{if((j%i)==0)
{ n++
s=s-i
k[n]=i
}
}
if(s==0)
{printf("%d is a wanshu: ",j)
for(i=0i<ni++)
printf("%d,",k[i])
printf("%d\n",k[n])
}
}
}
5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j /*a存放原始数组数据,b存放旋转后数组数据*/
printf("input 16 numbers: ")
/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
for(i=0i<4i++)
for(j=0j<4j++)
{ scanf("%d",&a[i][j])
b[3-j][i]=a[i][j]
}
printf("array b:\n")
for(i=0i<4i++)
{ for(j=0j<4j++)
printf("%6d",b[i][j])
printf("\n")
}
}
6、/*编程打印直角杨辉三角形*/
main()
{int i,j,a[6][6]
for(i=0i<=5i++)
{a[i][i]=1a[i][0]=1}
for(i=2i<=5i++)
for(j=1j<=i-1j++)
a[i][j]=a[i-1][j]+a[i-1][j-1]
for(i=0i<=5i++)
{for(j=0j<=ij++)
printf("%4d",a[i][j])
printf("\n")}
}
7、/*通过键盘输入3名学生4门课程的成绩,
分别求每个学生的平均成绩和每门课程的平均成绩。
要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
#include <stdio.h>
#include <stdlib.h>
main()
{ float a[4][5],sum1,sum2
int i,j
for(i=0i<3i++)
for(j=0j<4j++)
scanf("%f",&a[i][j])
for(i=0i<3i++)
{ sum1=0
for(j=0j<4j++)
sum1+=a[i][j]
a[i][4]=sum1/4
}
如下:
1、乘法表。用C语言输出9*9乘法口诀。共9行9列,i控制行,j控制列。
2、编写函数countpi,利用公式计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。
3、反向输出。完善程序,实现将输入的字符串反序输出,如输入windows 输出swodniw。
4、替换输出:编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上,并输出到文件p10_2.out中。
5、解决排序问题:写一个void sort(int *x,int n)实现将x数组中的n个数据从大到小排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中。
C语言语言特点
简洁的语言:C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
具有结构化的控制语句:C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。