【发布时间】:2021-09-02 21:25:37
【问题描述】:
我刚开始学习 C 语言,我编写了这个程序,它按降序打印数组的元素,然后按降序打印同一数组的 2 位元素。现在我想打印该数组的元素,除了那些包含数字 5 的元素。这是我制作的程序:
#include<stdio.h>
#include<conio.h>
int main(void)
{
int array[20] = {2,5,1,3,4,10,30,50,40,20,70,90,80,60,100,150,130,110,120,140};
printf("original array:\n");
for(int i=0;i<20;i++)
{
printf("%i\n", array[i]);
}
// To sort elements of array in descending order
int i,j,temp;
for(i=0;i<20;i++)
{
for(j=i+1;j<20;j++)
{
if(array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
// Now to print the sorted array
printf("arranged array in descending order:\n");
for(int x = 19;x>=0;x--)
{
printf("%i\n", array[x]);
}
// To print only 2-digit elements of the array
printf("following are only 2-digit elements of array in descending order:\n");
for(int k = 19;k>=0;k--)
{
if(array[k]>9 && array[k]<100)
{
printf("%i\n", array[k]);
}
}
}
我应该制定什么逻辑以便只打印包含“5”的元素? 在此先感谢:)
【问题讨论】:
-
检查一个数字是否包含等于5的数字有什么问题?
-
@VladfromMoscow 我只是不知道怎么做。正如我所说,我刚开始学习 C。我搜索但找不到它。
-
请阿卜杜拉编辑代码并尽量使其可读性更好。