数据统计问题:从键盘输入一批任意数量的正整数,统计其中不大于100的数值个数
程序代码如下:
#include <stdio.h>
#define N 10
void change(int arr[],int a, int b)
{
int tmp = arr[a];
arr[a] = arr[b];
arr[b] = tmp;
}
void OldToEven(int arr[], int length)
{
int i = 0;
int j = length - 1;
int tmp = 0;
while (i < j)
{
while ((i < j) && (arr[i] % 2 == 1))
{
i++;
}
while ((i < j) && (arr[j] % 2 == 0))
{
j--;
}
if (i != j)
{
change(arr,i,j);
}
}
}
int main()
{
int arr[N] = {1,2,5,8,0,3,7,6,4,9};
int i = 0;
printf("请输入一组整数:\n");
for (i = 0; i < N; i++)
{
scanf("%d", &arr[i]);
}
OldToEven(arr,N);
for (i = 0; i < N; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
程序运行结果如下:
# 从键盘输入任意数量的正整数,并统计其中不大于100的数值个数
count = 0 # 统计不大于100的数值个数
nums = [] # 存储输入的数值列表
while True:
num = input("请输入正整数,输入q结束:")
if num == 'q':
break
elif not num.isdigit():
print("输入有误,请重新输入!")
continue
num = int(num)
nums.append(num)
if num <= 100:
count += 1
print("输入的正整数为:", nums)
print("其中不大于100的数值个数为:", count)