标签:min 实现转置 情况 数据类型 数组 效率比较 提交 除法 技术
定义整型变量a储存输入的区位码 定义整型变量b,c分别储存区码跟位码
输入区位码并储存于a中
c=a%10+(a/10%10)10;//取出a的每位数并分别存入b,c中
b=a/100%10+(a/1000%10)10;
putchar(160+b);//输出
putchar(160+c);
本题遇到主要是没有读清题意区位码没有一次输入导致答案错误
int n,i=1; n用来储存范围,i是循环数
输入n
while(i<n){//当i小于n时依次输出i
printf("%d ",i);
i++;}
i=n
当 i大于0时依次输出i
当i=1时去掉空格
由于i=1时没有去空格导致格式错误
int n,m,result=0;//n,m用来储存要计算的数 result用来储存运算结果
char ch;//用来储存运算符
执行一个循环来进行计算 输入等号时循环结束
if(ch==‘/‘&&m==0||ch!=‘+‘&&ch!=‘-‘&&ch!=‘*‘&&ch!=‘/‘){//如果除法分母为0或有非法运算符,则输出错误信息“ERROR”
判断运算符并进行计算
n=result;//运算完后令n= result
输出结果
本题遇到的主要问题是一次运算后没有让运算数n=result来储存结果,通过调试解决。
定义整型数组并对其进行初始化 例如 int a[2]={1,2};
在内存中的储存结构是线性的 而且是依次排列的 数组名是第一个元素的地址 。
节省内存,而且使用数组会让程序变的简单,而且避免了定义多个变量的麻烦。
(1)选择法排序
1.定义整型变量i,min,k,n,temp
2.定义数组a[10]
3.输入整数n
4.令i=0
5.当i<n时,输入数,i++
6.将输入的数依次存给数组a的n个元素
7.当k=0;k<n-1,用min来存放最小值
8.判断数组a中元素与a[min]大小
9.如果a[i]<a[min],min=i,最小元素与下标为k的元素交换
10.temp=a[min];
11.a[min]=a[k];
12.a[k]=temp;
13.输出排序后的数
(2)冒泡法排序
1.定义数组a[n]
2.定义整型变量i,j,temp,n
3.令i=0
4.当i满足<=n-1时
5.输入数a[n]
6.使i++
7.将这组数据依次赋值给a[n]
8.判断相邻俩个数据,如果a[j]>a[j+1],进行交换
9.temp=a[j]
10.a[j]=a[j+1]
11.a[j+1]=temp
12.进行q-i次该步骤,可进行排序
(3)直接插入法排序
1.定义数组a[n]
2.定义整型变量i,j,k,min
3.i=0;
4.满足i<=n-1时
5.输入数a[n].
6.i=0;
7.min表示最小值
8.判断数据a[j]和min的大小
9.如果min<a[j],a[j]=min
10.通过a[k+1]=a[k]将数据逐渐移动
11.重复n-1次进行排序
对于长度为n的有序数组,用二分法的思想,逐步拆分成在很小数组内找解
我认为顺序查找法效率比较低而二分法查找的话比较快
跟一维数组一样直接定义数据类型的数组
(1)在定义时可以直接赋值来初始化
(2)在定义后可以为其元素一个个来赋值
例如int a[2][2]= { { 1, 2}, { 5, 6 } };
定义两个数组分别用来储存转置前与转置后的矩阵分别将两个数组的行下标与列下标互换即可实现转置
下三角i<=j 上三角i>=j
主要用于描述表结构或者表示方阵与矩阵
对于冒泡排序法,选择排序,插入排序还掌握得不太熟练,对于二分法查找还不是太清楚。
标签:min 实现转置 情况 数据类型 数组 效率比较 提交 除法 技术
原文地址:http://www.cnblogs.com/llg202827372/p/7898696.html