好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 CTLers丶Vk 于 2017-3-24 09:42 编辑
一、九九乘法表:
#include<stdio.h>
int main(){
int x,y,s; //定义三个变量用来储存数值、
for(x=1;x<10;x++){ //初始化x=1、当x<10的时候x自加1、
for(y=1;y<10;y++){ //初始化y=1、当y<10的时候y自加1、
if(x>=y){ //对程序进行优化、使得输出内容更加美观、
s=x*y; //定义s的值为x*y、用来储存乘积、
printf("%d * %d = %-5d",x,y,s); //输出列表、
}
}
printf("\n"); //每循环完一次换行、
}
return 0;
}
二、冒泡排序:
#include<stdio.h>
int main(){
int i,j,t,a[8];
for(i=1;i<9;i++){
scanf("%d",&a);
}
for(i=1;i<9;i++){
for(j=1;j<9;j++){
if(a[j]>a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=1;i<9;i++){
printf("%d\n",a);
}
}
三、杨辉三角:
#include <stdio.h>
int main(){
int i,j,n=0,a[17][17]={0,1};
while(n<1 || n>16){
printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
a[j]=a[i-1][j-1]+a[i-1][j]; /*每个数是上面两数之和*/
printf("%6d",a[j]);
}
printf("\n"); /*输出杨辉三角*/
}
}
暂时写到这里、
因为我对杨辉和冒泡的原理还是有点模糊、所以后续我还会更新的、
当然我是小小白、大神就不要笑我了、
昨天审查的时候发现自己的代码有些地方自己都不太能理解、但是可以正常运行、
我在下面进行修改吧、大神看到我有错误的地方希望能指出、我好改正、谢谢、
冒泡排序(修正版):
#include<stdio.h>
int main(){
int i,j,t,a[8]; //定义三个整数型变量和一个数组变量、
for(i=0;i<8;i++){
scanf("%d",&a); //第一次for循环用于写入数据、每循环一次写入一个、
}
for(j=0;j<8;j++){ //外循环用于控制循环次数、
for(i=0;i<7;i++){ //内存循环用于比较大小、由于最后一个数不需要和谁比较所以少循环一次、
if(a>a[i+1]){ //假如前一个比后一个更大、那么两个数交换位置、
t=a;
a=a[i+1];
a[i+1]=t; //常规交换语句、
}
} /* 上面两个for循环中的变量仅仅是用来控制循环的、与存放数组值的变量i不同、为了更好理解for循环不一定要用i和j、用任意变量如X,Y都是一样的效果*/
}
for(i=0;i<8;i++){ //最后一次循环用于输出结果、每循环一次换行、
printf("%d\n",a);
}
}
杨辉三角(注释版):
#include <stdio.h>
int main(){
int i,j,n,a[17][17]={}; //定义三个整数型变量和一个二维数组、
a[0][0]=1; //并初始化数组第一个数值为1、
while(n<1 || n>16){ //当输入的数16>n>1时、那么跳出循环、
printf("请输入杨辉三角形的行数:"); //提示用户输入层数、
scanf("%d",&n); //输入n的值、
}
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
a[j]=a[i-1][j-1]+a[i-1][j]; /*每个数是上面两数之和*/
printf("%6d",a[j]); /*输出杨辉三角*/
}
printf("\n"); //每循环一次换行、
}
}
据说二级能把这三个for循环吃透基本能过、我还没考我也不知道是真是假- -
只是一个借鉴、能多学一些自然是好的、 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|