
32222dffac7e
1.png
32222dffac7e
2.png
2.通过调式分析来判断程序的运行原理
32222dffac7e
3.png
32222dffac7e
4.png
分析过程:
一、外层循环i=1,内层循环j=1
同时输入当for i=1与for j=1时候,输出*
当条件判断j=i=1时候,跳出内层的嵌套循环
二、外层循环i=2,内层循环j=1,2
同时输入当for i=2,for j=1时候,输出*
当条件判断i!=j时候,输出######
输入当for j=2时候,输出*
此时j=i=2,跳出内层循环
三、外层循环i=3,内层循环j=1,2,3
同时输入当for i=3,for j=1时候,输出*
当条件判断i!=j时候,输出######
输入当for j=2时候,输出*
当条件判断i!=j时候,输出######
输入当for j=3时候,输出*
此时j=i=3,跳出内层循环
四、外层循环i=4,内层循环j=1,2,3,4
同时输入当for i=4,for j=1时候,输出*
当条件判断i!=j时候,输出######
输入当for j=2时候,输出*
当条件判断i!=j时候,输出######
输入当for j=3时候,输出*
当条件判断i!=j时候,输出######
输入当for j=4时候,输出*
此时j=i=4,跳出内层循环
输出直角的倒三角形for((i=$1i>0i--))
do
for((j=1j<=ij++))
do
echo -n "* "
done
echo
done
输出结果
* * * * *
* * * *
* * *
* *
*
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 if1=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、/*编程打印直角杨辉三角形*/ 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")}
}
这些程序都是经典的,而且很简单,希望对你有帮助,10个我写不下去,因为字数限制,还有一点就是,gcc是编译器,一般是在LINUX平台,实质上C语言的话代码是和WINDOWS没区别的,只是有些库函数的调用有区别,一般在LINUX平台写完一个源代码是.c文件,在GCC中通过命令行输入gcc xx.c就可以生产可执行文件了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)