c - 从标准输入读取整数到数组
问题描述
我目前正在开发一个程序,该程序通过使用 seq 从标准输入读取整数到数组。然后它在排序后找到中位数。但是,我在程序的一个部分遇到了困难。
序列 2 | ./中位数
使用上述输入的输出提供以下内容(1-4 是数组大小的计数器,10 是 argarray[0]):
1 2 3 4 10. 中位数为 29
void stdinreading(FILE *in)
{
int temparray[1000];
int c;
int size=0;
int middle;
while ((c = getc(in)) != EOF)
{
temparray[size] = c;
size++;
printf("%d\n", size);
}
int argarray[size];
for(int i=0;i<size;i++) argarray[i]=temparray[i];
qsort(argarray,size,sizeof(int),sortingarr);
if(size%2==0) middle = (argarray[(size-1)/2]+argarray[size/2])/2;
else middle = argarray[size/2];
printf("%2d" , argarray[0]);
printf("\nThe median is");
printf("%2d\n" , middle);
}
解决方案
推荐阅读
- asp.net-mvc - 使用字符串调用实体框架中的表
- javascript - 追加和清空大型列表时的性能
- react-native - React Native - 全局 BackHandler 行为取决于注册时间
- docker - 为什么 ENTRYPOINT [“bash”] 时 docker 容器退出?
- r - PCA 加载情节组织?
- sql-server-2016 - Dapper 动态参数
- lua - LUA:在嵌套表中添加值
- xml - 如何使用 Haskell 生成 XML?
- python - 尝试在 Python Pandas 中实现 join / vlookup(更新)
- c# - 可以进一步改进此代码以连接地址吗?