C 输入 很急,在线等。

来源:百度知道 编辑:UC知道 时间:2024/05/05 11:47:59
我想问这样一个问题,就是比如3 2 3 1,就是说第一个3就是说明后面有3个数, 然后输入三个小于100的数,怎么读入。用SCANF行吗?

很急。
我知道了,上面的问题不用回答了。

我还想问问啊, 用gets读入一行,然后取出每一个小于100大于0的数,怎么写好呢??

比较二个超大数怎么用C写。(有正负) 有什么比较好的方法,我用字符串成功了,不过自己不满意。
问一个题

给你n个整数,请按从大到小的顺序输出其中前m大的数。
每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。

5 3
3 -35 92 213 -644

213 92 3

怎么用C做,如果会,讲讲算法思路,有什么简单的方法吗?附上代码 我会再给50分。

我给你发我的代码和解释了,加分啊。

可以。参考下面程序:
#include<stdio.h>
void main()
{
int i,j;
int a[80]; //假设数组长度很大,但不一定用的了。
printf("请确定需要输入几个数?");
scanf("%d",&i); //用变量i来控制输入几个数
for(j=0;j<i;j++)
scanf("%d",&a[j]); //这种输入方法无法判断是否小于100,只能随机输入3个整数,若想判断是否<100需要改写程序。
}

晕 一样的~
你使用空格就好了~
不过这样的话就不能帮你判断是否是小于100了!
我注释掉了一部分代码,你再试试。
在同一行输入!2个数之间用空格空开!
#include<stdio.h>
#include<stdlib.h>

void main()
{
int n;
int *array;

printf("pls input number count...\n");
scanf("%d", &n);
array = (int*)malloc(sizeof(int)*n);
for(int i=0; i<n; i++)
{
//printf("pls input NO.%d number\n", i+1);
//while(1)
//{
scanf("%d", &array[i]);
//if(array[i]<100)
//break;
//printf("invalid number, re