c语言输入两行
⑴ c语言中输入两行数据,怎么写
#include<stdio.h>
#include<malloc.h>
intmain()
{
inti,n,*p;
scanf("%d",&n);
p=(int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
scanf("%4d",&p[i]);
}
printf("您输入的数据有: ");
for(i=0;i<n;i++)
{
printf("%-4d",p[i]);
}
printf(" ");
return0;
}
⑵ c语言运行时怎么分两行输入一按回车换行就直接运行了
其实非常简单,你在读入的时候使用scanf("%d\n%d", &a, &b)读入两个数时加一个“\n”
⑶ C语言中输入数据有2行,第一行为n,第二行是n个整数。
格式化输入数据使用stdio.h中提供的scanf函数就可以。原型:
intscanf(constchar*format,...);
scanf() 是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
对于这n个整数,如果规模比较大的话,可以使用malloc申请堆空间来存储。malloc函数在stdlib.h中声明,它只有一个参数:要申请的空间大小,申请成功返回指向这块空间的指针,失败返回NULL。
代码如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intn,i;
int*arr;
scanf("%d",&n);
arr=malloc(sizeof(int)*n);
for(i=0;i<n;i++)
scanf("%d",arr+i);
free(arr);
return0;
}
⑷ 如何输入两行数字,用C语言,请会的大师帮帮忙!谢谢!
/*说明:$代表回车
不知道你们老师是不是这样要求
我的这个程序有点问题的,如果这么输入
1#4#9#16#9#7#4#9#11$
11#7#9#16#4#1$
是没有问题的
但是如果这样输入(你的样例输入就是这样)
1#4#9#16#9#7#4#9#11#$
11#7#9#16#4#1#$
我的程序就出错了
如果真的是上面那样,就要用gets()读取一行,再提取行中数组,
具体方法请看我写的另一个程序
http://..com/question/7641809.html
*/
#include <stdio.h>
int main()
{
int a[100],b[100]={0},length=0,i,cur,have=0;
char symbol=' ';
while(1)
{
scanf("%d",&a[length]);
for(i=0;i<length;++i)if(a[i]==a[length])
{
--length;
break;
}
++length;
symbol=getchar();
if(symbol=='\n') break;
}
while(1)
{
scanf("%d",&cur);
for(i=0;i<length;++i) if(cur==a[i]) b[i]=1;
symbol=getchar();
if(symbol=='\n') break;
}
for(i=0;i<length;++i) if(b[i]) have=1,printf("%d ",a[i]);
if(have==0) printf("No Answer");
printf("\n");
return 0;
}
⑸ C语言怎样输入两行数,存入两个数组中
实现方法:
自定义按行读入数组的函数 int reada( int *a, int max)
先读一个数到数组
再读一个字符,
判断是否回车符,是则结束读入,否则,下一步
判断读到的个数是否达到max,达到则结束读入,否则循环到a
循环结束后,清除缓存中的数据
返回读到的整数个数
定义两个数组
调用该函数reada去分别读取两个数组
参考代码:
#include<stdio.h>
intreada(int*a,intmax)
{
charch=0;
inti;
for(i=0;i<max;i++)
{
scanf("%d",&a[i]);
ch=getchar();
if(ch==' '){
i++;
break;
}
}
while(ch!=' ')ch=getchar();
returni;
}
voidmain()
{
inta[5],b[5];
intm,n,i;
m=reada(a,5);
n=reada(b,5);
for(i=0;i<m;i++)
printf("%d",a[i]);
printf(" ");
for(i=0;i<n;i++)
printf("%d",b[i]);
}
⑹ C语言里怎么设置两行输入
char username[50], password[50];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
⑺ c语言 输入多行数据
#include <iostream>
#include <list>
using namespace std;
int main()
{
int a,b;
list<int> l;
while (scanf("%d%d",&a,&b)!=EOF)
{
l.push_back(a+b);
}
while (!l.empty())
{
cout<<l.front()<<endl;
l.pop_front();
}
}
需要用到list保存结果,因为n未知大小所以用list更合适。
如果是想以比较方便的方式输入数据,可以考虑把多行的数据存在文本文件中,每次使用这些数据的时候,可以直接从这个文件里面读取。
如果编译后生成的可执行文件名为a.exe,存放数据的文件为b.txt(和a.exe放在同一文件夹下),则再控制台(命令行提示符状态)输入: a < b.txt 即可。 其中的小于号<,就是输入重定向符号。
(7)c语言输入两行扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
⑻ c语言中输入两行怎么表示
两次gets即可.
charbuf[1024]="";
gets(buf);
buf[strlen(buf)]=' ';
gets(buf+strlen(buf));
buf[strlen(buf)]=' ';
将两个换行也还原回去了.
⑼ c语言如何实现两行输入
如果要 ,那么得输入两个回车。如果没有 ,输入一次之后第二个没输入就结束。
#include<stdio.h>
int main()
{
char c1,c2;
printf("Is the first numberan int (y/n)? ");
scanf("%c",&c1);
printf("Is the second number int (y/n)? ");
scanf("%c",&c2);
scanf("%c",&c2);
}
因为scanf把输入的回车也输入了一次,所以中间再读一下,把回车读掉。
(9)c语言输入两行扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
⑽ c语言编程:怎样输入两行文字,取每一行的最后一个文字输出
#include<stdio.h> int main(void) { int n, i=1, j, a; char c; printf("Please input: "); scanf("%c,%d",&c,&n); for(i=1;i<n;i++) { for(a=1;a<=n-i-1;a++) { printf(" "); } for(j=1;j<=2*i-1;j++) { printf("%c",c); } printf("\n"); } if(i==n) { for(j=1;j<=n-2;j++) { printf(" "); } printf("%c\n",c); } }