需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入C语言代码:printf("%d", sizeof(ARRAY) / sizeof(int))。
3、编译器运行test.cpp文件,此时成功求出了数组的长度是4。
判断:数组中的元素,若前一个元素数值 大于下一个元素数值,则 是 错误的排列;否则,就是正确的排列(即 下一个数大于等于 前一个数)。
假定数组 有 n 个元素,数组元素数值 已知,程序如下:
#include <stdio.h>
int main(){
int a[10]={1,2,3,4,5,6,7,8,9,-10}
int i
int flag=0,n=10 // n是元素个数,flag 是 数组元素顺序是否正确的标志
for (i=0i<n-1i++){
if (a[i]>a[i+1]){ flag=1break} //顺序有错时标志设1,退出循环
}
if (flag==0) printf("Right order !\n")
else printf("Wrong order !\n")
return 0
}
大概看了下需求,楼主stA[6]中保存了等待显示的字符,stB[6]用来保存要显示的数字,table[]中存储了对应数字的转换方式,分为0-9共10个数字.楼主的问题是如何将stA[6]转换成Int类型数字,然后将table[]中的数值赋值给stB[],最后进行显示.
那么先来讲下如何转换成int,stA[]中定义的成员是int类型,所以这些元素对应的数值其实是ASCII表中的数值,那么查看ASCII表可以知道,'0'对应的数值是48,比如'1' - 48 就等于1,所以这个时候再到table中去取值,就能得到你需要的东西了,用一个循环就能解决,如下:
for (i = 0i <6++i){
stB[i] = table[stA[i] - 48]
}