【笔记】二级计算机模拟练习
本帖最后由 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;
for(i=1;i<9;i++){
scanf("%d",&a);
}
for(i=1;i<9;i++){
for(j=1;j<9;j++){
if(a>a){
int t=a;
a=a;
a=t;
}
}
}
for(i=1;i<9;i++){
printf("%d\n",a);
}
}
三、杨辉三角:
#include <stdio.h>
int main(){
int i,j,n=0,a={0,1};
while(n<1 || n>16){
printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
a=a+a; /*每个数是上面两数之和*/
printf("%6d",a);
}
printf("\n"); /*输出杨辉三角*/
}
}
暂时写到这里、
因为我对杨辉和冒泡的原理还是有点模糊、所以后续我还会更新的、
当然我是小小白、大神就不要笑我了、
昨天审查的时候发现自己的代码有些地方自己都不太能理解、但是可以正常运行、
我在下面进行修改吧、大神看到我有错误的地方希望能指出、我好改正、谢谢、
冒泡排序(修正版):
#include<stdio.h>
int main(){
int i,j,t,a; //定义三个整数型变量和一个数组变量、
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){ //假如前一个比后一个更大、那么两个数交换位置、
t=a;
a=a;
a=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={}; //定义三个整数型变量和一个二维数组、
a=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=a+a; /*每个数是上面两数之和*/
printf("%6d",a); /*输出杨辉三角*/
}
printf("\n"); //每循环一次换行、
}
}
据说二级能把这三个for循环吃透基本能过、我还没考我也不知道是真是假- -
只是一个借鉴、能多学一些自然是好的、 我们似乎也要考二级了 kutamy 发表于 2017-4-12 08:59
而机会靠这个吗??
你是问二级会不会考这个是吗、我不清楚、但是for循环是肯定会考的、这里只是点明方向 都是基础的东西吧 从基础做起,变成大神 缘来流年 发表于 2017-3-22 21:59
我们似乎也要考二级了
共同进步 感谢分享! 我也是要考二级c了 感觉过不了 不错不错 谢谢 world313 发表于 2017-3-23 02:19
不错不错 谢谢
不客气、