C语言,输入n个值在一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,输入n个值在一行相关的知识,希望对你有一定的参考价值。
要求第一行输入需要的整数个数n;
第二行输入n个整数,数与数之间用空格隔开;
例如:
Iuput:
4
12 32 25 12
请教如何用c语言实现?
补充一下,n个整数必须是以空格隔开的形式‘输入’,不能像下面这样输入:
4
12
32
25
12
n个整数是输入在一行,不是说让它输出在一行
因为scanf输入以回车符为结束,所以下面的几个答案不符合要求
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&num);
看看这个要的不:你输入个数时敲回车,输入数时敲空格
#include<stdio.h>
main()
int i,n,num[100];
scanf("%d",&n);
for(i=0;i<n&&num[i]!='\0';i++)
scanf("%d",&num[i]);
for(i=0;i<n;i++)
printf("%d ",num[i]);
参考技术A #include <stdio.h>
#define MAX_NUM 30
void main()
int array[MAX_NUM];
int count = 0;
printf("请输入数的个数: ");
scanf("%d", &count);
printf("\n");
printf("请输入每个数: \n");
for(int i=0; i<count; i++)
scanf("%d", &array[i]);
printf("\n你所输入的数是: ");
for(i=0; i<count; i++)
printf(" %d ", array[i]);
printf("\n");
参考技术B int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
c语言输入一行字符将此字符串中最长的单词输出
这函数 我怎么没见过 是c语言吗
#include <iostream>void main()
int word(char c);
int longest(char str[]);
int i;
char str[80];
printf("输入一行字符串\\n\\n");
gets(str);
printf("\\n\\n最长的单词为:\\n\\n");
for(i=longest(str);word(str[i]);i++)
printf("%c",str[i]);
printf("\\n");
int word(char c)
if((c>=\'a\'&&c<=\'z\')||(c>=\'A\'&&c<=\'Z\')) return 1;
else return 0;
int longest(char str[])【这个函数几乎完全看不懂 望逐句详细解释其逻辑】
int i,flag=1,len=0,point,max_len=0,max_point;
for(i=0;i<=strlen(str);i++)//解析每个字符
if(word(str[i])) //是英文字母的话
if(flag==1) //成立的话说明这个英文字母是单词的第一个
point=i; //单词第一个找到后改变标志
flag=0;
else len++; //开始对这个单词长度进行累加
else //非英文字母的话
flag=1; //等待第一个英文字母的出现,所以flag=1(要是下一个是英文字母的话就能执行上面的if)
if(len>max_len)//之前累加的单词长度是否比上一个单词更长(第一次的话max_len初始化为0,len必大于max_len)
max_len=len;//将单词长度保存下来
max_point=point;//将最长单词的第一个英文字母在字符串中的位置保存下来
len=0;
return (max_point);
参考技术A #include <string>
#include <iostream>
using namespace std;
int main()
string s, t;
while (cin >> s)
if (s.size() > t.size()) t = s;
cout << t << endl;
return 0;
以上是关于C语言,输入n个值在一行的主要内容,如果未能解决你的问题,请参考以下文章