int output_2(char *ch,char *leter,char *character,int length) { int j = 0; int i; char leter_all[400]; for(int i = 0; i < length; i++) { if(leter[i] != '0') { leter_all[j] = leter[i]; j++; } } for(int i = 0; i < j; i++) { for(int z = 0; z < j - i - 1; z++) { if(leter_all[z] > leter_all[z+1]) { char temp = leter_all[z]; leter_all[z] = leter_all[z+1]; leter_all[z+1] = temp; } } } int cnt = 0; for(i = 0; i < j -1; i++) { if(leter_all[i] == leter_all[i+1]) { cnt++; continue; } printf("%c ",leter_all[i]); } printf("%c",leter_all[i]); printf("\n"); return j - cnt; }翻译
时间: 2024-02-14 21:35:22 浏览: 51
leterA(3).rar_Begin Here
这是一个名为 output_2() 的函数,它接受四个参数,分别是一个字符数组 ch、一个字符数组 leter、一个字符数组 character 和一个整型变量 length。该函数用于输出真值表的列数,并返回真值表的列数(去重后的变量数)。
在函数中,程序首先定义一个整型变量 j,用于记录变量数。接着,程序使用 for 循环遍历字符数组 leter,如果某个字符不为 '0',则将其存储到一个新的字符数组 leter_all 中,并将 j 加 1。
接下来,程序使用冒泡排序对数组 leter_all 进行排序。排序完成后,程序使用 for 循环遍历 leter_all 数组,并使用 if 语句判断相邻的两个元素是否相同。如果相同,则将一个计数器 cnt 加 1,并跳过当前循环。否则,程序使用 printf() 函数输出该字符和一个空格。最后再输出最后一个字符和一个换行符。
函数返回 j 减去计数器 cnt,即为真值表的列数(去重后的变量数)。
阅读全文